|
@@ -2,8 +2,6 @@ set xdata time
|
|
|
set datafile separator ";"
|
|
|
set timefmt "%Y-%m-%d"
|
|
|
set format x "%Y-%m-%d"
|
|
|
-# bee swarm plot disabled, since we now have enough data
|
|
|
-# set jitter over 0.5 spread 0.5
|
|
|
# logarithmic seconds to show both realtime and bulk together
|
|
|
set logscale y
|
|
|
# styling
|
|
@@ -22,29 +20,52 @@ set cbtics add ("64" 7)
|
|
|
set cbtics add ("128" 8)
|
|
|
set cbtics add ("256" 9)
|
|
|
set cbtics add ("512" 10)
|
|
|
-set cblabel "days since upload"
|
|
|
+set cblabel "age / days since upload"
|
|
|
+
|
|
|
+# add jitter for a bee swarm plot to get a better understanding of the data density without needing transparency
|
|
|
+# overlap is vertical binning, spread is horizontal jitter, wrap limits horizontal spread
|
|
|
+set jitter overlap 7 spread 0.02 wrap 1
|
|
|
+
|
|
|
+# moving average, see https://gnuplot.sourceforge.net/demo/running_avg.html and https://stackoverflow.com/a/55935923/7666
|
|
|
+# number of points in average
|
|
|
+n = 64
|
|
|
+array A[n]
|
|
|
+samples(x) = $0 > (n - 1) ? n : int($0+1)
|
|
|
+mod(x) = int(x) % n
|
|
|
+avg_n(x) = (A[mod($0)+1]=x, (sum [i=1:samples($0)] A[i]) / samples($0))
|
|
|
+
|
|
|
# plot requests
|
|
|
set title "fetchpull: requests"
|
|
|
set term png size 800,600
|
|
|
set output "fetchpull-get-realtime.png"
|
|
|
-plot "<(grep realtime\\;\\#t fetchpull-stats-get.csv)" using 1:3:(log((column(4)+1))/log(2)) palette lw 1 title "realtime succeeded", 10 title "10 s" at end lw 2 lc "#aaaaaa", 60 title "1 min" at end lw 2 lc "#aaaaaa", 600 title "10 min" at end lw 2 lc "#cccccc"
|
|
|
+plot "<(grep realtime\\;\\#t fetchpull-stats-get.csv)" using 1:3:(log((column(4)+1))/log(2)) palette lw 1 title "realtime succeeded", 3 title " 3 s" at end lw 2 lc "#cccccc", 10 title "10 s" at end lw 2 lc "#aaaaaa", 60 title "1 min" at end lw 2 lc "#aaaaaa", 300 title "5 min" at end lw 2 lc "#cccccc", \
|
|
|
+ "<(grep \\;1\\;realtime\\;\\#t fetchpull-stats-get.csv)" using 1:(avg_n($3)) title "running mean over previous 64 age 1 points" pt 7 ps 0.5 lw 2 lc rgb "dark-cyan"
|
|
|
replot
|
|
|
set output "fetchpull-get-small.png"
|
|
|
-plot "<(grep small\\;\\#t fetchpull-stats-get.csv)" using 1:3:(log((column(4)+1))/log(2)) palette lw 1 title "small succeeded", 10 title "10 s" at end lw 2 lc "#aaaaaa", 60 title "1 min" at end lw 2 lc "#aaaaaa", 600 title "10 min" at end lw 2 lc "#cccccc"
|
|
|
+plot "<(grep small\\;\\#t fetchpull-stats-get.csv)" using 1:3:(log((column(4)+1))/log(2)) palette lw 1 title "small succeeded", 3 title " 3 s" at end lw 2 lc "#cccccc", 10 title "10 s" at end lw 2 lc "#aaaaaa", 60 title "1 min" at end lw 2 lc "#aaaaaa", 600 title "10 min" at end lw 2 lc "#cccccc", \
|
|
|
+ "<(grep \\;1\\;small\\;\\#t fetchpull-stats-get.csv)" using 1:(avg_n($3)) title "running mean over previous 64 age 1 points" pt 7 ps 0.5 lw 2 lc rgb "dark-cyan"
|
|
|
replot
|
|
|
set output "fetchpull-get-bulk.png"
|
|
|
-plot "<(grep bulk\\;\\#t fetchpull-stats-get.csv)" using 1:3:(log((column(4)+1))/log(2)) palette lw 1 title "bulk succeeded", 10 title "10 s" at end lw 2 lc "#aaaaaa", 60 title "1 min" at end lw 2 lc "#aaaaaa", 600 title "10 min" at end lw 2 lc "#cccccc", 3600 title "60 min" at end lw 2 lc "#dddddd"
|
|
|
+plot "<(grep \\;bulk\\;\\#t fetchpull-stats-get.csv)" using 1:3:(log((column(4)+1))/log(2)) palette lw 1 title "bulk succeeded", 3 title " 3 s" at end lw 2 lc "#cccccc", 10 title "10 s" at end lw 2 lc "#aaaaaa", 60 title "1 min" at end lw 2 lc "#aaaaaa", 600 title "10 min" at end lw 2 lc "#cccccc", 3600 title "60 min" at end lw 2 lc "#dddddd", \
|
|
|
+ "<(grep \\;1\\;bulk\\;\\#t fetchpull-stats-get.csv)" using 1:(avg_n($3)) title "running mean over previous 64 age 1 points" pt 7 ps 0.5 lw 2 lc rgb "dark-cyan"
|
|
|
replot
|
|
|
+
|
|
|
+# failed requests get less jitter
|
|
|
+set jitter overlap 0.5 spread 0.1 wrap 1
|
|
|
+
|
|
|
set title "fetchpull: failed requests"
|
|
|
set term png size 800,600
|
|
|
set output "fetchpull-get-failed-realtime.png"
|
|
|
-plot "<(grep realtime\\;\\#f fetchpull-stats-get.csv)" using 1:(column(3)<20000? column(3) : 1/0):(log((column(4)+1))/log(2)) palette lw 1 pt 4 title "realtime failed", 10 title "10 s" at end lw 2 lc "#aaaaaa", 60 title "1 min" at end lw 2 lc "#aaaaaa", 600 title "10 min" at end lw 2 lc "#cccccc"
|
|
|
+plot "<(grep realtime\\;\\#f fetchpull-stats-get.csv)" using 1:(column(3)<20000? column(3) : 1/0):(log((column(4)+1))/log(2)) palette lw 1 pt 4 title "realtime failed", 3 title " 3 s" at end lw 2 lc "#cccccc", 10 title "10 s" at end lw 2 lc "#aaaaaa", 60 title "1 min" at end lw 2 lc "#aaaaaa", 300 title "5 min" at end lw 2 lc "#cccccc", \
|
|
|
+ "<(grep \\;1\\;realtime\\;\\#f fetchpull-stats-get.csv)" using 1:(avg_n($3)) title "running mean over previous 64 age 1 points" pt 7 ps 0.5 lw 2 lc rgb "dark-cyan"
|
|
|
replot
|
|
|
set output "fetchpull-get-failed-small.png"
|
|
|
-plot "<(grep small\\;\\#f fetchpull-stats-get.csv)" using 1:(column(3)<20000? column(3) : 1/0):(log((column(4)+1))/log(2)) palette lw 1 title "small failed", 10 title "10 s" at end lw 2 lc "#aaaaaa", 60 title "1 min" at end lw 2 lc "#aaaaaa", 600 title "10 min" at end lw 2 lc "#cccccc"
|
|
|
+plot "<(grep small\\;\\#f fetchpull-stats-get.csv)" using 1:(column(3)<20000? column(3) : 1/0):(log((column(4)+1))/log(2)) palette lw 1 title "small failed", 3 title " 3 s" at end lw 2 lc "#cccccc", 10 title "10 s" at end lw 2 lc "#aaaaaa", 60 title "1 min" at end lw 2 lc "#aaaaaa", 600 title "10 min" at end lw 2 lc "#cccccc", \
|
|
|
+ "<(grep \\;1\\;small\\;\\#f fetchpull-stats-get.csv)" using 1:(avg_n($3)) title "running mean over previous 64 age 1 points" pt 7 ps 0.5 lw 2 lc rgb "dark-cyan"
|
|
|
replot
|
|
|
set output "fetchpull-get-failed-bulk.png"
|
|
|
-plot "<(grep bulk\\;\\#f fetchpull-stats-get.csv)" using 1:(column(3)<20000? column(3) : 1/0):(log((column(4)+1))/log(2)) palette lw 1 title "bulk failed", 10 title "10 s" at end lw 2 lc "#aaaaaa", 60 title "1 min" at end lw 2 lc "#aaaaaa", 600 title "10 min" at end lw 2 lc "#cccccc"
|
|
|
+plot "<(grep bulk\\;\\#f fetchpull-stats-get.csv)" using 1:(column(3)<20000? column(3) : 1/0):(log((column(4)+1))/log(2)) palette lw 1 title "bulk failed", 3 title " 3 s" at end lw 2 lc "#cccccc", 10 title "10 s" at end lw 2 lc "#aaaaaa", 60 title "1 min" at end lw 2 lc "#aaaaaa", 600 title "10 min" at end lw 2 lc "#cccccc", \
|
|
|
+ "<(grep \\;1\\;bulk\\;\\#f fetchpull-stats-get.csv)" using 1:(avg_n($3)) title "running mean over previous 64 age 1 points" pt 7 ps 0.5 lw 2 lc rgb "dark-cyan"
|
|
|
replot
|
|
|
# plot inserts
|
|
|
set output "fetchpull-put.png"
|
|
@@ -52,7 +73,10 @@ set title "fetchpull: inserts"
|
|
|
set ylabel "time to upload (seconds)"
|
|
|
set xlabel "upload date"
|
|
|
set cblabel "days until download"
|
|
|
-plot "<(grep realtime\\;\\#t fetchpull-stats-put.csv)" using 1:3:(log((column(4)+1))/log(2)) palette lw 1 title "realtime succeeded", "<(grep small\\;\\#t fetchpull-stats-put.csv)" using 1:3:(log((column(4)+1))/log(2)) palette lw 1 title "small succeeded", "<(grep bulk\\;\\#t fetchpull-stats-put.csv)" using 1:3:(log((column(4)+1))/log(2)) palette lw 1 title "bulk succeeded", 10 title "10 s" at end lw 2 lc "#aaaaaa", 60 title "1 min" at end lw 2 lc "#aaaaaa", 600 title "10 min" at end lw 2 lc "#cccccc", 3600 title "60 min" at end lw 2 lc "#dddddd"
|
|
|
+plot "<(grep realtime\\;\\#t fetchpull-stats-put.csv)" using 1:3:(log((column(4)+1))/log(2)) palette lw 1 title "realtime succeeded", "<(grep small\\;\\#t fetchpull-stats-put.csv)" using 1:3:(log((column(4)+1))/log(2)) palette lw 1 title "small succeeded", "<(grep bulk\\;\\#t fetchpull-stats-put.csv)" using 1:3:(log((column(4)+1))/log(2)) palette lw 1 title "bulk succeeded", 3 title " 3 s" at end lw 2 lc "#cccccc", 10 title "10 s" at end lw 2 lc "#aaaaaa", 60 title "1 min" at end lw 2 lc "#aaaaaa", 600 title "10 min" at end lw 2 lc "#cccccc", 3600 title "60 min" at end lw 2 lc "#dddddd", \
|
|
|
+ "<(grep \\;1\\;realtime\\;\\#t fetchpull-stats-put.csv)" using 1:(avg_n($3)) title "running means, last 64, in 1 day" pt 7 ps 0.5 lw 2 lc rgb "dark-cyan", \
|
|
|
+ "<(grep \\;1\\;small\\;\\#t fetchpull-stats-put.csv)" using 1:(avg_n($3)) title "" pt 7 ps 0.5 lw 2 lc rgb "dark-cyan", \
|
|
|
+ "<(grep \\;1\\;bulk\\;\\#t fetchpull-stats-put.csv)" using 1:(avg_n($3)) title "" pt 7 ps 0.5 lw 2 lc rgb "dark-cyan"
|
|
|
replot
|
|
|
# plot inserts
|
|
|
set output "fetchpull-put-failed.png"
|
|
@@ -60,11 +84,11 @@ set title "fetchpull: failed inserts"
|
|
|
set ylabel "time to upload (seconds)"
|
|
|
set xlabel "upload date"
|
|
|
set cblabel "days until download"
|
|
|
-plot "<(grep realtime\\;\\#f fetchpull-stats-put.csv)" using 1:(column(3)<20000? column(3) : 1/0):(log((column(4)+1))/log(2)) palette lw 1 pt 4 title "realtime failed", "<(grep small\\;\\#f fetchpull-stats-put.csv)" using 1:(column(3)<20000? column(3) : 1/0):(log((column(4)+1))/log(2)) palette lw 1 title "small failed", "<(grep bulk\\;\\#f fetchpull-stats-put.csv)" using 1:(column(3)<20000? column(3) : 1/0):(log((column(4)+1))/log(2)) palette lw 1 title "bulk failed", 10 title "10 s" at end lw 2 lc "#aaaaaa", 60 title "1 min" at end lw 2 lc "#aaaaaa", 600 title "10 min" at end lw 2 lc "#cccccc", 3600 title "60 min" at end lw 2 lc "#dddddd"
|
|
|
+plot "<(grep realtime\\;\\#f fetchpull-stats-put.csv)" using 1:(column(3)<20000? column(3) : 1/0):(log((column(4)+1))/log(2)) palette lw 1 pt 4 title "realtime failed", "<(grep small\\;\\#f fetchpull-stats-put.csv)" using 1:(column(3)<20000? column(3) : 1/0):(log((column(4)+1))/log(2)) palette lw 1 title "small failed", "<(grep bulk\\;\\#f fetchpull-stats-put.csv)" using 1:(column(3)<20000? column(3) : 1/0):(log((column(4)+1))/log(2)) palette lw 1 title "bulk failed", 3 title " 3 s" at end lw 2 lc "#cccccc", 10 title "10 s" at end lw 2 lc "#aaaaaa", 60 title "1 min" at end lw 2 lc "#aaaaaa", 600 title "10 min" at end lw 2 lc "#cccccc", 3600 title "60 min" at end lw 2 lc "#dddddd"
|
|
|
replot
|
|
|
# plot max age of requests
|
|
|
unset cbtics
|
|
|
-set yrange [1:512]
|
|
|
+set yrange [1:1000]
|
|
|
set logscale y
|
|
|
set logscale cb
|
|
|
set cbtics format ""
|
|
@@ -82,7 +106,7 @@ set cbtics add ("512" 512)
|
|
|
set cbtics add ("1024" 1024)
|
|
|
set cbtics add ("2048" 2048)
|
|
|
set cbtics add ("4096" 4096)
|
|
|
-set ylabel "days since upload"
|
|
|
+set ylabel "age / days since upload"
|
|
|
set cblabel "time to download (s)"
|
|
|
set title "fetchpull: lifetime download-time"
|
|
|
set term png size 800,600
|