From a798128abda047f25c42a37fd5486fff9acffcb9 Mon Sep 17 00:00:00 2001 From: schneefux Date: Sat, 17 Jun 2017 19:02:21 +0200 Subject: first version --- .gitignore | 1 + connection_end_over_time.plt | 14 ++++++++++++++ cron.sh | 40 ++++++++++++++++++++++++++++++++++++++++ errors_over_time.plt | 10 ++++++++++ index.html | 10 ++++++++++ 5 files changed, 75 insertions(+) create mode 100644 .gitignore create mode 100644 connection_end_over_time.plt create mode 100644 cron.sh create mode 100644 errors_over_time.plt create mode 100644 index.html diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8fce603 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +data/ diff --git a/connection_end_over_time.plt b/connection_end_over_time.plt new file mode 100644 index 0000000..1620572 --- /dev/null +++ b/connection_end_over_time.plt @@ -0,0 +1,14 @@ +set title "API /matches response times" +set timefmt "%Y-%m-%dT%H:%M:%SZ"; +set xdata time; +set ylabel "response time in ms"; +set yrange [ 60:1000 ]; + +set datafile separator ", "; + +set terminal png noenhanced; +set key autotitle columnhead; +set output outputfile; +plot inputfile using "date":"connection_end_min" with lines, \ + inputfile using "date":"connection_end_mean" with lines, \ + inputfile using "date":"connection_end_max" with lines; diff --git a/cron.sh b/cron.sh new file mode 100644 index 0000000..109c55f --- /dev/null +++ b/cron.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +DATA=$(dirname "$0")/data +LOGS="/home/timo/vainsocial/logs/logs/pm2" +mkdir -p $DATA || exit 0 + +PF=$DATA/apigrabber_processed # progress file +touch $PF $PF.csv +find $LOGS -name "apigrabber-out*__????-??-??_??-??-??.log"\ + | sort\ + | comm -13 $PF - \ + | tee -a $PF \ + | xargs grep -h "connection_end"\ + | sed -E 's_^(.*?) - .*? API response _date=\1, _g' \ + | mlr --fs ", " \ + --ocsv \ + put '$date = sec2gmt(gmt2sec($date) // (60*60*3) * (60*60*3));' \ + then cut -f date,connection_end \ + then stats1 -a min,mean,max -f connection_end -g date \ + >> $PF.csv + +gnuplot -e "inputfile='$PF.csv'; outputfile='$PF.png';" connection_end_over_time.plt + + +PF=$DATA/apigrabber_error_processed # progress file +touch $PF $PF.csv +find $LOGS -name "apigrabber-error*__????-??-??_??-??-??.log"\ + | sort\ + | comm -13 $PF - \ + | tee -a $PF \ + | xargs grep -h " API error "\ + | sed -E 's_^(.*?) - .*? API error _date=\1, _g' \ + | mlr --fs ", " \ + --ocsv \ + put '$date = sec2gmt(gmt2sec($date) // (60*60*3) * (60*60*3));' \ + then cut -f date \ + then stats1 -a count -f date -g date \ + >> $PF.csv + +gnuplot -e "inputfile='$PF.csv'; outputfile='$PF.png';" errors_over_time.plt diff --git a/errors_over_time.plt b/errors_over_time.plt new file mode 100644 index 0000000..1e6dbe3 --- /dev/null +++ b/errors_over_time.plt @@ -0,0 +1,10 @@ +set title "API /matches errors" +set timefmt "%Y-%m-%dT%H:%M:%SZ"; +set xdata time; + +set datafile separator ", "; + +set terminal png noenhanced; +set key autotitle columnhead; +set output outputfile; +plot inputfile using "date":"date_count" with lines; diff --git a/index.html b/index.html new file mode 100644 index 0000000..979ca66 --- /dev/null +++ b/index.html @@ -0,0 +1,10 @@ + + + + VainSocial status + + + + + + -- cgit v1.3.1