Fellow bean counters!
On the weekend I wrote a quick script to generate a graph of the number of patches committed to the Wine CVS per month. The script and the graph it generates are attached.
Anybody think it would be interesting to have a page of similar graphs on WineHQ somewhere that's regenerated once a month? Some ideas:
patches committed to winehq per month patches sent to wine-patches per month unique patch authors vs. months lines of code committed per month lines of code sent per month ...
Mike Dept of Time Wasting and (Mostly) Useless Statistics
#!/usr/bin/perl # filename : winestat.pl # author : Mike McCormack # # A script to generate a graph with the number of patches against Wine per month.
use strict;
sub make_stat($) { my $month=$_[0]; my $winepatches=0; my $appdbpatches=0; my $lostwagespatches=0; my $cmd = sprintf("wget -q -O - http://www.winehq.org/hypermail/wine-cvs/%d.%02d.txt%22,$month/12 + 2001,$month%12+1);
#print "$cmd\n"; open(IN,"$cmd|") || die "failed to run wget\n"; while(<IN>) { #print $_; if ( s/^Subject: *// ) { #print $_; if ( /^wine/ ) { $winepatches++; } elsif ( /^lostwages/ ) { $lostwagespatches++; } elsif ( /^appdb/ ) { $appdbpatches++; } else { #print "unknown module $_\n"; } } } printf(OUT "%d %3d %3d %3d\n", $month, $winepatches, $lostwagespatches, $appdbpatches); close IN; }
my $month;
open(OUT, ">stat"); for($month=1; $month<=(12*4+1); $month++) { make_stat($month); } close OUT;
# <mike_m> it'd be nice to figure out how to get the x axis to display the date nicely # <papineau> set xdata time open (GNUPLOT, "|gnuplot"); print GNUPLOT "set title "Wine patches"\n"; print GNUPLOT "set xlabel "Months"\n"; print GNUPLOT "set ylabel "Number"\n"; print GNUPLOT "set term png xffffff x000000 x404040 x0000c0 xffa500 x66cdaa xcdb5cd\n"; print GNUPLOT "set boxwidth 0.3\n"; print GNUPLOT "set output "winestat.png"\n"; print GNUPLOT "plot "stat" using 1:2 title "Wine" w boxes fs solid 1\n"; #print GNUPLOT "plot "stat" using 1:2 title "Wine" w boxes fs solid 1, \\n"; #print GNUPLOT " "stat" using 1:3 title "Appdb" w boxes fs solid 2, \\n"; #print GNUPLOT " "stat" using 1:4 title "LostWages" w boxes fs solid 3 \n"; close GNUPLOT;