From: Steinar H. Gunderson Date: Fri, 22 Jul 2016 22:41:26 +0000 (+0200) Subject: Add latency statistics to the Munin plugin. X-Git-Tag: 1.3.1~1 X-Git-Url: https://git.sesse.net/?p=cubemap;a=commitdiff_plain;h=ee87623ba2bfd6060cf643b254fefa6f7d2e73f4 Add latency statistics to the Munin plugin. --- diff --git a/munin/cubemap_input b/munin/cubemap_input index 21b453d..36ac0b4 100755 --- a/munin/cubemap_input +++ b/munin/cubemap_input @@ -4,28 +4,46 @@ use strict; use warnings; use Munin::Plugin; +need_multigraph(); + my $input_stats_filename = $ENV{"cubemap_input_stats"} // "/var/lib/cubemap/cubemap-input.stats"; my $mode = $ARGV[0] // "print"; if ($mode eq 'config') { + print "multigraph cubemap_input\n"; print "graph_title Cubemap inputs\n"; print "graph_category network\n"; print "graph_vlabel bits/sec\n"; + + print "multigraph cubemap_input_latency\n"; + print "graph_title Cubemap input latency\n"; + print "graph_category network\n"; + print "graph_vlabel ms\n"; } open my $stats, "<", $input_stats_filename or die "$input_stats_filename: $!"; while (<$stats>) { chomp; - my ($url, $bytes_received, $data_bytes_received, $connection_time) = - /^(\S+) (\d+) (\d+) (-|\d+)/ or die "Invalid stats format"; + my ($url, $bytes_received, $data_bytes_received, $connection_time, $metadata_bytes_received, $latency) = + /^(\S+) (\d+) (\d+) (-|\d+) (\d+) (-|\d+\.\d+)/ or die "Invalid stats format"; my $stream_name = stream_name($url); if ($mode eq 'config') { + print "multigraph cubemap_input\n"; print "${stream_name}.label Data input bitrate of $url\n"; print "${stream_name}.type DERIVE\n"; print "${stream_name}.min 0\n"; + print "multigraph cubemap_input_latency\n"; + print "${stream_name}.label Encoder-to-reflector latency $url (seconds)\n"; + print "${stream_name}.type GAUGE\n"; + print "${stream_name}.min 0\n"; } else { + print "multigraph cubemap_input\n"; printf "${stream_name}.value %d\n", $data_bytes_received * 8; + if ($latency ne '-') { + print "multigraph cubemap_input_latency\n"; + printf "${stream_name}.value %f\n", $latency * 1000; + } } } close $stats;