7 Коммиты 7d58cf83f0 ... eaf8ff519a

Автор SHA1 Сообщение Дата
  Arne Babenhauserheide eaf8ff519a three paragraphs 2 лет назад
  Arne Babenhauserheide 2331d3aef8 give size info before the diagrams 2 лет назад
  Arne Babenhauserheide badeb0546d show 60 minutes, too, where applicable 2 лет назад
  Arne Babenhauserheide 2a5da95619 month → mo. 2 лет назад
  Arne Babenhauserheide c9e99c9d6f add lines that show 2 weeks and 3 months 2 лет назад
  Arne Babenhauserheide d45da9f14a refactor image list: extract p img 2 лет назад
  Arne Babenhauserheide 1367b71c4e fetchpull: lifetime plots first 2 лет назад
2 измененных файлов с 31 добавлено и 27 удалено
  1. 11 11
      fetchpull-plot.gnuplot
  2. 20 16
      fetchpull.w

+ 11 - 11
fetchpull-plot.gnuplot

@@ -27,24 +27,24 @@ set cblabel "days since upload"
 set title "fetchpull: requests"
 set title "fetchpull: requests"
 set term png size 800,600
 set term png size 800,600
 set output "fetchpull-get-realtime.png"
 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"
+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"
 replot
 replot
 set output "fetchpull-get-small.png"
 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"
+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"
 replot
 replot
 set output "fetchpull-get-bulk.png"
 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"
+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"
 replot
 replot
 set title "fetchpull: failed requests"
 set title "fetchpull: failed requests"
 set term png size 800,600
 set term png size 800,600
 set output "fetchpull-get-failed-realtime.png"
 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"
+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"
 replot
 replot
 set output "fetchpull-get-failed-small.png"
 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"
+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"
 replot
 replot
 set output "fetchpull-get-failed-bulk.png"
 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"
+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"
 replot
 replot
 # plot inserts
 # plot inserts
 set output "fetchpull-put.png"
 set output "fetchpull-put.png"
@@ -52,7 +52,7 @@ set title "fetchpull: inserts"
 set ylabel "time to upload (seconds)"
 set ylabel "time to upload (seconds)"
 set xlabel "upload date"
 set xlabel "upload date"
 set cblabel "days until download"
 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"
+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"
 replot
 replot
 # plot inserts
 # plot inserts
 set output "fetchpull-put-failed.png"
 set output "fetchpull-put-failed.png"
@@ -60,7 +60,7 @@ set title "fetchpull: failed inserts"
 set ylabel "time to upload (seconds)"
 set ylabel "time to upload (seconds)"
 set xlabel "upload date"
 set xlabel "upload date"
 set cblabel "days until download"
 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"
+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"
 replot
 replot
 # plot max age of requests
 # plot max age of requests
 unset cbtics
 unset cbtics
@@ -117,11 +117,11 @@ set timefmt "%Y-%m"
 set format x "%Y-%m"
 set format x "%Y-%m"
 
 
 set output "fetchpull-lifetime-realtime-success-count.png"
 set output "fetchpull-lifetime-realtime-success-count.png"
-plot "<(grep 'realtime;#t' fetchpull-stats-get.csv | sed 's/-..;/;/;s/;[^;]+//;s/;[^;]*//;s/;[^;]*//;s/;/ /g' | sort | uniq -c)" using 2:3:1 palette lw 4 title "realtime succeeded"
+plot "<(grep 'realtime;#t' fetchpull-stats-get.csv | sed 's/-..;/;/;s/;[^;]+//;s/;[^;]*//;s/;[^;]*//;s/;/ /g' | sort | uniq -c)" using 2:3:1 palette lw 4 title "realtime succeeded", 14 title "2 weeks" at begin  lw 2 lc "#aaaaaa", 90 title "3 mo." at begin lw 2 lc "#cccccc"
 set output "fetchpull-lifetime-small-success-count.png"
 set output "fetchpull-lifetime-small-success-count.png"
-plot "<(grep 'small;#t' fetchpull-stats-get.csv | sed 's/-..;/;/;s/;[^;]+//;s/;[^;]*//;s/;[^;]*//;s/;/ /g' | sort | uniq -c)" using 2:3:1 palette lw 4 title "small succeeded"
+plot "<(grep 'small;#t' fetchpull-stats-get.csv | sed 's/-..;/;/;s/;[^;]+//;s/;[^;]*//;s/;[^;]*//;s/;/ /g' | sort | uniq -c)" using 2:3:1 palette lw 4 title "small succeeded", 14 title "2 weeks" at begin  lw 2 lc "#aaaaaa", 90 title "3 mo." at begin lw 2 lc "#cccccc"
 set output "fetchpull-lifetime-bulk-success-count.png"
 set output "fetchpull-lifetime-bulk-success-count.png"
