Package io.opencensus.trace.propagation
Class BinaryFormat
- java.lang.Object
-
- io.opencensus.trace.propagation.BinaryFormat
-
- Direct Known Subclasses:
BinaryFormat.NoopBinaryFormat,BinaryFormatImpl
public abstract class BinaryFormat extends java.lang.ObjectThis is a helper class forSpanContextpropagation on the wire using binary encoding.Example of usage on the client:
private static final Tracer tracer = Tracing.getTracer(); private static final BinaryFormat binaryFormat = Tracing.getPropagationComponent().getBinaryFormat(); void onSendRequest() { try (Scope ss = tracer.spanBuilder("Sent.MyRequest").startScopedSpan()) { byte[] binaryValue = binaryFormat.toByteArray(tracer.getCurrentContext().context()); // Send the request including the binaryValue and wait for the response. } }Example of usage on the server:
private static final Tracer tracer = Tracing.getTracer(); private static final BinaryFormat binaryFormat = Tracing.getPropagationComponent().getBinaryFormat(); void onRequestReceived() { // Get the binaryValue from the request. SpanContext spanContext = SpanContext.INVALID; try { if (binaryValue != null) { spanContext = binaryFormat.fromByteArray(binaryValue); } } catch (SpanContextParseException e) { // Maybe log the exception. } try (Scope ss = tracer.spanBuilderWithRemoteParent("Recv.MyRequest", spanContext).startScopedSpan()) { // Handle request and send response back. } }- Since:
- 0.5
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classBinaryFormat.NoopBinaryFormat
-
Field Summary
Fields Modifier and Type Field Description (package private) static BinaryFormat.NoopBinaryFormatNOOP_BINARY_FORMAT
-
Constructor Summary
Constructors Constructor Description BinaryFormat()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description SpanContextfromBinaryValue(byte[] bytes)Deprecated.SpanContextfromByteArray(byte[] bytes)Parses theSpanContextfrom a byte array using the binary format.(package private) static BinaryFormatgetNoopBinaryFormat()Returns the no-op implementation of theBinaryFormat.byte[]toBinaryValue(SpanContext spanContext)Deprecated.byte[]toByteArray(SpanContext spanContext)Serializes aSpanContextinto a byte array using the binary format.
-
-
-
Field Detail
-
NOOP_BINARY_FORMAT
static final BinaryFormat.NoopBinaryFormat NOOP_BINARY_FORMAT
-
-
Method Detail
-
toBinaryValue
@Deprecated public byte[] toBinaryValue(SpanContext spanContext)
Deprecated.Serializes aSpanContextinto a byte array using the binary format.- Parameters:
spanContext- theSpanContextto serialize.- Returns:
- the serialized binary value.
- Throws:
java.lang.NullPointerException- if thespanContextisnull.- Since:
- 0.5
-
toByteArray
public byte[] toByteArray(SpanContext spanContext)
Serializes aSpanContextinto a byte array using the binary format.- Parameters:
spanContext- theSpanContextto serialize.- Returns:
- the serialized binary value.
- Throws:
java.lang.NullPointerException- if thespanContextisnull.- Since:
- 0.7
-
fromBinaryValue
@Deprecated public SpanContext fromBinaryValue(byte[] bytes) throws java.text.ParseException
Deprecated.Parses theSpanContextfrom a byte array using the binary format.- Parameters:
bytes- a binary encoded buffer from which theSpanContextwill be parsed.- Returns:
- the parsed
SpanContext. - Throws:
java.lang.NullPointerException- if theinputisnull.java.text.ParseException- if the version is not supported or the input is invalid- Since:
- 0.5
-
fromByteArray
public SpanContext fromByteArray(byte[] bytes) throws SpanContextParseException
Parses theSpanContextfrom a byte array using the binary format.- Parameters:
bytes- a binary encoded buffer from which theSpanContextwill be parsed.- Returns:
- the parsed
SpanContext. - Throws:
java.lang.NullPointerException- if theinputisnull.SpanContextParseException- if the version is not supported or the input is invalid- Since:
- 0.7
-
getNoopBinaryFormat
static BinaryFormat getNoopBinaryFormat()
Returns the no-op implementation of theBinaryFormat.- Returns:
- the no-op implementation of the
BinaryFormat.
-
-