Telemetry Visualization Canned Plots Notes
In 2016, the foundation for creating user-friendly (web-based) graphical presentation for HDF5 telemetry using Dygraphs and Google graphs was completed. In 2017, additional work is anticipated to enhance this information with canned (pre-planned) graphs. This will reduce operator input dependency for specific graphs used daily.
In addition, some assessment of logging content (syslog and component logs) may occur to see if important information is being logged but not included in telemetry. If so, this information will be added to telemetry. Once the canned graphs are created, they will likely be referenced via the status server pages.
Web Page Prototype
We have created a prototype with several canned graphs to illustrate each type of graph since they are graphed with different web pages using our vis tools.
http://telemetry.lbto.org/visualization/canned_plots.html
The web page displays a
png
snapshot file and a link to the call to graph the CSV file with dygraphs:
Script to Generate CSV
There's a cron job running as
web@web
30 14 * * * /web/telemetry/html/visualization/cannedGraphs.sh
It runs
telemToCSV
to create CSV files for the canned graphs. (see
Software/TelemToCSVTool)
They are created with names starting with
lastnight
and put in the
visualization/tmp
directory in
/web/telemetry
This script also calls
plotlastnight.gnp
(see below)
Snapshots
gnuplot
is used to generate a
png
file to be used as the link on the main canned plots page. The script we're using is
/web/telemetry/html/visualization/plotlastnight.gnp
We have version 4.6 of
gnuplot
, here's the manual:
http://gnuplot.info/docs_4.6/gnuplot.pdf
gnuplot
handles our format fine - it interprets the time correctly and ignores the first two lines that are units/column names. We just have to make sure to use the command:
set datafile separator ','
For testing, it's easy to run
gnuplot
interactively, and this can be done on the
tuc-shell64
machine as yourself:
gnuplot
gnuplot> cd '/web/telemetry/html/visualization/tmp'
gnuplot> set datafile separator ','
gnuplot> set title 'Last Night Seeing'
gnuplot> set xdata time
gnuplot> set xlabel 'UTC'
gnuplot> set grid
gnuplot> set key off
gnuplot> set style data points
gnuplot> plot 'seeing20170105.csv' using 0:2 linetype rgb 'forest-green'
gnuplot> reset
To Do
- Find out the list of canned graphs we need and add to the three places (CSV script, gnuplot script, web page)
- Make the png snapshots nice - fonts/titles/points/colors/etc.
- We need to make the CSV generation script smart enough to know when there's no data for a night, so it can
- create a "blank" png for each type, to copy into the snapshot
- create an empty CSV so that graph.html doesn't fail?
- Bug in graph2.html, if there are not two columns, it fails -
telemToCSV
provides a CSV file of just the one field if the other requested stream didn't have data.