skillfed

opentelemetry-instrumentation-kafka-python

OpenTelemetry Kafka-Python instrumentation

opentelemetry-instrumentation-kafka-python v0.65b0 5.9M downloads/30d#2,012 on PyPI1,086
Permissive license Apache-2.0 Active released

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-python

uv

uv add opentelemetry-instrumentation-kafka-python

poetry

poetry add opentelemetry-instrumentation-kafka-python

Installing 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

Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14

Tags

kafka tracing instrumentationopentelemetry kafka monitoringdistributed tracing kafka pythonkafka producer consumer spanskafka observability instrumentationopentelemetry kafka-pythonkafka message tracing
observabilitydistributed-tracingkafka

More Monitoring packages

tqdm

Wraps any iterable to display a real-time…

copyleft · top 100 on PyPI

opentelemetry-semantic-conventions

Provides generated Python code for…

permissive · top 100 on PyPI

opentelemetry-sdk

Provides the reference implementation of the…

permissive · top 100 on PyPI

opentelemetry-api

Provides the abstract API and interfaces for…

permissive · top 100 on PyPI

opentelemetry-exporter-otlp-proto-http

Exports OpenTelemetry observability data to an…

permissive · top 1,000 on PyPI

opentelemetry-instrumentation

Provides automatic instrumentation commands and…

permissive · top 1,000 on PyPI

opentelemetry-instrumentation-aiokafka

Adds distributed tracing instrumentation to…

permissive · top 5,000 on PyPI

opentelemetry-instrumentation-confluent-kafka

Adds distributed tracing to confluent-kafka…

permissive · top 5,000 on PyPI

opentelemetry-instrumentation-grpc

Adds automatic tracing and monitoring to gRPC…

permissive · top 5,000 on PyPI

opentelemetry-instrumentation-pymemcache

Adds OpenTelemetry tracing instrumentation to…

permissive · top 5,000 on PyPI

opentelemetry-instrumentation-boto

Adds distributed tracing to AWS SDK (Boto)…

permissive · top 5,000 on PyPI

opentelemetry-instrumentation-cassandra

Adds distributed tracing instrumentation to…

permissive · top 5,000 on PyPI

opentelemetry-instrumentation-celery

Adds distributed tracing and observability to…

permissive · top 5,000 on PyPI

opentelemetry-instrumentation-sklearn

Adds distributed tracing instrumentation to…

permissive · top 15,000 on PyPI

opentelemetry-contrib-instrumentations

A meta-package that installs all OpenTelemetry…

permissive · top 15,000 on PyPI

opentelemetry-instrumentation-exceptions

Automatically captures uncaught exceptions in…

permissive · top 15,000 on PyPI