Package zipkin2.reporter
Class BytesMessageSender.Base
- java.lang.Object
-
- zipkin2.reporter.BytesMessageSender.Base
-
- All Implemented Interfaces:
Closeable
,BytesMessageSender
- 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 Encoding
encoding()
Returns the encoding this sender requires spans to have.int
messageSizeInBytes(int encodedSizeInBytes)
LikeBytesMessageSender.messageSizeInBytes(List)
, except for a single-span.int
messageSizeInBytes(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:
encoding
in 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:
messageSizeInBytes
in 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:
messageSizeInBytes
in interfaceBytesMessageSender
- Parameters:
encodedSizeInBytes
- theencoded size
of a span
-
-