Mailing list statistics and graphs

Mike McCormack mike at codeweavers.com
Sun Jan 16 21:12:05 CST 2005


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
-------------- next part --------------
#!/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",$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;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: winestat.png
Type: image/png
Size: 3561 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-devel/attachments/20050117/2bfb50cd/winestat.png


More information about the wine-devel mailing list