postgres.chart.py Add python2.6 support + Fix sql query
Moumoul committed
Dec 14, 2016 at 18:48 UTC
fbe1ef0b9d7cbdddff654cd8c6cf6d527cb21e88
1 file changed
+21
-21
python.d/postgres.chart.py
+21
-21
@@ -88,10 +88,10 @@ SELECT
88
FROM (
89
SELECT
90
client_addr, client_hostname, state,
91
- ('x' || lpad(split_part(sent_location, '/', 1), 8, '0'))::bit(32)::bigint AS sent_xlog,
92
- ('x' || lpad(split_part(replay_location, '/', 1), 8, '0'))::bit(32)::bigint AS replay_xlog,
93
- ('x' || lpad(split_part(sent_location, '/', 2), 8, '0'))::bit(32)::bigint AS sent_offset,
94
- ('x' || lpad(split_part(replay_location, '/', 2), 8, '0'))::bit(32)::bigint AS replay_offset
91
+ ('x' || lpad(split_part(sent_location::text, '/', 1), 8, '0'))::bit(32)::bigint AS sent_xlog,
92
+ ('x' || lpad(split_part(replay_location::text, '/', 1), 8, '0'))::bit(32)::bigint AS replay_xlog,
93
+ ('x' || lpad(split_part(sent_location::text, '/', 2), 8, '0'))::bit(32)::bigint AS sent_offset,
94
+ ('x' || lpad(split_part(replay_location::text, '/', 2), 8, '0'))::bit(32)::bigint AS replay_offset
95
FROM pg_stat_replication
96
) AS s;
97
"""
@@ -248,7 +248,7 @@ class Service(SimpleService):
248
249
def _add_database_stat_chart(self, chart_template_name, database_name):
250
chart_template = CHARTS[chart_template_name]
251
- chart_name = "{}_{}".format(database_name, chart_template_name)
251
+ chart_name = "{0}_{1}".format(database_name, chart_template_name)
252
if chart_name not in self.order:
253
self.order.insert(0, chart_name)
254
name, title, units, family, context, chart_type = chart_template['options']
@@ -265,11 +265,11 @@ class Service(SimpleService):
265
266
self.definitions[chart_name]['lines'] = []
267
for line in deepcopy(chart_template['lines']):
268
- line[0] = "{}_{}".format(database_name, line[0])
268
+ line[0] = "{0}_{1}".format(database_name, line[0])
269
self.definitions[chart_name]['lines'].append(line)
270
271
def _add_database_lock_chart(self, database_name):
272
- chart_name = "{}_locks".format(database_name)
272
+ chart_name = "{0}_locks".format(database_name)
273
if chart_name not in self.order:
274
self.order.insert(-1, chart_name)
275
self.definitions[chart_name] = dict(
@@ -286,7 +286,7 @@ class Service(SimpleService):
286
)
287
288
for lock_type in LOCK_TYPES:
289
- lock_id = "{}_{}".format(database_name, lock_type)
289
+ lock_id = "{0}_{1}".format(database_name, lock_type)
290
label = re.sub("([a-z])([A-Z])", "\g<1> \g<2>", lock_type)
291
self.definitions[chart_name]['lines'].append([lock_id, label, 'absolute'])
292
@@ -318,17 +318,17 @@ class Service(SimpleService):
318
cursor.execute(DATABASE)
319
for row in cursor:
320
database_name = row.get('database_name')
321
- self.data["{}_{}".format(database_name, 'db_stat_xact_commit')] = int(row.get('xact_commit', 0))
322
- self.data["{}_{}".format(database_name, 'db_stat_xact_rollback')] = int(row.get('xact_rollback', 0))
323
- self.data["{}_{}".format(database_name, 'db_stat_blks_read')] = int(row.get('blks_read', 0))
324
- self.data["{}_{}".format(database_name, 'db_stat_blks_hit')] = int(row.get('blks_hit', 0))
325
- self.data["{}_{}".format(database_name, 'db_stat_tup_returned')] = int(row.get('tup_returned', 0))
326
- self.data["{}_{}".format(database_name, 'db_stat_tup_fetched')] = int(row.get('tup_fetched', 0))
327
- self.data["{}_{}".format(database_name, 'db_stat_tup_inserted')] = int(row.get('tup_inserted', 0))
328
- self.data["{}_{}".format(database_name, 'db_stat_tup_updated')] = int(row.get('tup_updated', 0))
329
- self.data["{}_{}".format(database_name, 'db_stat_tup_deleted')] = int(row.get('tup_deleted', 0))
330
- self.data["{}_{}".format(database_name, 'db_stat_conflicts')] = int(row.get('conflicts', 0))
331
- self.data["{}_{}".format(database_name, 'db_stat_connections')] = int(row.get('connections', 0))
321
+ self.data["{0}_{1}".format(database_name, 'db_stat_xact_commit')] = int(row.get('xact_commit', 0))
322
+ self.data["{0}_{1}".format(database_name, 'db_stat_xact_rollback')] = int(row.get('xact_rollback', 0))
323
+ self.data["{0}_{1}".format(database_name, 'db_stat_blks_read')] = int(row.get('blks_read', 0))
324
+ self.data["{0}_{1}".format(database_name, 'db_stat_blks_hit')] = int(row.get('blks_hit', 0))
325
+ self.data["{0}_{1}".format(database_name, 'db_stat_tup_returned')] = int(row.get('tup_returned', 0))
326
+ self.data["{0}_{1}".format(database_name, 'db_stat_tup_fetched')] = int(row.get('tup_fetched', 0))
327
+ self.data["{0}_{1}".format(database_name, 'db_stat_tup_inserted')] = int(row.get('tup_inserted', 0))
328
+ self.data["{0}_{1}".format(database_name, 'db_stat_tup_updated')] = int(row.get('tup_updated', 0))
329
+ self.data["{0}_{1}".format(database_name, 'db_stat_tup_deleted')] = int(row.get('tup_deleted', 0))
330
+ self.data["{0}_{1}".format(database_name, 'db_stat_conflicts')] = int(row.get('conflicts', 0))
331
+ self.data["{0}_{1}".format(database_name, 'db_stat_connections')] = int(row.get('connections', 0))
332
333
def add_backend_stats(self, cursor):
334
cursor.execute(BACKENDS)
@@ -355,12 +355,12 @@ class Service(SimpleService):
355
# zero out all current lock values
356
for database_name in self.databases:
357
for lock_type in LOCK_TYPES:
358
- self.data["{}_{}".format(database_name, lock_type)] = 0
358
+ self.data["{0}_{1}".format(database_name, lock_type)] = 0
359
360
# populate those that have current locks
361
for row in cursor:
362
database_name, lock_type, lock_count = row
363
- self.data["{}_{}".format(database_name, lock_type)] = lock_count
363
+ self.data["{0}_{1}".format(database_name, lock_type)] = lock_count
364
365
def add_wal_stats(self, cursor):
366
cursor.execute(ARCHIVE)