From: Darold Gilles Date: Thu, 17 Jan 2013 23:10:22 +0000 (+0100) Subject: Add report of tuples/pages removed in report of Vacuums by table. X-Git-Tag: v3.2~58 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=268e46a59ab59b420f97d91852a1aeb3050f1a82;p=pgbadger Add report of tuples/pages removed in report of Vacuums by table. --- diff --git a/pgbadger b/pgbadger index 7816271..6d9fa30 100755 --- a/pgbadger +++ b/pgbadger @@ -768,6 +768,12 @@ foreach my $logfile ( @given_log_files ) { $t_query = $11 if ($format eq 'syslog-ng'); $t_query =~ s/#011/\t/g; next if ($t_query eq "\t"); + if ($cur_info{$cur_pid}{vacuum} && ($t_query =~ /^\t(pages|tuples|buffer usage|avg read rate|system usage):/)) { + if ($t_query =~ /^\t(pages|tuples): (\d+) removed, (\d+) remain/) { + $autovacuum_info{tables}{$cur_info{$cur_pid}{vacuum}}{$1}{removed} += $2; + } + next; + } if ($cur_info{$cur_pid}{statement}) { $cur_info{$cur_pid}{statement} .= "\n" . $t_query; } elsif ($cur_info{$cur_pid}{context}) { @@ -2658,20 +2664,30 @@ qq{Wrote buffersAddedRemovedRecycledWrit Table VACUUMs Index scans + Tuples removed + Pages removed }; my $total_count = 0; my $total_idxscan = 0; + my $total_tuples = 0; + my $total_pages = 0; foreach my $t (sort keys %{$autovacuum_info{tables}}) { print $fh "", $t, "", $autovacuum_info{tables}{$t}{vacuums}, "", $autovacuum_info{tables}{$t}{idxscans}, + "", $autovacuum_info{tables}{$t}{tuples}{removed}, + "", $autovacuum_info{tables}{$t}{pages}{removed}, "\n"; $total_count += $autovacuum_info{tables}{$t}{vacuums}; $total_idxscan += $autovacuum_info{tables}{$t}{idxscans}; + $total_tuples += $autovacuum_info{tables}{$t}{tuples}{removed}; + $total_pages += $autovacuum_info{tables}{$t}{pages}{removed}; } print $fh "Total", $total_count, - "", $total_idxscan, "\n"; + "", $total_idxscan, + "", $total_tuples, + "", $total_pages, "\n"; print $fh "\n"; } @@ -4315,6 +4331,8 @@ sub parse_query $autovacuum_info{tables}{$1}{vacuums} += 1; $autovacuum_info{tables}{$1}{idxscans} += $2; $autovacuum_info{chronos}{$date_part}{$prefix_vars{'t_hour'}}{count}++; + $cur_info{$t_pid}{vacuum} = $1; + return; } if ( ($prefix_vars{'t_loglevel'} eq 'LOG')