1
0
Fork 0

feat(registry): add sort flag to render

This commit is contained in:
ssube 2020-02-10 08:38:32 -06:00
parent 9b4dbcb9ad
commit afcb8587a5
Signed by: ssube
GPG Key ID: 3EED7B957D362AF1
1 changed files with 13 additions and 6 deletions

View File

@ -2,6 +2,9 @@ from prometheus_express.router import response
exposition_break = '\n'
def name_sort(metric):
return metric.name
class CollectorRegistry():
metrics = []
namespace = ''
@ -18,13 +21,17 @@ class CollectorRegistry():
self.metrics.add(metric)
return True
def render(self):
metrics = []
for m in self.metrics:
line = m.render(self.namespace)
metrics.extend(line)
def render(self, sorted=False):
if sorted:
metrics = sorted(self.metrics, key=name_sort)
else:
metrics = self.metrics
return metrics
output = []
for m in metrics:
output.extend(m.render(self.namespace))
return output
def handler(self, headers, body):
return response(exposition_break.join(self.render()))