Skip to content

Instantly share code, notes, and snippets.

@zhu327
Created April 3, 2020 12:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zhu327/56cdb58a21a750fb5ca5ae7ccd3e0112 to your computer and use it in GitHub Desktop.
Save zhu327/56cdb58a21a750fb5ca5ae7ccd3e0112 to your computer and use it in GitHub Desktop.
Prometheus Exporter
from gevent.wsgi import WSGIServer
from prometheus_client import multiprocess
from prometheus_client import generate_latest, CollectorRegistry, CONTENT_TYPE_LATEST
# Expose metrics.
def app(environ, start_response):
registry = CollectorRegistry()
multiprocess.MultiProcessCollector(registry)
data = generate_latest(registry)
status = '200 OK'
response_headers = [
('Content-type', CONTENT_TYPE_LATEST),
('Content-Length', str(len(data)))
]
start_response(status, response_headers)
return iter([data])
http_server = WSGIServer(('', 9100), app)
http_server.serve_forever()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment