K - key typepublic abstract class BaseTracingConsumerInterceptor<K> extends Object implements org.apache.kafka.clients.consumer.ConsumerInterceptor<K,byte[]>
TracedConsumerRecord.
Extraction is left abstract to match the injection strategy used.
Due to the batch nature of ConsumerInterceptor.onConsume(org.apache.kafka.clients.consumer.ConsumerRecords),
this interceptor cannot propagate the trace context for each record.
The consumer should be responsible for propagating the extracted context.
Required: A Tracer in config as "brave.tracer".
Optional: A SpanNameProvider in config as "brave.span.name.provider" to customize span name.
Optional: A Endpoint in config as "brave.span.remote.endpoint" to customize span remote endpoint.| Constructor and Description |
|---|
BaseTracingConsumerInterceptor() |
| Modifier and Type | Method and Description |
|---|---|
void |
close() |
void |
configure(Map<String,?> configs) |
protected abstract TracedConsumerRecord<K,byte[]> |
getTracedConsumerRecord(org.apache.kafka.clients.consumer.ConsumerRecord<K,byte[]> record)
Abstract method for extracting original consumer record and tracing context from a received consumer record,
which was potentially mutated by a producer interceptor to have a tracing context injected
|
void |
onCommit(Map<org.apache.kafka.common.TopicPartition,org.apache.kafka.clients.consumer.OffsetAndMetadata> offsets) |
org.apache.kafka.clients.consumer.ConsumerRecords<K,byte[]> |
onConsume(org.apache.kafka.clients.consumer.ConsumerRecords<K,byte[]> records) |
protected abstract TracedConsumerRecord<K,byte[]> getTracedConsumerRecord(org.apache.kafka.clients.consumer.ConsumerRecord<K,byte[]> record) throws ExtractException
record - received records, may have trace context injectedTracedConsumerRecordExtractExceptionpublic org.apache.kafka.clients.consumer.ConsumerRecords<K,byte[]> onConsume(org.apache.kafka.clients.consumer.ConsumerRecords<K,byte[]> records)
onConsume in interface org.apache.kafka.clients.consumer.ConsumerInterceptor<K,byte[]>public void onCommit(Map<org.apache.kafka.common.TopicPartition,org.apache.kafka.clients.consumer.OffsetAndMetadata> offsets)
onCommit in interface org.apache.kafka.clients.consumer.ConsumerInterceptor<K,byte[]>public void close()
close in interface org.apache.kafka.clients.consumer.ConsumerInterceptor<K,byte[]>Copyright © 2016–2018 SmartThingsOSS. All rights reserved.