-plot "<(grep 'bulk;#t' fetchpull-stats-get.csv | sed 's/-..;/;/;s/;[^;]+//;s/;[^;]*//;s/;[^;]*//;s/;/ /g' | sort | uniq -c)" using 2:3:1 palette lw 4 title "bulk succeeded"
+plot "<(grep 'bulk;#t' fetchpull-stats-get.csv | sed 's/-..;/;/;s/;[^;]+//;s/;[^;]*//;s/;[^;]*//;s/;/ /g' | sort | uniq -c)" using 2:3:1 palette lw 4 title "bulk succeeded", 14 title "2 weeks" at begin  lw 2 lc "#aaaaaa", 90 title "3 mo." at begin lw 2 lc "#cccccc"
 
 
 replot
 replot
 quit
 quit

+ 20 - 16
fetchpull.w

@@ -395,7 +395,7 @@ define : discarding-processor message
 
 
 define : help args
 define : help args
     format : current-output-port
     format : current-output-port
-           . "~a [-i] [--help | --version | --test | YYYY-mm-dd]
+           . "~a [-i] [--help | --version | --test | --site [target-folder] | YYYY-mm-dd]
 
 
 Options:
 Options:
         -i    load the script and run an interactive REPL."
         -i    load the script and run an interactive REPL."
@@ -799,21 +799,25 @@ define : website-content port
            head : meta : @ (charset "utf-8")
            head : meta : @ (charset "utf-8")
                   title ,title
                   title ,title
            body : h1 ,title
            body : h1 ,title
-             p "These are the fetch-pull statistics. They provide an estimate of lifetimes of real files in Freenet and a somewhat early warning when network quality should degrade. Details are explained below the diagrams."
-             p : img : @ (src "fetchpull-get-realtime.png") (alt "fetch-pull realtime download graph")
-             p : img : @ (src "fetchpull-get-small.png") (alt "fetch-pull small download graph")
-             p : img : @ (src "fetchpull-get-bulk.png") (alt "fetch-pull bulk download graph")
-             p : img : @ (src "fetchpull-get-failed-realtime.png") (alt "fetch-pull failed realtime download graph")
-             p : img : @ (src "fetchpull-get-failed-small.png") (alt "fetch-pull failed small download graph")
-             p : img : @ (src "fetchpull-get-failed-bulk.png") (alt "fetch-pull failed bulk download graph")
-             p : img : @ (src "fetchpull-put.png") (alt "fetch-pull upload graph")
-             p : img : @ (src "fetchpull-put-failed.png") (alt "fetch-pull failed upload graph")
-             p : img : @ (src "fetchpull-lifetime-realtime.png") (alt "lifetime plot: time per download, realtime")
-             p : img : @ (src "fetchpull-lifetime-small.png") (alt "lifetime plot: time per download, small bulk")
-             p : img : @ (src "fetchpull-lifetime-bulk.png") (alt "lifetime plot: time per download, large bulk")
-             p : img : @ (src "fetchpull-lifetime-realtime-success-count.png") (alt "lifetime plot: successes per month, realtime")
-             p : img : @ (src "fetchpull-lifetime-small-success-count.png") (alt "lifetime plot: successes per month, small bulk")
-             p : img : @ (src "fetchpull-lifetime-bulk-success-count.png") (alt "lifetime plot: successes per month, large bulk")
+             p "These are the fetch-pull statistics. They provide an estimate of lifetimes of real files in Freenet and a somewhat early warning when network quality should degrade."
+             p "Realtime are 80 bytes. Small are 128 kiB. Bulk is 1MiB."
+             p "Further details are explained below the diagrams."
+             ,@ map : λ (attributes) : ` p : img ,attributes
+               '
+                 @ (src "fetchpull-lifetime-realtime-success-count.png") (alt "lifetime plot: successes per month, realtime")
+                 @ (src "fetchpull-lifetime-small-success-count.png") (alt "lifetime plot: successes per month, small bulk")
+                 @ (src "fetchpull-lifetime-bulk-success-count.png") (alt "lifetime plot: successes per month, large bulk")
+                 @ (src "fetchpull-get-realtime.png") (alt "fetch-pull realtime download graph")
+                 @ (src "fetchpull-get-small.png") (alt "fetch-pull small download graph")
+                 @ (src "fetchpull-get-bulk.png") (alt "fetch-pull bulk download graph")
+                 @ (src "fetchpull-get-failed-realtime.png") (alt "fetch-pull failed realtime download graph")
+                 @ (src "fetchpull-get-failed-small.png") (alt "fetch-pull failed small download graph")
+                 @ (src "fetchpull-get-failed-bulk.png") (alt "fetch-pull failed bulk download graph")
+                 @ (src "fetchpull-put.png") (alt "fetch-pull upload graph")
+                 @ (src "fetchpull-put-failed.png") (alt "fetch-pull failed upload graph")
+                 @ (src "fetchpull-lifetime-realtime.png") (alt "lifetime plot: time per download, realtime")
+                 @ (src "fetchpull-lifetime-small.png") (alt "lifetime plot: time per download, small bulk")
+                 @ (src "fetchpull-lifetime-bulk.png") (alt "lifetime plot: time per download, large bulk")
              h2 "explanation"
              h2 "explanation"
              p "Files uploaded regularly with the download attempted after some delay. 
              p "Files uploaded regularly with the download attempted after some delay. 
 Realtime is uploaded with realtime priority, small and bulk with bulk priority. 
 Realtime is uploaded with realtime priority, small and bulk with bulk priority.