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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for RED-Metrics-Tracker-0.1.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | faf64bb7099770c6da811a74b2d9f7aa60590cfa2085bffa53c2b3632861e68c |
|
MD5 | 7b482bdde0469962fc367d8061c48c1d |
|
BLAKE2b-256 | e5d9b59b72ded63b310ddea758a5e4e3d051bfa1f4434320dd73ccbb5342f980 |
Hashes for RED_Metrics_Tracker-0.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c2c2053885f925bb85cce761aacdb5faf3a4e235871c425cf4404ec256ed063 |
|
MD5 | be719003ddefe48efa5672cfd6c57002 |
|
BLAKE2b-256 | 52b8c9da6299de5f2f492c459d01896dc319d3baec0a52fe9d9e79948caaeaf3 |