opentelemetry-instrumentation-kafka-python
OpenTelemetry Kafka-Python instrumentation
What it is and what it does
This package integrates OpenTelemetry tracing into kafka-python applications, automatically instrumenting Kafka producer and consumer operations to emit spans that can be exported to observability backends. It is part of the OpenTelemetry Python contrib ecosystem and works alongside the core opentelemetry-api, opentelemetry-instrumentation, and opentelemetry-semantic-conventions packages to provide standards-based distributed tracing for Kafka workloads.
The instrumentation is designed to work with existing kafka-python code with minimal changes—typically just initializing the KafkaInstrumentor. It captures Kafka message flow and operation details as spans, enabling developers to trace requests across services that produce or consume Kafka messages. The package is in beta (0.65b0) and actively maintained, supporting Python 3.10 through 3.14.
Use it for:
- Trace Kafka message flow across microservices to identify latency bottlenecks in event-driven architectures.
- Monitor producer and consumer performance by exporting spans to a tracing backend like Jaeger or Zipkin.
- Correlate Kafka operations with application logs and metrics for end-to-end observability of message processing.
- Debug message loss or ordering issues by inspecting span context and metadata captured during Kafka operations.
- Measure Kafka instrumentation overhead in production by comparing latency before and after enabling tracing.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Adds distributed tracing instrumentation to kafka-python applications, capturing Kafka producer and consumer operations as OpenTelemetry spans for observability.
Yes, if you are already using OpenTelemetry in your Python stack and need visibility into Kafka producer/consumer operations. The low install friction, active maintenance, and permissive license make it a straightforward addition to observability pipelines. The beta status is not a blocker for production use in the OpenTelemetry ecosystem, but verify that the span attributes and export behavior meet your observability requirements before deploying.
Install
opentelemetry-instrumentation-kafka-python on PyPI
pip
pip install opentelemetry-instrumentation-kafka-pythonuv
uv add opentelemetry-instrumentation-kafka-pythonpoetry
poetry add opentelemetry-instrumentation-kafka-pythonInstalling opentelemetry-instrumentation-kafka-python
Before you install
Low friction install with three stable OpenTelemetry runtime dependencies. Active maintenance with recent release (29 days old), last commit 2026-08-14, and 1086 repository stars. Beta status (0.65b0) indicates the instrumentation is still maturing but actively developed.
License in practice
Apache-2.0 permissive license allows commercial and private use with minimal restrictions, typical for OpenTelemetry ecosystem packages.
Quickstart
pip install opentelemetry-instrumentation-kafka-python
from opentelemetry.instrumentation.kafka import KafkaInstrumentor
KafkaInstrumentor().instrument()
Requires Python 3.10 or later; kafka-python library must be installed separately for the instrumentation to function.
Verify before relying
- Whether the instrumentation auto-detects existing kafka-python instances or requires explicit setup per producer/consumer.
- What span attributes and metrics are captured for Kafka operations (message size, partition, offset, etc.).
- Whether there are performance or latency implications for high-throughput Kafka workloads.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — opentelemetry-api, opentelemetry-instrumentation, opentelemetry-semantic-conventions |
| Maintenance | actively maintained — 29 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 5,923,662/month — #2,012 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: opentelemetry_instrumentation_kafka_python-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
opentelemetry-instrumentation-aiokafkaAdds distributed tracing instrumentation to…
permissive · top 5,000 on PyPI
opentelemetry-instrumentation-confluent-kafkaAdds distributed tracing to confluent-kafka…
permissive · top 5,000 on PyPI
opentelemetry-instrumentation-grpcAdds automatic tracing and monitoring to gRPC…
permissive · top 5,000 on PyPI
opentelemetry-instrumentation-pymemcacheAdds OpenTelemetry tracing instrumentation to…
permissive · top 5,000 on PyPI
opentelemetry-instrumentation-botoAdds distributed tracing to AWS SDK (Boto)…
permissive · top 5,000 on PyPI
opentelemetry-instrumentation-cassandraAdds distributed tracing instrumentation to…
permissive · top 5,000 on PyPI
opentelemetry-instrumentation-celeryAdds distributed tracing and observability to…
permissive · top 5,000 on PyPI
opentelemetry-instrumentation-sklearnAdds distributed tracing instrumentation to…
permissive · top 15,000 on PyPI
opentelemetry-contrib-instrumentationsA meta-package that installs all OpenTelemetry…
permissive · top 15,000 on PyPI
opentelemetry-instrumentation-exceptionsAutomatically captures uncaught exceptions in…
permissive · top 15,000 on PyPI