diff options
author | Kristian Lyngstol <kly@kly.no> | 2016-02-26 13:05:31 +0000 |
---|---|---|
committer | Kristian Lyngstol <kly@kly.no> | 2016-02-26 13:05:31 +0000 |
commit | 885156ee6a26ed047bba3f90541eaab92b65d758 (patch) | |
tree | e8a70cd6bca09641efac0c64c4c20d27efab2bda /tools/ping-graph.pl | |
parent | c6997a4810e09619e9018c91d163f3f38b17212c (diff) | |
parent | 3dae75bde90aecc0cef2e3496f3565dcb3eeec0c (diff) |
Merge branch 'master' of github.com:tech-server/tgmanage
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; -} |