Package zipkin2.reporter
Class BytesMessageSender.Base
- java.lang.Object
-
- zipkin2.reporter.BytesMessageSender.Base
-
- All Implemented Interfaces:
Closeable,BytesMessageSender
- Direct Known Subclasses:
BaseHttpSender
- Enclosing interface:
- BytesMessageSender
public abstract static class BytesMessageSender.Base extends Object implements BytesMessageSender
Base class for implementation, which implementsmessageSizeInBytes(List)andmessageSizeInBytes(List)with a given Encoding
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface zipkin2.reporter.BytesMessageSender
BytesMessageSender.Base
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Encodingencoding()Returns the encoding this sender requires spans to have.intmessageSizeInBytes(int encodedSizeInBytes)LikeBytesMessageSender.messageSizeInBytes(List), except for a single-span.intmessageSizeInBytes(List<byte[]> encodedSpans)Before invokingBytesMessageSender.send(List), callers must consider message overhead, which might be more than encoding overhead.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface zipkin2.reporter.BytesMessageSender
messageMaxBytes, send
-
-
-
-
Field Detail
-
encoding
protected final Encoding encoding
-
-
Constructor Detail
-
Base
protected Base(Encoding encoding)
-
-
Method Detail
-
encoding
public Encoding encoding()
Returns the encoding this sender requires spans to have.- Specified by:
encodingin interfaceBytesMessageSender
-
messageSizeInBytes
public int messageSizeInBytes(List<byte[]> encodedSpans)
Before invokingBytesMessageSender.send(List), callers must consider message overhead, which might be more than encoding overhead. This is used to not exceedBytesMessageSender.messageMaxBytes().Note this is not always
Encoding.listSizeInBytes(List), as some senders have inefficient list encoding. For example, Scribe base64's then tags each span with a category.- Specified by:
messageSizeInBytesin interfaceBytesMessageSender
-
messageSizeInBytes
public int messageSizeInBytes(int encodedSizeInBytes)
LikeBytesMessageSender.messageSizeInBytes(List), except for a single-span. This is used to ensure a span is never accepted that can never be sent.Note this is not always
Encoding.listSizeInBytes(int), as some senders have inefficient list encoding. For example, Stackdriver's proto message contains other fields.- Specified by:
messageSizeInBytesin interfaceBytesMessageSender- Parameters:
encodedSizeInBytes- theencoded sizeof a span
-
-