Class RabbitMQSender

  • All Implemented Interfaces:
    Closeable, AutoCloseable

    public final class RabbitMQSender
    extends zipkin2.reporter.Sender
    This sends (usually json v2) encoded spans to a RabbitMQ queue.

    The sender does not use RabbitMQ Publisher Confirms, so messages considered sent may not necessarily be received by consumers in case of RabbitMQ failure.

    For thread safety, a channel is created for each thread that calls sendSpans(List).

    • Method Detail

      • create

        public static RabbitMQSender create​(String addresses)
        Creates a sender that sends Encoding.JSON messages.
      • 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
      • messageSizeInBytes

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

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

        public zipkin2.Call<Void> sendSpans​(List<byte[]> encodedSpans)
        This sends all of the spans as a single message.
        Specified by:
        sendSpans in class zipkin2.reporter.Sender
      • check

        public zipkin2.CheckResult check()
        Ensures there are no connection issues.
        Overrides:
        check in class zipkin2.Component