Class KafkaSender

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable

    public final class KafkaSender
    extends zipkin2.reporter.Sender
    This sends (usually json v2) encoded spans to a Kafka topic.

    This sender is thread-safe.

    This sender is linked against Kafka 0.10.2+, which allows it to work with Kafka 0.10+ brokers

    • Method Detail

      • create

        public static KafkaSender create​(java.lang.String bootstrapServers)
        Creates a sender that sends Encoding.JSON messages.
      • messageSizeInBytes

        public int messageSizeInBytes​(java.util.List<byte[]> encodedSpans)
        Specified by:
        messageSizeInBytes in class zipkin2.reporter.Sender
      • messageSizeInBytes

        public int messageSizeInBytes​(int encodedSizeInBytes)
        Overrides:
        messageSizeInBytes in class zipkin2.reporter.Sender
      • encoding

        public zipkin2.codec.Encoding encoding()
        Specified by:
        encoding in class zipkin2.reporter.Sender
      • messageMaxBytes

        public int messageMaxBytes()
        Specified by:
        messageMaxBytes in class zipkin2.reporter.Sender
      • 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.

        Specified by:
        sendSpans in class zipkin2.reporter.Sender
      • check

        public zipkin2.CheckResult check()
        Ensures there are no problems reading metadata about the topic.
        Overrides:
        check in class zipkin2.Component
      • close

        public void close()
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Overrides:
        close in class zipkin2.Component
      • toString

        public final java.lang.String toString()
        Overrides:
        toString in class java.lang.Object