aiohttp_prometheus
adds support for exporting prometheus metrics to
aiohttp applications. It is implemented as a
aiohttp middleware.
Currently, it exports the following metrics via the /metrics
endpoint:
request_latency_seconds
: Latency of a request in seconds.- Labels exported:
endpoint
,app_name
- Labels exported:
requests_total
: Request count.- Labels exported:
app_name
,method
(HTTP method),endpoint
,http_status
(HTTP status)
- Labels exported:
requests_in_progress_total
: In progress requests.- Labels exported:
app_name
,endpoint
,method
(HTTP method)
- Labels exported:
I will be publishing to PyPI soon, but for now specifying the following in your requirements.txt
file will
install the master
version of the package from github:
git+http://github.com/amitsaha/aiohttp-prometheus.git#egg=aiohttp_prometheus
The aiohttp_prometheus
package exports a single function setup_metrics(app, 'app_name')
which takes in the following arguments:
app
: The application object returned viaweb.Application()
- The second argument is the web application name which identifies the web application and
used to set the
app_name
label above
Briefly, the following is all you need to do to measure and export prometheus
metrics from your aiohttp
web application:
from aiohttp_prometheus import setup_metrics from aiohttp import web app = web.Application() setup_metrics(app, "mywebapp")
For complete examples, please see examples.
Please file a issue to file a comment, report an issue or make a suggestion.