Package zipkin2.reporter.kafka
Class KafkaSender
- java.lang.Object
-
- zipkin2.Component
-
- zipkin2.reporter.Sender
-
- zipkin2.reporter.kafka.KafkaSender
-
- All Implemented Interfaces:
Closeable,AutoCloseable
public final class KafkaSender extends Sender
This sends (usually json v2) encoded spans to a Kafka topic.Usage
This type is designed forthe async reporter.Here's a simple configuration, configured for json:
sender = KafkaSender.create("localhost:9092");Here's an example that overrides properties and protocol buffers encoding:
Properties overrides = new Properties(); overrides.put(ProducerConfig.MAX_BLOCK_MS_CONFIG, 5000); sender = KafkaSender.newBuilder() .bootstrapServers("host1:9092,host2:9092") .overrides(overrides) .encoding(Encoding.PROTO3) .build();Compatibility with Zipkin Server
Zipkin server should be v1.26 or higher.Implementation Notes
This sender is thread-safe. This sender is linked against Kafka 0.10.2+, which allows it to work with Kafka 0.10+ brokers
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classKafkaSender.BuilderConfiguration including defaults needed to send spans to a Kafka topic.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description zipkin2.CheckResultcheck()Ensures there are no problems reading metadata about the topic.voidclose()static KafkaSendercreate(String bootstrapServers)Creates a sender that sendsEncoding.JSONmessages.zipkin2.codec.Encodingencoding()intmessageMaxBytes()intmessageSizeInBytes(int encodedSizeInBytes)intmessageSizeInBytes(List<byte[]> encodedSpans)static KafkaSender.BuildernewBuilder()zipkin2.Call<Void>sendSpans(List<byte[]> encodedSpans)This sends all of the spans as a single message.KafkaSender.BuildertoBuilder()StringtoString()
-
-
-
Method Detail
-
create
public static KafkaSender create(String bootstrapServers)
Creates a sender that sendsEncoding.JSONmessages.
-
newBuilder
public static KafkaSender.Builder newBuilder()
-
toBuilder
public KafkaSender.Builder toBuilder()
-
messageSizeInBytes
public int messageSizeInBytes(List<byte[]> encodedSpans)
- Specified by:
messageSizeInBytesin classSender
-
messageSizeInBytes
public int messageSizeInBytes(int encodedSizeInBytes)
- Overrides:
messageSizeInBytesin classSender
-
messageMaxBytes
public int messageMaxBytes()
- Specified by:
messageMaxBytesin classSender
-
sendSpans
public zipkin2.Call<Void> sendSpans(List<byte[]> encodedSpans)
This sends all of the spans as a single message.NOTE: this blocks until the metadata server is available.
-
check
public zipkin2.CheckResult check()
Ensures there are no problems reading metadata about the topic.- Overrides:
checkin classzipkin2.Component
-
close
public void close()
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Overrides:
closein classzipkin2.Component
-
-