On Tue, Dec 11, 2001 at 11:21:07PM -0600, Brian wrote: > On Wed, 12 Dec 2001, Thomas Eibner wrote: > > > Did you get it yet or do people want me to post it here? > > I think people want it posted (I do at least). That script kicks serious > ass. #!/usr/bin/perl -w use strict; use GD::Graph::lines; use POSIX qw(strftime); my $data_file = 'plot-data'; my $output_file = '/tmp/hest.png'; # end of configurable part my %messages = (); open(FH, "$data_file") or die $!; while (<FH>) { chomp; my ($time, $count) = split /:\s+/; $messages{$time} = $count; } close(FH); my @keys = sort keys %messages; my @values = (); foreach my $key (@keys) { push @values, $messages{$key}; } @keys = map { strftime("%d %b", localtime($_)) } @keys; my $graph = new GD::Graph::lines(400,300); $graph->set( x_label => 'Time', y_label => 'Count', title => "Number of lkl-messages that need to be injected. Generated: " . scalar localtime(), box_axis => 0, line_width => 2, x_label_position => 1, y_label_position => 1, x_label_skip => 24, transparent => 0 ); $graph->set_legend("Messages waiting to be injected"); $graph->plot([\@keys, \@values]); save_chart($graph); sub save_chart { my $chart = shift or die "Need a chart!"; open(FH, ">$output_file") or die $!; binmode FH; print FH $chart->gd->png(); close(FH); # Uncomment this to make it into a CGI script: # # my $ext = $chart->export_format; # print qq{Content-Type: image/$ext\r\n\r\n}; # binmode STDOUT; # print STDOUT $chart->gd->$ext(); } __END__ Script just reads in the file Bob exports from mailman with timestamp: messages timestamp: messages -- Thomas Eibner <http://thomas.eibner.dk/> DnsZone <http://dnszone.org/> mod_pointer <http://stderr.net/mod_pointer>