diff options
Diffstat (limited to 'tools/ping-graph.pl')
-rwxr-xr-x | tools/ping-graph.pl | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/tools/ping-graph.pl b/tools/ping-graph.pl deleted file mode 100755 index 2cd6996..0000000 --- a/tools/ping-graph.pl +++ /dev/null @@ -1,62 +0,0 @@ -#! /usr/bin/perl - -# Makes latency-against-time graphs, one per switch. - -use warnings; -use strict; -use DBI; -use lib '../include'; -use nms; - -BEGIN { - require "../include/config.pm"; - eval { - require "../include/config.local.pm"; - }; -} - -my $dbh = db_connect(); -my $switches = $dbh->selectall_hashref('SELECT sysname,switch FROM switches ORDER BY sysname', 'sysname'); -if (1) { - my %switchfds = (); - while (my ($sysname, $switch) = each %$switches) { - print "$sysname -> $switch->{switch}\n"; - open my $fh, ">", "$sysname.txt" - or die "$sysname.txt: $!"; - $switchfds{$switch->{'switch'}} = $fh; - } - - my $q = $dbh->prepare('SELECT switch,EXTRACT(EPOCH FROM updated),latency_ms FROM ping'); - $q->execute; - - my $i = 0; - while (my $ref = $q->fetchrow_arrayref) { - next if (!defined($ref->[2])); - my $fh = $switchfds{$ref->[0]}; - next if (!defined($fh)); - print $fh $ref->[1], " ", $ref->[2], "\n"; - if (++$i % 1000000 == 0) { - printf "%dM records...\n", int($i / 1000000); - } - } - - while (my ($sysname, $switch) = each %$switches) { - close $switchfds{$switch->{'switch'}}; - } -} - -while (my ($sysname, $switch) = each %$switches) { - print "$sysname -> $switch->{switch}\n"; - open my $gnuplot, "|-", "gnuplot" - or die "gnuplot: $!"; - print $gnuplot <<"EOF"; -set timefmt "%s" -set xdata time -set format x "%d/%m %H:%M" -set term png size 1280,720 -set output '$sysname.png' -set yrange [0:200] -plot "$sysname.txt" using (int(\$1)):2 ps 0.1 -EOF - close $gnuplot; -} |