Show actual long-running query in query_time output
authorPeter Eisentraut <peter@eisentraut.org>
Wed, 11 Jun 2014 20:04:38 +0000 (16:04 -0400)
committerPeter Eisentraut <peter@eisentraut.org>
Wed, 11 Jun 2014 20:04:38 +0000 (16:04 -0400)
check_postgres.pl

index d3c55815e49c249b36afcd583b841c0516b6633f..32bf11c5397dc206568f84529d02e6b83196ddcb 100755 (executable)
@@ -209,6 +209,7 @@ our %msg = (
     'qtime-for-msg'      => q{$1 queries longer than $2s, longest: $3s$4 $5},
     'qtime-msg'          => q{longest query: $1s$2 $3},
     'qtime-none'         => q{no queries},
+    'query'              => q{query},
     'queries'            => q{queries},
     'query-time'         => q{query_time},
     'range-badcs'        => q{Invalid '$1' option: must be a checksum},
@@ -461,6 +462,7 @@ our %msg = (
     'qtime-for-msg'      => q{$1 requΓͺtes plus longues que $2s, requΓͺte la plus longue : $3s$4 $5},
     'qtime-msg'          => q{requΓͺte la plus longue : $1s$2 $3},
     'qtime-none'         => q{aucune requΓͺte},
+    'query'              => q{requΓͺte},
     'queries'            => q{requΓͺtes},
     'query-time'         => q{durΓ©e de la requΓͺte},
     'range-badcs'        => q{Option Β« $1 Β» invalide : doit Γͺtre une somme de contrΓ΄le},
@@ -7661,13 +7663,14 @@ sub check_txn_idle {
 
     ## Details on who the top offender was
     if ($max > 0) {
-        $whodunit = sprintf q{%s:%s %s:%s %s:%s%s%s},
+        $whodunit = sprintf q{%s:%s %s:%s %s:%s%s%s %s:%s},
             msg('PID'), $maxr->{pid},
             msg('database'), $maxr->{datname},
             msg('username'), $maxr->{usename},
             $maxr->{client_addr} eq '' ? '' : (sprintf ' %s:%s', msg('address'), $maxr->{client_addr}),
             ($maxr->{client_port} eq '' or $maxr->{client_port} < 1)
-                ? '' : (sprintf ' %s:%s', msg('port'), $maxr->{client_port});
+                ? '' : (sprintf ' %s:%s', msg('port'), $maxr->{client_port}),
+            msg('query'),  $maxr->{query} || $maxr->{current_query};
     }
 
     ## For MRTG, we can simply exit right now