Skip to main content

RED Metrics tracker able to instrument flask views using prometheus metrics.

Project description

RED-Metrics-Tracker

Simple RED Metrics tracker able to instrument flask views using prometheus metrics.

Install

With pip, of course:

pip install red-metrics-tracker

Instrumenting

Tracking all methods and exceptions for all requests on a view:

app = flask.Flask(__name__)

@app.route("/endpoint")
@FlaskRedMetricsTracker.track()
def do_things():
     ...
     return "OK"

Limiting metrics tracking to specific methods:

@app.route("/endpoint", methods=["POST", "GET", "PUT", "DELETE"])
@FlaskRedMetricsTracker.track(methods=["POST", "DELETE"])
def do_things():
     ...
     return "OK"

Limiting to specific exceptions:

@app.route("/endpoint/<condition>")
@FlaskRedMetricsTracker.track(exceptions=MySpecialException)
def do_things():
     ...
     if condition == "throw":
        raise MySpecialException
     return "OK"

Filters may be combined, of course:

@app.route("/endpoint/<condition>", methods=["POST", "GET", "DELETE"])
@FlaskRedMetricsTracker.track(methods=["GET", "POST"]exceptions=MySpecialException)
def do_things():
     ...
     if condition == "throw":
        raise MySpecialException
     return "OK"

Exposition

Feel free to use prometheus_client to run an http_server serving a /metrics endpoint at its configured port.

For the people who’d like the /metrics endpoint to be part of their flask app, there’s a blueprint for that:

import flask
from red import metrics_blueprint

app = flask.Flask(__name__)
app.register_blueprint(metrics_blueprint)

Metrics are now available at you app’s url under the /metrics endpoint.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

RED-Metrics-Tracker-0.1.1.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

RED_Metrics_Tracker-0.1.1-py3-none-any.whl (13.2 kB view details)

Uploaded Python 3

File details

Details for the file RED-Metrics-Tracker-0.1.1.tar.gz.

File metadata

  • Download URL: RED-Metrics-Tracker-0.1.1.tar.gz
  • Upload date:
  • Size: 6.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.22.0

File hashes

Hashes for RED-Metrics-Tracker-0.1.1.tar.gz
Algorithm Hash digest
SHA256 faf64bb7099770c6da811a74b2d9f7aa60590cfa2085bffa53c2b3632861e68c
MD5 7b482bdde0469962fc367d8061c48c1d
BLAKE2b-256 e5d9b59b72ded63b310ddea758a5e4e3d051bfa1f4434320dd73ccbb5342f980

See more details on using hashes here.

File details

Details for the file RED_Metrics_Tracker-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for RED_Metrics_Tracker-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5c2c2053885f925bb85cce761aacdb5faf3a4e235871c425cf4404ec256ed063
MD5 be719003ddefe48efa5672cfd6c57002
BLAKE2b-256 52b8c9da6299de5f2f492c459d01896dc319d3baec0a52fe9d9e79948caaeaf3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page