From: Darold Gilles Date: Wed, 12 Sep 2012 21:18:04 +0000 (+0200) Subject: Fix min/max value in xasis that was always represented 2 days by default. Thanks... X-Git-Tag: v3.2~144 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=89b53d02eac52177509590abce34c61834aa3ff4;p=pgbadger Fix min/max value in xasis that was always represented 2 days by default. Thanks to Casey Allen Shobe for the report --- diff --git a/pgbadger b/pgbadger index 2e2ad11..957663a 100755 --- a/pgbadger +++ b/pgbadger @@ -86,6 +86,10 @@ my $report_title = 'PgBadger: PostgreSQL log analyzer'; my $log_line_prefix = ''; my $compiled_prefix = ''; my $project_url = 'http://dalibo.github.com/pgbadger/'; +my $t_min = 0; +my $t_max = 0; +my $t_min_hour = 0; +my $t_max_hour = 0; my $NUMPROGRESS = 10000; my @DIMENSIONS = (800, 300); @@ -1899,6 +1903,14 @@ sub dump_as_html print $fh "\n"; if ($graph) { + $first_log_date =~ /(\d+)-(\d+)-(\d+) (\d+):(\d+):(\d+)/; + $t_min = timegm_nocheck(0, $5, $4, $3, $2-1, $1) * 1000; + $t_min -= ($avg_minutes*60000); + $t_min_hour = timegm_nocheck(0, 0, $4, $3, $2-1, $1) * 1000; + $last_log_date =~ /(\d+)-(\d+)-(\d+) (\d+):(\d+):(\d+)/; + $t_max = timegm_nocheck(59, $5, $4, $3, $2-1, $1) * 1000; + $t_max += ($avg_minutes*60000); + $t_max_hour = timegm_nocheck(0, 0, $4, $3, $2-1, $1) * 1000; my @labels = (); my @data1 = (); my @data2 = (); @@ -1938,6 +1950,8 @@ sub dump_as_html foreach my $rd (@avgs) { my $t = timegm_nocheck(0, $rd, $h, $d, $mo, $y) * 1000; + next if ($t < $t_min); + last if ($t > $t_max); # Average per minutes $d2 .= "[$t, " . int(($dataavg{average}{"$rd"} || 0) / (60 * $avg_minutes)) . "],"; @@ -1989,6 +2003,8 @@ sub dump_as_html foreach my $rd (@avgs) { my $t = timegm_nocheck(0, $rd, $h, $d, $mo, $y) * 1000; + next if ($t < $t_min); + last if ($t > $t_max); # Average per minutes $d2 .= "[$t, " . int(($dataavg{average}{"$rd"} || 0) / (60 * $avg_minutes)) . "],"; @@ -2021,6 +2037,8 @@ sub dump_as_html my $d = $3; foreach my $h ("00" .. "23") { my $t = timegm_nocheck(0, 0, $h, $d, $mo, $y) * 1000; + next if ($t < $t_min_hour); + last if ($t > $t_max_hour); $d1 .= "[$t, " . ($per_hour_info{$tm}{$h}{count} || 0) . "],"; $d2 .= "[$t, " . sprintf("%.2f", (($per_hour_info{$tm}{$h}{duration} || 0) / ($per_hour_info{$tm}{$h}{count} || 1)) / 1000) @@ -2044,6 +2062,8 @@ sub dump_as_html my $d = $3; foreach my $h ("00" .. "23") { my $t = timegm_nocheck(0, 0, $h, $d, $mo, $y) * 1000; + next if ($t < $t_min_hour); + last if ($t > $t_max_hour); $d1 .= "[$t, " . ($per_hour_info{$tm}{$h}{'SELECT'}{count} || 0) . "],"; $d2 .= "[$t, " . sprintf( @@ -2070,6 +2090,8 @@ sub dump_as_html my $d = $3; foreach my $h ("00" .. "23") { my $t = timegm_nocheck(0, 0, $h, $d, $mo, $y) * 1000; + next if ($t < $t_min_hour); + last if ($t > $t_max_hour); my $wcount = $per_hour_info{$tm}{$h}{'UPDATE'}{count} + $per_hour_info{$tm}{$h}{'DELETE'}{count} + @@ -2098,7 +2120,7 @@ sub dump_as_html $d4 = ''; if ($tempfile_info{count} || exists $checkpoint_info{chronos}) { - print $fh qq{}; + print $fh qq{
DayHour
}; } if ($tempfile_info{count}) { print $fh qq{}; @@ -2187,6 +2209,8 @@ qq{
DayHourTemporary filesWrote buffersAddedRemovedRecycledWrit my $d = $3; foreach my $h ("00" .. "23") { my $t = timegm_nocheck(0, 0, $h, $d, $mo, $y) * 1000; + next if ($t < $t_min_hour); + last if ($t > $t_max_hour); $d1 .= "[$t, " . ($checkpoint_info{chronos}{$tm}{$h}{wbuffer} || 0) . "],"; } } @@ -2204,6 +2228,8 @@ qq{Wrote buffersAddedRemovedRecycledWrit my $d = $3; foreach my $h ("00" .. "23") { my $t = timegm_nocheck(0, 0, $h, $d, $mo, $y) * 1000; + next if ($t < $t_min_hour); + last if ($t > $t_max_hour); $d1 .= "[$t, " . ($checkpoint_info{chronos}{$tm}{$h}{file_added} || 0) . "],"; $d2 .= "[$t, " . ($checkpoint_info{chronos}{$tm}{$h}{file_removed} || 0) . "],"; $d3 .= "[$t, " . ($checkpoint_info{chronos}{$tm}{$h}{file_recycled} || 0) . "],"; @@ -2230,6 +2256,8 @@ qq{Wrote buffersAddedRemovedRecycledWrit my $d = $3; foreach my $h ("00" .. "23") { my $t = timegm_nocheck(0, 0, $h, $d, $mo, $y) * 1000; + next if ($t < $t_min_hour); + last if ($t > $t_max_hour); $d1 .= "[$t, " . ($tempfile_info{chronos}{$tm}{$h}{size} || 0) . "],"; $d2 .= "[$t, " . ($tempfile_info{chronos}{$tm}{$h}{count} || 0) . "],"; } @@ -3668,6 +3696,12 @@ sub flotr2_graph $yaxis2 = "y2axis: { title: \"$ytitle2\", min: 0, color: \"#4DA74D\" },"; } + my $min = $t_min; + my $max = $t_max; + if ($divid !~ /persecond/) { + $min = $t_min_hour; + $max = $t_max_hour; + } print $fh <