Skip to content

Telemetry

OpenTelemetry tracing integration for Kafka operations.

Note

Requires opentelemetry-api and opentelemetry-sdk to be installed. Without these packages, all tracing operations are graceful no-ops.

typedkafka.telemetry.KafkaTracer

OpenTelemetry tracer for Kafka operations.

If OpenTelemetry is not installed, all span context managers become no-ops.

Parameters:

Name Type Description Default
tracer_name str

Name for the OpenTelemetry tracer (default: "typedkafka")

'typedkafka'

Examples:

>>> tracer = KafkaTracer()
>>> with KafkaProducer(config) as producer:
...     with tracer.produce_span("events", key=b"user-123"):
...         producer.send_json("events", {"action": "click"})

consume_span(topic, partition, offset, key=None)

Create a span for message consumption.

Parameters:

Name Type Description Default
topic str

Source topic name.

required
partition int

Partition number.

required
offset int

Message offset.

required
key bytes | None

Optional message key.

None

Yields:

Type Description
Any

The active span, or None if OpenTelemetry is not available.

produce_span(topic, key=None, partition=None)

Create a span for message production.

Parameters:

Name Type Description Default
topic str

Target topic name.

required
key bytes | None

Optional message key.

None
partition int | None

Optional partition number.

None

Yields:

Type Description
Any

The active span, or None if OpenTelemetry is not available.