Skip to content

Commit f257769

Browse files
author
alexander popov
committed
fix: add check enabled in plugin RelationsSize in init
1 parent 3ffedca commit f257769

File tree

1 file changed

+22
-21
lines changed

1 file changed

+22
-21
lines changed

mamonsu/plugins/pgsql/relations_size.py

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -8,27 +8,28 @@
88
class RelationsSize(Plugin):
99
def __init__(self, config):
1010
super(Plugin, self).__init__(config)
11-
self.relations = []
12-
self.create_relations()
13-
self.key_rel_size_discovery = "pgsql.relation.size{0}"
14-
self.query_template = """SELECT relation.schema
15-
, relation.name
16-
, CASE WHEN l.mode = 'AccessExclusiveLock' THEN '-1'
17-
ELSE (pg_total_relation_size(cl.oid))
18-
END AS pg_total_relation_size
19-
, CASE WHEN l.mode = 'AccessExclusiveLock' THEN '-1'
20-
ELSE (sum(pg_total_relation_size(inh.inhrelid)))
21-
END AS pg_total_relation_size_part
22-
FROM (VALUES {values}) as relation (schema,name)
23-
LEFT JOIN pg_catalog.pg_class cl ON cl.relname = relation.name
24-
LEFT JOIN pg_catalog.pg_namespace ns ON ns.oid = cl.relnamespace AND ns.nspname=relation.schema
25-
LEFT JOIN pg_catalog.pg_inherits inh ON inh.inhparent = cl.oid
26-
LEFT JOIN pg_catalog.pg_locks l ON l.relation = cl.oid AND l.mode= 'AccessExclusiveLock' AND l.locktype = 'relation'
27-
LEFT JOIN pg_catalog.pg_locks l_part ON l_part.relation = inh.inhrelid AND l.mode= 'AccessExclusiveLock' AND l.locktype = 'relation'
28-
GROUP BY relation.schema
29-
, relation.name
30-
, l.mode
31-
, cl.oid"""
11+
if self.is_enabled():
12+
self.relations = []
13+
self.create_relations()
14+
self.key_rel_size_discovery = "pgsql.relation.size{0}"
15+
self.query_template = """SELECT relation.schema
16+
, relation.name
17+
, CASE WHEN l.mode = 'AccessExclusiveLock' THEN '-1'
18+
ELSE (pg_total_relation_size(cl.oid))
19+
END AS pg_total_relation_size
20+
, CASE WHEN l.mode = 'AccessExclusiveLock' THEN '-1'
21+
ELSE (sum(pg_total_relation_size(inh.inhrelid)))
22+
END AS pg_total_relation_size_part
23+
FROM (VALUES {values}) as relation (schema,name)
24+
LEFT JOIN pg_catalog.pg_class cl ON cl.relname = relation.name
25+
LEFT JOIN pg_catalog.pg_namespace ns ON ns.oid = cl.relnamespace AND ns.nspname=relation.schema
26+
LEFT JOIN pg_catalog.pg_inherits inh ON inh.inhparent = cl.oid
27+
LEFT JOIN pg_catalog.pg_locks l ON l.relation = cl.oid AND l.mode= 'AccessExclusiveLock' AND l.locktype = 'relation'
28+
LEFT JOIN pg_catalog.pg_locks l_part ON l_part.relation = inh.inhrelid AND l.mode= 'AccessExclusiveLock' AND l.locktype = 'relation'
29+
GROUP BY relation.schema
30+
, relation.name
31+
, l.mode
32+
, cl.oid"""
3233

3334
def create_relations(self):
3435

0 commit comments

Comments
 (0)