- java.lang.Object
-
- zipkin2.Component
-
- zipkin2.reporter.Sender
-
- zipkin2.reporter.kafka.KafkaSender
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.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(java.lang.String bootstrapServers)Creates a sender that sendsEncoding.JSONmessages.zipkin2.codec.Encodingencoding()intmessageMaxBytes()intmessageSizeInBytes(int encodedSizeInBytes)intmessageSizeInBytes(java.util.List<byte[]> encodedSpans)static KafkaSender.BuildernewBuilder()zipkin2.Call<java.lang.Void>sendSpans(java.util.List<byte[]> encodedSpans)This sends all of the spans as a single message.KafkaSender.BuildertoBuilder()java.lang.StringtoString()
-
-
-
Method Detail
-
create
public static KafkaSender create(java.lang.String bootstrapServers)
Creates a sender that sendsEncoding.JSONmessages.
-
newBuilder
public static KafkaSender.Builder newBuilder()
-
toBuilder
public KafkaSender.Builder toBuilder()
-
messageSizeInBytes
public int messageSizeInBytes(java.util.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<java.lang.Void> sendSpans(java.util.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 interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Overrides:
closein classzipkin2.Component
-
toString
public final java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-