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