Skip to main content

Python gRPC Prometheus Interceptors

Project description

python-grpc-prometheus

Build Status

ChangeLog

Installation

Installation from PyPI:

pip install python-grpc-prometheus

Usage

Check the available interceptors in the source code. This example uses the PromServerInterceptor. Usage example:

import grpc
from concurrent.futures import ThreadPoolExecutor
# Importing this whole package so that I can use prometheus_client.start_http_server()
# instead of just start_http_server(), which is not too descriptive. But it's your call.
import prometheus_client
from python_grpc_prometheus.prometheus_server_interceptor import PromServerInterceptor


# Add the required interceptor(s) where you create your grpc server, e.g.
psi = PromServerInterceptor()
server = grpc.server(ThreadPoolExecutor(max_workers=10), interceptors=(psi,))
# Start the http server where prometheus can fetch the data from. Use whatever listen port you prefer.
prometheus_client.start_http_server(8000)
# ...

Now, when running your application, you can check http://localhost:8000 in a browser. Note: the grpc_* metrics will just show commented out (with their descriptions) until your application actually receives gRPC calls.

TODO

  • add stream support

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

python_grpc_prometheus-0.2.0.tar.gz (4.4 kB view hashes)

Uploaded Source

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