allegro / tipboard Goto Github PK
View Code? Open in Web Editor NEWTipboard - in-house, tasty, local dashboarding system
Home Page: http://allegro.github.io/tipboard/
License: Other
Tipboard - in-house, tasty, local dashboarding system
Home Page: http://allegro.github.io/tipboard/
License: Other
It's impossible to change for example TIPBOARD_JAVASCRIPTS in ~/.tipboard/settings-local.py.
Now you need to change it in tipboard source settings (https://github.com/allegro/tipboard/blob/develop/tipboard/settings.py).
Check also other settings.. .
Hi guy,
I am creating a tile to include in Tipboard highchart. I do not really know how to include the script in Tipboard hightchars.js. I would appreciate your help
Hi Everyone, I am going to be honest...I love the idea of learning python but I've got a project at work that is needing this software - and I've got very little experience with python, environments - I'm typically comfortable in PHP, javascript, HTML, CSS...I am trying to learn as fast as I can but I was wondering if I can ask a couple stupid questions:
What I've done so far: I can run tipboard just fine. The dashboard comes up great.
My project using tipboard: connect to a Cisco ISE API, filter/parse xml results, and push it to the tiles in tipboard.
Can someone point me in the direction on how to automatically have tipboard query the API for realtime numbers? I don't even know where to put my commands and/or python scripts. I did try to learn from the documentation. I'm sorry - I just learn slow.
Can tipboard startup automatically without me having to log in to the machine it's installed on?
I would honestly include my sad python script to query the API in python - but currently, it only works if I do a curl command in terminal. The curl request works wonderfully using the tipboard API...i just don't know how to make that call automatically...cronjob? Or, does tipboard have it's own way?
I'll stop here...thank you for your time.
I wonder if Centos works fine
Hi,
I'm hoping you can help me with the folllowing: For a collaborative tipboard-based project I'm trying to set up a Vagrant box (debian based) with Ansible.
- name: Install pip libraries
pip:
name: "{{ item }}"
with_items:
- tipboard
When running vagrant provision
I get the following error:
"item": "tipboard",
"msg": "stdout: Collecting tipboard\n Using cached tipboard-1.4.1.tar.gz\nCollecting mock==1.0.1 (from tipboard)\n Using cached mock-1.0.1.zip\nCollecting PyYAML==3.10 (from tipboard)\n Using cached PyYAML-3.10.tar.gz\nCollecting redis==2.7.5 (from tipboard)\n Using cached redis-2.7.5.tar.gz\nCollecting requests==1.2.3 (from tipboard)\n Using cached requests-1.2.3.tar.gz\n Complete output from command python setup.py egg_info:\n Traceback (most recent call last):\n File \"<string>\", line 1, in <module>\n File \"/tmp/pip-build-kBU_Al/requests/setup.py\", line 6, in <module>\n import requests\n File \"requests/__init__.py\", line 53, in <module>\n from requests.packages.urllib3.contrib import pyopenssl\n File \"requests/packages/urllib3/contrib/pyopenssl.py\", line 42, in <module>\n ssl.PROTOCOL_SSLv3: OpenSSL.SSL.SSLv3_METHOD,\n AttributeError: 'module' object has no attribute 'PROTOCOL_SSLv3'\n \n ----------------------------------------\n\n:stderr: Command \"python setup.py egg_info\" failed with error code 1 in /tmp/pip-build-kBU_Al/requests/\n"
}
It seems there's an issue with requests 1.2.3 perhaps in combination with other packages in the box?
Pushing color update to simple_percentage isn't updating in any browser for me. Not sure if it's just me but was hoping someone else could try.
Per the documentation this is how i'm pushing colors for now.
curl http://localhost:7272/api/v0.1/api_key/tileconfig/<tile_id>
-X POST -d 'value={"big_value_color": "green", "fading_background": true}'
I return tile's config updated however no color change.
Hello,
I am trying to install tipboard but I am getting the following:
(tb-env) uat-user@prod-dashboard-01:/tb$ tipboard create_project my_test_dashboard
Traceback (most recent call last):
File "/home/uat-user/tb/tb-env/bin/tipboard", line 5, in
from tipboard.console import main
File "/home/uat-user/tb/tb-env/lib/python3.8/site-packages/tipboard/console.py", line 48, in
from tipboard import version, settings
File "/home/uat-user/tb/tb-env/lib/python3.8/site-packages/tipboard/settings.py", line 56, in
execfile(
NameError: name 'execfile' is not defined
(tb-env) uat-user@prod-dashboard-01:~/tb$ x
I have a pie_chart
with a configured timeout of 300. After 5 minutes this widget goes to "Tile's data EXPIRED".
However, when the data feed for this tile is back it only removes the expiry warning and adds the title back in. The pie chart does not show up until the page has been refreshed.
Hi! Giving a try... ;)
Wthats wrong with me?
lufa@lufa-work:~$ http POST http://192.168.0.116:8080/api/v0.1/8caa55c1688e48c28cdf1f8a5e88bd1f/push tile=text key=id_1 data={"text":"Hello World"}
HTTP/1.1 404 Not Found
Content-Length: 69
Content-Type: text/html; charset=UTF-8
Date: Fri, 25 Sep 2015 12:54:35 GMT
Server: TornadoServer/3.0.1
<html><title>404: Not Found</title><body>404: Not Found</body></html>
Server:
root@vm116:~/.tipboard# tipboard runserver 192.168.0.116 8080
Raven is not configured (logging is disabled). Please see the documentation for more information.
[I 150925 15:55:30 console:145] Following keys already in Redis:
[I 150925 15:55:30 console:160] Listening on port 192.168.0.116:8080...
[I 150925 15:55:31 app:160] Web socket opened.
[I 150925 15:55:31 app:166] Subscribed to telelan:events on Redis.
[I 150925 15:55:31 app:123] Message received: update.
[W 150925 15:55:34 web:1514] 404 POST /api/v0.1/8caa55c1688e48c28cdf1f8a5e88bd1f/push/id_1 (192.168.0.150) 0.54ms
Config:
root@vm116:~/.tipboard# cat layout_config.yaml
details:
page_title: Empty Dashboard
layout:
- row_1_of_2:
- col_1_of_4 flip-time-2:
- tile_template: text
tile_id: id_1
title: text
classes:
- col_1_of_4:
- tile_template: empty
tile_id: empty
title: Empty Tile
classes:
- col_1_of_4:
- tile_template: empty
tile_id: empty
title: Empty Tile
classes:
- col_1_of_4:
- tile_template: empty
tile_id: empty
title: Empty Tile
classes:
- row_1_of_2:
- col_1_of_4:
- tile_template: empty
tile_id: empty
title: Empty Tile
classes:
- col_1_of_4:
- tile_template: empty
tile_id: empty
title: Empty Tile
classes:
- col_1_of_4:
- tile_template: empty
tile_id: empty
title: Empty Tile
classes:
- col_1_of_4:
- tile_template: empty
tile_id: empty
title: Empty Tile
classes:
I am new to tipboard and I find it extremely useful and interesting. I have setup a customized dashboard on AWS instance and it works beautifully. I was wondering if anyone can guide me towards the direction for setting up tipboard on apache, without the need to execute the "tipboard runserver" command to activate the dashboards?
Thank you in advance
Currenlty line chart expects a 2D array, which makes it hard to name the series of data, and colors are assigned depending on the order of series.
If data could be sent in format like this:
data = {
"subtitle": "<subtitle_text">,
"description": "<description_text>",
"series": {"serieA": [<series1>],
"serieB" : [<series2>]}
}
then one could configure tile better:
"series": [
{
"color": "#19f48a",
"label": "serieA"
}
(...)
which should be applied both to legend and to real chart.
I was following the instructions closely, and upon reaching this step got slightly stuck:
(tb-env)$ pip install tipboard
On a Ubuntu 16.04.2 LTS computer, I had to use this version of that command to fix the dependency issue.
(tb-env)$ pip install tipboard --ignore-installed six
I wonder if is possible to have a specific custom layout. for more information check the attached file.
layout.txt
Thanks
Is there a way to specify a custom location for the Redis server? I'm trying to use an external Redis server, so it's not located at localhost: 6379
.
I have read through the entire docs at http://tipboard.readthedocs.org/en/latest/ several times and it is making me feel very dumb. I have got my layout set (i used the default) I set the first tile template to "text" and gave it a title. I go through the documentation and eventually i come across the page with info on the "text" template, but no where can I find WHERE to input or HOW to input any of that data. I see NO lines in either config file (the yaml layout or the general settings), there is no instruction on WHERE something like the curl example would go. I am new to dashboards and even API's in general but I was hoping that there would be some ACTUAL EXAMPLES where they show you the file that needs to be edited and an example of HOW they edited it or where to put any data.
At this point I have the dashboard installed, and I can edit the layout and edit the tile_template, tile_id, title, and classes (though there is no indication as to what this does) fields but there is no understandable documentation that tells me where to input the DATA for that tile.
Please someone help :(
EDIT: I am not very smart at all....in the end I realized that I needed to push from somewhere to the tipboard. I tried running the curl command in the "text" template example and had no idea what "mykey" was (i used my api key, but that means its in the curl command twice, once in the url and once as a parameter). it turned out that key = the tile id (not too intuitive naming if you ask me). the tile= i guess is for type? I left this as "text" and its working ish now...
I will just keep at it and hopefully figure it out, but I came to tipboard because of its advertised ease of use, and unfortuantely disappointed to find out that its not for beginners at all. I am someone who has had great success setting up and managing my home servers and now I want to create a dashboard for them, but I have little to no API knowledge and while i Know its not oyur responsibility to assist, i think bridging the gap between what the user ALREADY NEEDS and how to give that to tipboard properly could be documented a bit better.....idk
I am unsure as to whether this is a problem with the API framwork or the Layout framework.
Each time I attempt to submit and API request, using the "tile ID" which is specified in the layout.yaml file.
I receive the response of "Key does not exist" when it very clearly does.
Example of API Request:
DELETE http://localhost:7272/api/v0.1/api/tiledata/tile01
Returns
Status Code: 404 Not Found
Content-Length: 27
Content-Type: text/html; charset=UTF-8
Date: Fri, 03 Oct 2014 17:50:39 GMT
Server: TornadoServer/3.0.1
tile01 key does not exist.
details:
page_title: GM - Dashboard
layout:
- row_1_of_1:
- col_1_of_1:
- tile_template: bar_chart
tile_id: gross_margin
title: Gross Margin (quarterly)
Produces this error
Uncaught Error: Target dimension not set
whereas this works:
layout:
- row_2_of_2:
pointLabels conflicts (?) with MeterGauge - it doesn't contain "_xaxis" and throws an exception:
"this[ax]._ticks[0] is undefined"
around line 283 in jqplot.pointLabels.js
Simply commenting out js from list in settings.py "repairs" MeterGauge, but probably break some other renderers.
Installation went fine and all the default functionality is working.
The trouble starts when I tried to create my own layout_config.yaml and send data to my tiles.
The tiles are visible when browsing to http://serverIP:7272/ but attempts to send data or configuration to the tiles results in HTTP 404: Not Found. Indeed it does appear that there are NO keys in redis, as shown by:
(tb-env) [pylabs@rdu-vs-abe .tipboard]$ redis-cli
127.0.0.1:6379> KEYS *
(empty list or set)
127.0.0.1:6379>
Based on reading various sources it seems the keys for tiles should be created on initial data POSTing (push), correct? If my assumption is not correct, please clarify when are the database entries for the tiles created?
Any suggestions on why I have no keys? Troubleshooting tips are sparse in the docs. Any additional tip are appreciated.
Here is my layout, which is mostly based on the default. Just some renaming of elements and title.
(tb-env) [pylabs@my_server .tipboard]$ cat layout_config.yaml
details:
page_title: System Statistics Dashboard
layout:
- row_1_of_2:
- col_1_of_4:
- tile_template: big_value
tile_id: tile1
title: Monitored Systems
- col_1_of_4:
- tile_template: text
tile_id: tile2
title: Text Tile1
classes:
- col_1_of_4:
- tile_template: text
tile_id: tile3
title: Text Tile
classes:
- col_1_of_4:
- tile_template: text
tile_id: tile4
title: Text Tile
classes:
- row_1_of_2:
- col_1_of_4:
- tile_template: text
tile_id: tile5
title: Text Tile
classes:
- col_1_of_4:
- tile_template: text
tile_id: tile6
title: Text Tile
classes:
- col_1_of_4:
- tile_template: text
tile_id: tile7
title: Text Tile
classes:
- col_1_of_4:
- tile_template: text
tile_id: tile8
title: Text Tile
classes:
(tb-env) [pylabs@
Here are my local settings:
(tb-env) [pylabs@rdu-vs-abe .tipboard]$ cat settings-local.py
#!/usr/bin/env python
from future import absolute_import
from future import division
from future import print_function
from future import unicode_literals
PROJECT_NAME = 'soak_dashboard'
API_KEY = '6730c0dd0f334cb483e2a0b0d9f9cdb7'
REDIS_HOST = '0.0.0.0'
HOST = '0.0.0.0'
DEBUG = True
JS_LOG_LEVEL = 2
Here is a sample POST:
http://my_server:7272/api/v0.1/6730c0dd0f334cb483e2a0b0d9f9cdb7/push/?tile=text&key=tile2&data=%7B%22text%22%3A%20%22Hello world!%22%7D
Thanks for your assistance in getting me up and running.
Hi, I'm getting always a 403 error, no matter how I change the syntax,
I've tried:
url = 'http://my_ip:7272/api/v0.1/a8e0e4e8f58f4c0aa4f3e9ef2afc73b2/push'
data_push = 'tile=text, key=id_1, data={"text":"Hello World"}'
r = requests.post(url, data=data_push)
r
print(r.status_code, r.reason)
or
data = 'tile=text&key=id_1&data={"text": "Hello World!"}'
requests.post('http://my_ip:7272/api/v0.1/a8e0e4e8f58f4c0aa4f3e9ef2afc73b2/push', data=data)
print(r.status_code, r.reason)
requests.post('http://my_ip:7272/api/v0.1/a8e0e4e8f58f4c0aa4f3e9ef2afc73b2/push', data={"tile": "text", "key": "id_1", "text": "Hello World!"})
print(r.status_code, r.reason)
The API key is 100% correct and when I visit my_ip:7272
I can see the dashboard working perfectly..
What I'm doing wrong?
Thanks for your help!
HI.
I have a suggestion.
When sellers sell hundreds of items a month it's hard to find comments for just one specific item (auction number).
My suggestion - on a seller comments page add a searchbox to input a desired auction number to limit comments just to this one item.
Regards.
Hi Guys,
We've implemented tipboard behind an SSL reverse proxy, this causes websockets to fail because secure websockets is required.
The fix is actually in the develop branch on this repo but a new version (1.4.3?) would be required to deploy from PyPI.
Is there a chance someone could tag 1.4.3 and push the update into PyPI?
]-[
It would be nice if the dashboard could be auto-refreshed whenever the configuration has changed.
E.g. when a tile is added or removed.
Hi All
I am searching to solve this problem for a long time, without success.
I am using tipboard for few weeks now, it is perfet, easy and efficient !
I know well how to send data using REST from linux, no problem. But I need to send data from a windows 10 pc now. I do not know powershell at all...
I try for example this, but get this result :
$params = @{ Uri = 'http://192.168.28.84:7272/api/v0.1/xxx/push' Body = @{ tile = 'pie_chart'; key = 'tuile2'; data = @{ title = 'BIDULE'; pie_data = @{ Pie1 = 100; Pie2 = 200} } | ConvertTo-Json } Method = 'POST' } Invoke-RestMethod @params
But tipboard log shows this
[D 210225 09:56:19 redis_utils:57] db key: u'snsght:tile:tuile2' set to value: '{"tile_template": "pie_chart", "meta": {}, "data": {"pie_data": {"Pie2": 200, "Pie1": 100}, "title": "BIDULE"}, "modified": "2021-02-25T09:56:19-00:00", "id": "tuile2"}'
I think it should receive something like this
{"pie_data": [["Pie2": 200, "Pie1": 100]], "title": "BIDULE"}
someone here knows windows powershell ?
thanks, best regards
Cyril
Hi,
I have been using Tipboard for the past year. Great Tool!. I have a new requirement from my manager and I would like your help:
Hello,
Tipboard is awensome. I got only one issue and I stuck. Question is how can i display photo in the title with two lines of text below? My goal is to display who is a shift manager so I'd like to have photo, name, and phone below. Unfortunately, I'm not a programmer, so maybe someone has a ready solution that I could implement. Thank you in advance
https://github.com/allegro/tipboard/blob/develop/tipboard/static/js/tipboard.js#L186
It iterates not only on array items, but
I tried with tipboard 1.4.3
curl -s http://localhost:7272/api/v0.1/xxxxxx/tileconfig/xxx -X POST -d 'value={"big_value_color": "green", "fading_background": true}'
It says: Tile's config updated.
But there is no color on big value.
Please help.
Pip installed latest tipboard (1.4.0) and created the following layout
details:
page_title: test
layout:
- row_1_of_2:
- col_1_of_2:
- tile_template: text
tile_id: test1
title: status test 1
classes:
- col_1_of_2:
- tile_template: text
tile_id: test2
title: status test 2
classes:
- row_1_of_2:
- col_1_of_1:
- tile_template: empty
tile_id:
title:
classes:
running the following against that tipboard
curl ${URL}/push -X POST -d "tile=text" -d "key=test1" -d 'data={"text": "green" }'
curl ${URL}/tileconfig/test1 -X POST -d 'value={"font_color": "green" }'
curl ${URL}/push -X POST -d "tile=text" -d "key=test2" -d 'data={"text": "red" }'
curl ${URL}/tileconfig/test2 -X POST -d 'value={"font_color": "red" }'
results in the text in test1 and test2 changing first to green and then to red - rather than the expected result of test1 changing to green and staying green, and only test2 changing to red.
We would like to use Tipboard as a dashboard for the usage of our API, server status and number of records in the database, etc. Tipboard supports a REST interface which works quite nice, but I have to push the complete content of a tile to the API. So I have to keep my own administration of e.g. number of API calls. It would be more convenient to send an update for each new API request and Tipboard would handle calculating the total number of API calls. Redis should be easily capable of handling these amount of data.
The other point is that since my use-case is about our API it would be neat that Tipboard would pull new data from our API, e.g. the total number of API calls, server status, etc. Instead of me writing a cron job to update Tipboard…
Is there any way my use-case can be solved within Tipboard, or is the solution to write my own connector or a layer in between to accumulate the data from our API and push it to Tipboard?
If a value is being updated (via the API), this is just "set".
It would be nice if there could be some graphical effect when this happens.
For instance, a simple_percentage
updates its big_value
from 50 to 80, it would be nice if it would count up until it reaches 80. Same for if it goes down.
Hi, I'm getting several 404 errors for static files when I launch my dashboard:
(venv) CMac:Tipboard_app cosbgn$ tipboard runserver
Raven is not configured (logging is disabled). Please see the documentation for more information.
[I 160506 16:24:13 console:145] Following keys already in Redis:
[I 160506 16:24:13 console:160] Listening on port localhost:7272...
[I 160506 16:24:43 web:1946] 304 GET / (::1) 97.68ms
[W 160506 16:24:44 web:1946] 404 GET /static/css/reset.css (::1) 57.44ms
[W 160506 16:24:44 web:1946] 404 GET /static/css/jquery.jqplot.css (::1) 0.88ms
[W 160506 16:24:44 web:1946] 404 GET /static/css/layout.css (::1) 1.21ms
[W 160506 16:24:44 web:1946] 404 GET /static/js/lib/jquery.js (::1) 1.12ms
[W 160506 16:24:44 web:1946] 404 GET /static/js/flipboard.js (::1) 1.17ms
[W 160506 16:24:45 web:1946] 404 GET /static/js/lib/require.js (::1) 1.12ms
[I 160506 16:24:47 web:1946] 304 GET / (::1) 155.84ms
[W 160506 16:24:47 web:1946] 404 GET /static/css/reset.css (::1) 2.75ms
[W 160506 16:24:47 web:1946] 404 GET /static/css/layout.css (::1) 1.15ms
[W 160506 16:24:47 web:1946] 404 GET /static/css/jquery.jqplot.css (::1) 1.11ms
[W 160506 16:24:47 web:1946] 404 GET /static/js/lib/require.js (::1) 10.83ms
[W 160506 16:24:47 web:1946] 404 GET /static/js/flipboard.js (::1) 1.45ms
[W 160506 16:24:47 web:1946] 404 GET /static/js/lib/jquery.js (::1) 1.42ms
Then when I go on localhost:7272 I see only this white box and not the dashboard, do you know why this happens?
Thanks!
I started to write a client to push data on tipboard, so after looking the different data to send to the tile, I see the same field with a different name on different tile, and I want to know if is just a lack of comprehension or a problem of logic ?
tile | title | description |
---|---|---|
pie_chart | title | N/A |
line_chart | subtitle | description |
cumulative_flow | title | N/A |
simple_percentage | title | subtitle |
bar_chart | title | subtitle |
big_value | title | description |
just_value | title | description |
advanced_plot | title | description |
norm_chart | title | description |
I suppose they too late to change that now ? (for backwards compatibility)
I need disable log file writes. How I can ?
I'm trying to push data to a simple "text" tile using the curl command.
This is erroring out with
AttributeError: 'NoneType' object has no attribute 'write_message'
[E 181022 16:21:44 iostream:319] Uncaught exception, closing connection.
If you need any more information, please let me know.
Hey Team, I'm trying to setup tipboard on a fresh Ubuntu 18.04LTS VPS. I followed the quick start guide and installed via pip. However I'm getting this error when I try and create a new dashboard. Does tipboard work with Python3? Or is this caused by some other issue?
Traceback (most recent call last):
File "/home/greg/virtualenvs/tipboard/bin/tipboard", line 6, in <module>
from tipboard.console import main
File "/home/greg/virtualenvs/tipboard/lib/python3.6/site-packages/tipboard/console.py", line 48, in <module>
from tipboard import __version__, settings
File "/home/greg/virtualenvs/tipboard/lib/python3.6/site-packages/tipboard/settings.py", line 56, in <module>
execfile(
NameError: name 'execfile' is not defined
Hello all!
Is it possible to put COLs before ROWs in config yaml file?
Secondly, how to make somthing like colspan / rowspan (as in html)?
Sorry for using issues on github, did not find any other means of contact.
Searched the docs and found only a short reference to adding a theme in the changelog. No other information. Thanks! :)
I have been working on setting up a flipboard instance, with some success. But the line_chart and norm_chart tiles have been giving me trouble. I have been getting the following error:
Tile aptwxhistP configuration error:
Error
No data specified
I tried running the test suites:
$ tipboard test
Raven is not configured (logging is disabled). Please see the documentation for more information.
test_collecting_tiles_data (test_config_parser.TestConfigFiles) ... ok
test_finding_configs_files (test_config_parser.TestConfigFiles) ... ok
test_get_rows (test_config_parser.TestConfigParser)
simple call of get_rows method and check rows count ... ok
test_get_rows_cols_validator (test_config_parser.TestConfigParser) ... ok
test_01_api_key (test_rest_api.TestRestApi) ... ok
test_02_info_resource (test_rest_api.TestRestApi) ... ok
test_03_push_resource (test_rest_api.TestRestApi) ... ok
test_04_tileconfig_resource_post (test_rest_api.TestRestApi) ... ok
test_05_tiledata_resource_get (test_rest_api.TestRestApi) ... ERROR
test_06_tileconfig_resource_delete (test_rest_api.TestRestApi) ... ok
test_07_tiledata_resource_delete (test_rest_api.TestRestApi) ... ok
test_all_files_created (test_console_commands.TestConfigFiles) ... ok
test_config_contains_api_key (test_console_commands.TestConfigFiles)
check if 'settings-local.py' contains API key ... ok
test_config_contains_project_name (test_console_commands.TestConfigFiles)
check if 'settings-local.py' contains project's name ... ok
test_recreate_project (test_console_commands.TestConfigFiles) ... ok
======================================================================
ERROR: test_05_tiledata_resource_get (test_rest_api.TestRestApi)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/dashboard/tb-env/lib/python2.7/site-packages/tipboard/tests/test_rest_api.py", line 135, in test_05_tiledata_resource_get
'%Y-%m-%d %H:%M:%S')
File "/usr/lib/python2.7/_strptime.py", line 325, in _strptime
(data_string, format))
ValueError: time data '2015-07-18T00:16:27-00:00' does not match format '%Y-%m-%d %H:%M:%S'
----------------------------------------------------------------------
Ran 15 tests in 4.172s
FAILED (errors=1)
If I modify the comparison string in the test_rest_api.py file to include the "T" between the date and time, and re-run the test, I get the following output:
$ tipboard test
Raven is not configured (logging is disabled). Please see the documentation for more information.
test_collecting_tiles_data (test_config_parser.TestConfigFiles) ... ok
test_finding_configs_files (test_config_parser.TestConfigFiles) ... ok
test_get_rows (test_config_parser.TestConfigParser)
simple call of get_rows method and check rows count ... ok
test_get_rows_cols_validator (test_config_parser.TestConfigParser) ... ok
test_01_api_key (test_rest_api.TestRestApi) ... ok
test_02_info_resource (test_rest_api.TestRestApi) ... ok
test_03_push_resource (test_rest_api.TestRestApi) ... ok
test_04_tileconfig_resource_post (test_rest_api.TestRestApi) ... ok
test_05_tiledata_resource_get (test_rest_api.TestRestApi) ... ERROR
test_06_tileconfig_resource_delete (test_rest_api.TestRestApi) ... ok
test_07_tiledata_resource_delete (test_rest_api.TestRestApi) ... ok
test_all_files_created (test_console_commands.TestConfigFiles) ... ok
test_config_contains_api_key (test_console_commands.TestConfigFiles)
check if 'settings-local.py' contains API key ... ok
test_config_contains_project_name (test_console_commands.TestConfigFiles)
check if 'settings-local.py' contains project's name ... ok
test_recreate_project (test_console_commands.TestConfigFiles) ... ok
======================================================================
ERROR: test_05_tiledata_resource_get (test_rest_api.TestRestApi)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/dashboard/tb-env/lib/python2.7/site-packages/tipboard/tests/test_rest_api.py", line 135, in test_05_tiledata_resource_get
'%Y-%m-%dT%H:%M:%S')
File "/usr/lib/python2.7/_strptime.py", line 328, in _strptime
data_string[found.end():])
ValueError: unconverted data remains: -00:00
----------------------------------------------------------------------
Ran 15 tests in 4.116s
FAILED (errors=1)
I am running Tipboard 1.4.0 (installed with pip) on Arch Linux on a Raspberry Pi B (v1). The Redis server is v=3.0.2.
For what is is worth, other tiles (simple_percentage
, text
, fancy_listing
, cumulative_flow
) seem to work fine.
sending data to line chart:
["2014-09-16", 1000], ["2014-09-17", 0], ["2014-09-18", 1000]
draws a horizontal line, ignoring data point for 0
Very minor issue, tipboard seems to function well even with this error happening.
Error message (visible in the Internet Explorer Javascript console):
Unable to get property 'Windows' of undefined or null reference
It occurs at this point:
Reproduces on Internet Explorer 11.1066.14393.0
The jquery.fullscreen.js mentions that its source is http://www.quirksmode.org/js/detect.html, but it is no longer there.
Hello,
i tried to create a new tipboard dashboard with more than 3 rows.
details:
page_title: Test Dashboard DB Modular Cloud
layout:
- row_1_of_4:
- col_1_of_3:
- tile_template: big_value
tile_id: running_ec2s
title: Running EC2
classes:
- col_1_of_3:
- tile_template: big_value
tile_id: stopped_ec2s
title: Stopped EC2
classes:
- col_1_of_3:
- tile_template: big_value
tile_id: failed_ec2s
title: Failed EC2
classes:
- row_1_of_4:
- col_1_of_3:
- tile_template: big_value
tile_id: running_rds
title: Running RDS
classes:
- col_1_of_3:
- tile_template: big_value
tile_id: stopped_rds
title: Stopped RDS
classes:
- col_1_of_3:
- tile_template: big_value
tile_id: failed_rds
title: Failed RDS
classes:
- row_1_of_4:
- col_1_of_2:
- tile_template: big_value
tile_id: running_ssm_agent
title: Running SSM Agents
classes:
- col_1_of_2:
- tile_template: big_value
tile_id: conn_lost_ssm
title: SSM Agents - Connection Lost
classes:
- row_1_of_4:
- col_1_of_2:
- tile_template: big_value
tile_id: 2running_ssm_agent
title: Running SSM Agents
classes:
- col_1_of_2:
- tile_template: big_value
tile_id: 2conn_lost_ssm
title: SSM Agents - Connection Lost
classes:
When i am using 3 rows then everything is fine and the dashboard is being displaying correctly. However when I am using 4 rows as stated above then all I see is a black screen but no tiles are being rendered.
Can you have a closer look at this?
When trying to install tipboard through pip, the following error occurs:
$ pip --no-cache-dir install tipboard
Collecting tipboard
Downloading tipboard-1.4.0.tar.gz (1.5MB)
100% |████████████████████████████████| 1.5MB 6.7MB/s
Complete output from command python setup.py egg_info:
error in tipboard setup command: 'install_requires' must be a string or list of strings containing valid project/version requirement specifiers; Invalid requirement, parse error at "','"
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/js/pip-build-8u8mD0/tipboard/
Python and PIP version:
Python 2.7.12
pip 9.0.1 from /home/js/.virtualenvs/tb-venv/lib/python2.7/site-packages (python 2.7)
The same happens on system-level pip/python as well as on virtualenv level.
If your layout config has a tile_id that is just numbers the yaml loading inturpurts it as an int and fails later when it attempts to concatenate two strings.
details:
page_title: eve_dev_overview
layout:
- row_1_of_1:
- col_1_of_1:
- tile_template: just_value
tile_id: 01
title: Hanna (Phoebe) Staging
[E 141104 11:38:08 web:1121] Uncaught exception GET /eve_dev_overview (10.0.2.2)
HTTPRequest(protocol='http', host='localhost:8080', method='GET', uri='/eve_dev_overview', version='HTTP/1.1', remote_ip='10.0.2.2', body='', headers={'Accept-Language': 'en-US,en;q=0.8', 'Accept-Encoding': 'gzip, deflate, sdch', 'Host': 'localhost:8080', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', 'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2194.2 Safari/537.36', 'Connection': 'keep-alive', 'Cookie': '_pk_id.1.1fff=1c97657ca0dbe4ec.1410793043.8.1414163246.1412801664.', 'Cache-Control': 'max-age=0'})
Traceback (most recent call last):
File "/home/vagrant/tipboard/tb-env/local/lib/python2.7/site-packages/tornado/web.py", line 1077, in _execute
*self.path_args, **self.path_kwargs)
File "/home/vagrant/tipboard/tb-env/local/lib/python2.7/site-packages/tipboard/app.py", line 225, in get
tile_path=_tile_path,
File "/home/vagrant/tipboard/tb-env/local/lib/python2.7/site-packages/tornado/web.py", line 524, in render
html = self.render_string(template_name, **kwargs)
File "/home/vagrant/tipboard/tb-env/local/lib/python2.7/site-packages/tornado/web.py", line 631, in render_string
return t.generate(**namespace)
File "/home/vagrant/tipboard/tb-env/local/lib/python2.7/site-packages/tornado/template.py", line 270, in generate
return execute()
File "layout_html.generated.py", line 95, in _execute
timeout=tile.get('timeout', ''),
File "/home/vagrant/tipboard/tb-env/local/lib/python2.7/site-packages/tornado/web.py", line 1130, in render
rendered = self._active_modules[name].render(*args, **kwargs)
File "/home/vagrant/tipboard/tb-env/local/lib/python2.7/site-packages/tornado/web.py", line 1985, in render
**kwargs)
File "/home/vagrant/tipboard/tb-env/local/lib/python2.7/site-packages/tornado/web.py", line 1940, in render_string
return self.handler.render_string(path, **kwargs)
File "/home/vagrant/tipboard/tb-env/local/lib/python2.7/site-packages/tornado/web.py", line 631, in render_string
return t.generate(**namespace)
File "/home/vagrant/tipboard/tb-env/local/lib/python2.7/site-packages/tornado/template.py", line 270, in generate
return execute()
File "/home/vagrant/tipboard/tb-env/local/lib/python2_7/site-packages/tipboard/tiles/just_value_html.generated.py", line 17, in _execute
_tmp = tile_id + '-title' # /home/vagrant/tipboard/tb-env/local/lib/python2.7/site-packages/tipboard/tiles/just_value.html:6
TypeError: unsupported operand type(s) for +: 'int' and 'str'
Hi, I figured there was no timeout to the redis connexion, and both need to up when tipboard starts, otherwise it'll the crash. Since I am trying to dockerize everything and put that in some swarm, I now have redis and tipboard that start separately in 2 different containers, that start in an unpredictable order, meaning that tipboard won't work if it boots before redis. Would it be possible to configure a timeout for the redis connexion ? That way tipboard could way for a specific amout of time before giving up on booting.
Nice tool btw, props to the team.
python dictionary passed to request.post ->
{
'tile': 'cumulative_flow',
'data': {
'series_list': [
{
'series': [
'701',
'679',
'745',
'742',
'757',
'758',
'707',
'742',
'734',
'730'
],
'label': 'UpdateOperations'
},
{
'series': [
'2013',
'1967',
'1987',
'2049',
'2034',
'2017',
'2015',
'2025',
'2048',
'2004'
],
'label': 'SelectOperations'
}
],
'title': 'MySQLOperations: '
},
'key': 'zcs001a'
}
Uncaught exception POST /api/v0.1/1077920d63574166a6cfd8ca25d5a60f/push (192.168.5.19)
HTTPRequest(protocol='http', host='192.168.99.68:7272', method='POST', uri='/api/v0.1/1077920d63574166a6cfd8ca25d5a60f/push', version='HTTP/1.1', remote_ip='192.168.5.19', body='tile=cumulative_flow&data=series_list&data=title&key=zcs001a', headers={'Content-Length': '60', 'Host': '192.168.99.68:7272', 'Accept-Encoding': 'gzip, deflate', 'Content-Type': 'application/x-www-form-urlencoded', 'Connection': 'keep-alive', 'Accept': '/', 'User-Agent': 'python-requests/2.4.1 CPython/2.7.5 Darwin/13.4.0'})
Traceback (most recent call last):
File "/home/pylabs/tb-env/local/lib/python2.7/site-packages/tornado/web.py", line 1077, in _execute
_self.path_args, *_self.path_kwargs)
File "/home/pylabs/tb-env/local/lib/python2.7/site-packages/tipboard/api.py", line 105, in post
validation_error = self.validate_with_config_files(post_field)
File "/home/pylabs/tb-env/local/lib/python2.7/site-packages/tipboard/api.py", line 62, in validate_with_config_files
tiles_configs = get_tiles_configs()
File "/home/pylabs/tb-env/local/lib/python2.7/site-packages/tipboard/parser.py", line 105, in get_tiles_configs
parsed_config = process_layout_config(config_name)
File "/home/pylabs/tb-env/local/lib/python2.7/site-packages/tipboard/parser.py", line 116, in process_layout_config
config['tiles_names'], config['tiles_keys'] = _find_tiles_names(layout)
File "/home/pylabs/tb-env/local/lib/python2.7/site-packages/tipboard/parser.py", line 59, in _find_tiles_names
for row in _get_rows(layout):
File "/home/pylabs/tb-env/local/lib/python2.7/site-packages/tipboard/parser.py", line 49, in _get_rows
raise WrongSumOfRows('The sum of the lines is incorrect.')
WrongSumOfRows: The sum of the lines is incorrect.
When I attempt to post this data with curl ->
curl http://xxx.xxx.xxx.xxx:7272/api/v0.1//push -X POST -d "tile=cumulative_flow" -d "key=zcs001a" -d 'data={"title":"MySQL Operations","series_list": [{"label":"Update Operations","series":[710, 736, 763, 727, 758, 691, 767, 742, 737, 726]},{"label":"Select Operations","series":[1986,213,4235,3463,4364,664,74,576,74,74]}]}'
I get "WrongSumOfRows: The sum of the lines is incorrect.
[E 141006 14:40:36 web:1514] 500 POST /api/v0.1/107792"
The examples in the documentation for advanced_plot aren't functional for me. It looks like the key for the plot data is wrong in the examples, "plotData" when it should be "plot_data".
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.