opentelemetry-instrumentation-grpc
OpenTelemetry gRPC instrumentation
What it is and what it does
This package integrates OpenTelemetry tracing into gRPC Python applications by providing client and server interceptors. It automatically captures gRPC call metadata, timing, and errors, feeding that telemetry into your OpenTelemetry pipeline for centralized observability. The package depends on opentelemetry-api, opentelemetry-instrumentation, opentelemetry-semantic-conventions, and wrapt to hook into gRPC calls without requiring code changes to your service logic.
It's designed for developers building microservices or distributed systems where gRPC is the communication layer and you need visibility into call patterns, latencies, and failures. The instrumentation runs as middleware, so once installed and configured with an OpenTelemetry exporter, your gRPC traffic automatically flows into your observability backend (Jaeger, Datadog, etc.).
Use it for:
- Trace gRPC calls across microservices to debug latency and failure paths in distributed systems
- Monitor gRPC server performance and client request patterns in production environments
- Export gRPC call metrics to centralized observability platforms like Jaeger or Prometheus
- Correlate gRPC traces with other application telemetry for end-to-end request visibility
- Identify slow or failing gRPC endpoints by analyzing captured call metadata and timing
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Adds automatic tracing and monitoring to gRPC Python client and server calls through OpenTelemetry interceptors, capturing request/response metadata and performance metrics.
Yes, if you are already using OpenTelemetry and gRPC Python. The package is actively maintained, has no known vulnerabilities, and low install friction. It's a standard instrumentation module in the OpenTelemetry ecosystem. Install it only if you need gRPC tracing; it adds no value without an OpenTelemetry exporter configured downstream.
Install
opentelemetry-instrumentation-grpc on PyPI
pip
pip install opentelemetry-instrumentation-grpcuv
uv add opentelemetry-instrumentation-grpcpoetry
poetry add opentelemetry-instrumentation-grpcInstalling opentelemetry-instrumentation-grpc
Before you install
Low friction installation with a pure-Python wheel and four lightweight runtime dependencies. Active maintenance with a recent release (29 days old) and ongoing commits; part of the established OpenTelemetry ecosystem.
License in practice
Apache-2.0 permissive license allows use in most commercial and open-source projects without significant restrictions.
Quickstart
pip install opentelemetry-instrumentation-grpc
from opentelemetry.instrumentation.grpc_instrumentation import GrpcInstrumentationServer
instrumentor = GrpcInstrumentationServer()
instrumentor.instrument()
Requires Python 3.10 or later; gRPC Python must be installed separately (not declared as a direct dependency in this package).
Verify before relying
- Whether this package requires gRPC to be installed separately or if it's a transitive dependency
- Support for async gRPC patterns and whether both client and server interceptors are equally mature
- Performance overhead of instrumentation in high-throughput scenarios
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 4 — opentelemetry-api, opentelemetry-instrumentation, opentelemetry-semantic-conventions, wrapt |
| Maintenance | actively maintained — 29 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 18,823,398/month — #1,077 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: opentelemetry_instrumentation_grpc-0.65b0-py3-none-any.whl
Tags
More Monitoring packages
Wraps any iterable to display a real-time…
copyleft · top 100 on PyPI
opentelemetry-semantic-conventionsProvides generated Python code for…
permissive · top 100 on PyPI
opentelemetry-sdkProvides the reference implementation of the…
permissive · top 100 on PyPI
opentelemetry-apiProvides the abstract API and interfaces for…
permissive · top 100 on PyPI
opentelemetry-exporter-otlp-proto-httpExports OpenTelemetry observability data to an…
permissive · top 1,000 on PyPI
opentelemetry-instrumentationProvides automatic instrumentation commands and…
permissive · top 1,000 on PyPI
grpcio-observabilityAdds observability instrumentation to gRPC…
permissive · top 15,000 on PyPI
opentelemetry-instrumentation-kafka-pythonAdds distributed tracing instrumentation to…
permissive · top 5,000 on PyPI
py-grpc-prometheusAdds Prometheus metrics collection to gRPC…
unclear · top 5,000 on PyPI
grpc-interceptorProvides simplified server and client…
permissive · top 1,000 on PyPI
opencensus-protoProvides Protocol Buffer definitions for…
permissive · top 15,000 on PyPI
grpcio-adminExposes debugging and monitoring services for…
permissive · top 15,000 on PyPI
opentelemetry-instrumentation-celeryAdds distributed tracing and observability to…
permissive · top 5,000 on PyPI
opentelemetry-instrumentation-pyramidAdds automatic tracing and metrics collection…
permissive · top 5,000 on PyPI
opentelemetry-instrumentation-aiokafkaAdds distributed tracing instrumentation to…
permissive · top 5,000 on PyPI
opentelemetry-instrumentation-psycopgAdds OpenTelemetry tracing instrumentation to…
permissive · top 5,000 on PyPI