@@ -10,12 +10,15 @@ class Oldest(Plugin):
10
10
OldestXidSql = "select greatest(max(age(backend_xmin)), max(age(backend_xid))) from pg_catalog.pg_stat_activity;"
11
11
12
12
OldestXidSql_bootstrap = "select public.mamonsu_get_oldest_xid();"
13
-
14
13
OldestQuerySql = "select case when extract(epoch from max(now() - xact_start)) is not null then extract(epoch" \
15
14
" from max(now() - xact_start)) else 0 end from pg_catalog.pg_stat_activity where pid not in " \
16
15
"(select pid from pg_stat_replication) AND pid <> pg_backend_pid() " \
17
16
"AND query not ilike '%%VACUUM%%'; "
18
17
18
+ # OldestQuery = " SELECT query FROM pg_catalog.pg_stat_activity WHERE extract(epoch FROM (now() - query_start))=(SELECT " \
19
+ # "extract(epoch from max(now() - query_start)) FROM pg_catalog.pg_stat_activity) and pid not " \
20
+ # "in (select pid from pg_stat_replication) AND pid <> pg_backend_pid() AND query not ilike '%%VACUUM%%';"
21
+
19
22
OldestQuerySql_bootstrap = "select public.mamonsu_get_oldest_query();"
20
23
21
24
DEFAULT_CONFIG = {
@@ -38,14 +41,14 @@ def graphs(self, template):
38
41
result = template .graph ({
39
42
'name' : 'PostgreSQL oldest query running time' ,
40
43
'items' : [{
41
- 'key' : self .right_type (self .key , 'query_time' ) ,
44
+ 'key' : self .right_type (self .key , 'query_time' ),
42
45
'color' : '00CC00'
43
46
}]
44
47
})
45
48
result += template .graph ({
46
49
'name' : 'PostgreSQL age of oldest xid' ,
47
50
'items' : [{
48
- 'key' : self .right_type (self .key , 'xid_age' ) ,
51
+ 'key' : self .right_type (self .key , 'xid_age' ),
49
52
'color' : '00CC00'
50
53
}]
51
54
})
@@ -80,5 +83,3 @@ def keys_and_queries(self, template_zabbix):
80
83
result .append ('{0}[*],$2 $1 -c "{1}"' .format (self .key .format ('.xid_age' ), self .OldestXidSql ))
81
84
result .append ('{0}[*],$2 $1 -c "{1}"' .format (self .key .format ('.query_time' ), self .OldestQuerySql ))
82
85
return template_zabbix .key_and_query (result )
83
-
84
-
0 commit comments