8000 Merge branch 'master' of https://github.com/prometheus/client_python · dds/client_python@0be1ec5 · GitHub
[go: up one dir, main page]

Skip to content

Commit 0be1ec5

Browse files
committed
2 parents 7b0677c + c1e4426 commit 0be1ec5

File tree

2 files changed

+16
-9
lines changed

2 files changed

+16
-9
lines changed

prometheus_client/exposition.py

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,14 +32,16 @@
3232
def make_wsgi_app(registry=core.REGISTRY):
3333
'''Create a WSGI app which serves the metrics from a registry.'''
3434
def prometheus_app(environ, start_response):
35-
status = str('200 OK')
36-
headers = [(str('Content-type'), CONTENT_TYPE_LATEST)]
37-
start_response(status, headers)
3835
params = parse_qs(environ['QUERY_STRING'])
3936
r = registry
4037
if 'name[]' in params:
4138
r = r.restricted_registry(params['name[]'])
42-
return [generate_latest(r)]
39+
output = generate_latest(r)
40+
41+
status = str('200 OK')
42+
headers = [(str('Content-type'), CONTENT_TYPE_LATEST)]
43< 10000 span class="diff-text-marker">+
start_response(status, headers)
44+
return [output]
4345
return prometheus_app
4446

4547

@@ -75,14 +77,19 @@ def generate_latest(registry=core.REGISTRY):
7577

7678
class MetricsHandler(BaseHTTPRequestHandler):
7779
def do_GET(self):
78-
self.send_response(200)
79-
self.send_header('Content-Type', CONTENT_TYPE_LATEST)
80-
self.end_headers()
8180
registry = core.REGISTRY
8281
params = parse_qs(urlparse(self.path).query)
8382
if 'name[]' in params:
8483
registry = registry.restricted_registry(params['name[]'])
85-
self.wfile.write(generate_latest(registry))
84+
try:
85+
output = generate_latest(registry)
86+
except:
87+
self.send_error(500, 'error generating metric output')
88+
raise
89+
self.send_response(200)
90+
self.send_header('Content-Type', CONTENT_TYPE_LATEST)
91+
self.end_headers()
92+
self.wfile.write(output)
8693

8794
def log_message(self, format, *args):
8895
return

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
setup(
55
name = "prometheus_client",
6-
version = "0.0.17",
6+
version = "0.0.18",
77
author = "Brian Brazil",
88
author_email = "brian.brazil@robustperception.io",
99
description = ("Python client for the Prometheus monitoring system."),

0 commit comments

Comments
 (0)
0