Time graphs can now show individual data intervals
This commit is contained in:
parent
8485fcb35c
commit
71fc6dfb9e
@ -5,7 +5,6 @@
|
|||||||
|
|
||||||
# arg 1: path to file with the raw data
|
# arg 1: path to file with the raw data
|
||||||
# arg 2: path to file to save the graph in (.png will be appended)
|
# arg 2: path to file to save the graph in (.png will be appended)
|
||||||
# arg 3: optional title to show on the graph
|
|
||||||
|
|
||||||
gnuplot << EOF
|
gnuplot << EOF
|
||||||
set datafile separator ","
|
set datafile separator ","
|
||||||
@ -15,7 +14,6 @@ set boxwidth 0.75
|
|||||||
set style fill solid
|
set style fill solid
|
||||||
set grid
|
set grid
|
||||||
unset key
|
unset key
|
||||||
set title "$3" # If a second arg was supplied we show it as a title too
|
|
||||||
set terminal png size 800,200 transparent truecolor
|
set terminal png size 800,200 transparent truecolor
|
||||||
set output "$2.png"
|
set output "$2.png"
|
||||||
|
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
# arg 1: path to file with the raw data
|
# arg 1: path to file with the raw data
|
||||||
# arg 2: path to file to save the graph in (.png will be appended)
|
# arg 2: path to file to save the graph in (.png will be appended)
|
||||||
# arg 3: optional title to show on the graph
|
# arg 3: periodic sampling of data, see http://gnuplot.info/docs_4.2/node121.html
|
||||||
|
|
||||||
gnuplot << EOF
|
gnuplot << EOF
|
||||||
set datafile separator ","
|
set datafile separator ","
|
||||||
@ -13,13 +13,10 @@ set xdata time
|
|||||||
set timefmt "%s" #time format of input data
|
set timefmt "%s" #time format of input data
|
||||||
|
|
||||||
set style data lines
|
set style data lines
|
||||||
set style line 1 linewidth 2
|
|
||||||
set grid
|
set grid
|
||||||
set ytics 0, 10
|
|
||||||
unset key
|
unset key
|
||||||
set title "$3" # If a second arg was supplied we show it as a title too
|
|
||||||
set terminal png size 800,200 transparent truecolor
|
set terminal png size 800,200 transparent truecolor
|
||||||
set output "$2.png"
|
set output "$2.png"
|
||||||
|
|
||||||
plot "$1" every 4 using 1:2 ls 1
|
plot "$1" every $3 using 1:2 linewidth 2
|
||||||
EOF
|
EOF
|
||||||
|
|||||||
@ -9,6 +9,7 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
"strconv"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
_ "github.com/mattn/go-sqlite3"
|
_ "github.com/mattn/go-sqlite3"
|
||||||
@ -52,8 +53,9 @@ func main() {
|
|||||||
for rows.Next() {
|
for rows.Next() {
|
||||||
err := rows.Scan(&id, &title)
|
err := rows.Scan(&id, &title)
|
||||||
checkerror(err)
|
checkerror(err)
|
||||||
createtimegraph(db, "week-time-", id, title, LAST_WEEK)
|
// stats are updated 4 times per hour, so: 2 = 30 min, 24 = 6 hours
|
||||||
createtimegraph(db, "month-time-", id, title, LAST_MONTH)
|
createtimegraph(db, "week-time-", id, title, LAST_WEEK, 4)
|
||||||
|
createtimegraph(db, "month-time-", id, title, LAST_MONTH, 24)
|
||||||
createweekdaygraph(db, "month-avg_day-", id, title, LAST_MONTH)
|
createweekdaygraph(db, "month-avg_day-", id, title, LAST_MONTH)
|
||||||
}
|
}
|
||||||
err = rows.Err()
|
err = rows.Err()
|
||||||
@ -80,7 +82,7 @@ func setuptemppaths(prefix string, title string) (f *os.File, name string, path
|
|||||||
return file, file.Name(), path
|
return file, file.Name(), path
|
||||||
}
|
}
|
||||||
|
|
||||||
func createtimegraph(db *sql.DB, prefix string, id int, title string, period time.Time) {
|
func createtimegraph(db *sql.DB, prefix string, id int, title string, period time.Time, every int) {
|
||||||
ifile, ifilename, ofilename := setuptemppaths(prefix, title)
|
ifile, ifilename, ofilename := setuptemppaths(prefix, title)
|
||||||
defer ifile.Close()
|
defer ifile.Close()
|
||||||
|
|
||||||
@ -103,7 +105,7 @@ func createtimegraph(db *sql.DB, prefix string, id int, title string, period tim
|
|||||||
checkerror(err)
|
checkerror(err)
|
||||||
|
|
||||||
// run the plotter against the data file
|
// run the plotter against the data file
|
||||||
err = exec.Command("./plot_time.sh", ifilename, ofilename).Run()
|
err = exec.Command("./plot_time.sh", ifilename, ofilename, strconv.Itoa(every)).Run()
|
||||||
checkerror(err)
|
checkerror(err)
|
||||||
|
|
||||||
// close and remove the tmp file
|
// close and remove the tmp file
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user