Skip to content

Commit 5997c0a

Browse files
author
András Váczi
committed
Refactor adding multisite metrics
1 parent bf9967d commit 5997c0a

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

patroni/api.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -671,11 +671,7 @@ def do_GET_metrics(self) -> None:
671671
metrics.append("# TYPE patroni_is_paused gauge")
672672
metrics.append("patroni_is_paused{0} {1}".format(labels, int(postgres.get('pause', 0))))
673673

674-
if patroni.multisite.is_active:
675-
metrics.append("# HELP patroni_multisite_switches Number of times multisite leader has been switched")
676-
metrics.append("# TYPE patroni_multisite_switches counter")
677-
metrics.append("patroni_multisite_switches{0} {1}"
678-
.format(labels, patroni.multisite.site_switches))
674+
patroni.multisite.append_metrics(metrics, labels)
679675

680676
self.write_response(200, '\n'.join(metrics) + '\n', content_type='text/plain')
681677

@@ -1199,7 +1195,7 @@ def do_POST_multisite_switchover(self):
11991195
if not request:
12001196
return
12011197
if not self.server.patroni.multisite.is_active:
1202-
return self._write_response(400, 'Cluster is not in multisite mode')
1198+
return self.write_response(400, 'Cluster is not in multisite mode')
12031199

12041200
scheduled_at = request.get('scheduled_at')
12051201
target_site = request.get('target_site')

patroni/multisite.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,9 @@ def should_failover(self):
5959
def on_shutdown(self, checkpoint_location):
6060
pass
6161

62+
def append_metrics(self, metrics, labels):
63+
pass
64+
6265

6366
class SingleSiteController(AbstractSiteController):
6467
"""Do nothing controller for single site operation."""
@@ -372,6 +375,11 @@ def shutdown(self):
372375
self._heartbeat.set()
373376
self.join()
374377

378+
def append_metrics(self, metrics, labels):
379+
metrics.append("# HELP patroni_multisite_switches Number of times multisite leader has been switched")
380+
metrics.append("# TYPE patroni_multisite_switches counter")
381+
metrics.append("patroni_multisite_switches{0} {1}".format(labels, self.site_switches))
382+
375383

376384
class KubernetesStateManagement:
377385
def __init__(self, crd_name, crd_uid, reporter, crd_api):

0 commit comments

Comments
 (0)