Package io.grpc.opentelemetry
Class BinaryFormat
java.lang.Object
io.grpc.opentelemetry.BinaryFormat
- All Implemented Interfaces:
io.grpc.Metadata.BinaryMarshaller<io.opentelemetry.api.trace.SpanContext>
final class BinaryFormat
extends Object
implements io.grpc.Metadata.BinaryMarshaller<io.opentelemetry.api.trace.SpanContext>
Binary encoded
SpanContext
for context propagation. This is adapted from OpenCensus
binary format.
BinaryFormat format:
- Binary value: <version_id><version_format>
- version_id: 1-byte representing the version id.
- For version_id = 0:
- version_format: <field><field>
- field_format: <field_id><field_format>
- Fields:
- TraceId: (field_id = 0, len = 16, default = "0000000000000000") - 16-byte array representing the trace_id.
- SpanId: (field_id = 1, len = 8, default = "00000000") - 8-byte array representing the span_id.
- TraceFlags: (field_id = 2, len = 1, default = "0") - 1-byte array representing the trace_flags.
- Fields MUST be encoded using the field id order (smaller to higher).
- Valid value example:
- {0, 0, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 1, 97, 98, 99, 100, 101, 102, 103, 104, 2, 1}
- version_id = 0;
- trace_id = {64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79}
- span_id = {97, 98, 99, 100, 101, 102, 103, 104};
- trace_flags = {1};
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final int
private static final byte
private static final BinaryFormat
private static final int
private static final byte
private static final int
private static final int
private static final int
private static final byte
private static final int
private static final int
private static final int
private static final byte
private static final int
private static final int
private static final int
private static final byte
private static final int
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic BinaryFormat
io.opentelemetry.api.trace.SpanContext
parseBytes
(byte[] serialized) byte[]
toBytes
(io.opentelemetry.api.trace.SpanContext spanContext)
-
Field Details
-
VERSION_ID
private static final byte VERSION_ID- See Also:
-
VERSION_ID_OFFSET
private static final int VERSION_ID_OFFSET- See Also:
-
ID_SIZE
private static final byte ID_SIZE- See Also:
-
TRACE_ID_FIELD_ID
private static final byte TRACE_ID_FIELD_ID- See Also:
-
TRACE_ID_FIELD_ID_OFFSET
private static final int TRACE_ID_FIELD_ID_OFFSET- See Also:
-
TRACE_ID_OFFSET
private static final int TRACE_ID_OFFSET- See Also:
-
TRACE_ID_SIZE
private static final int TRACE_ID_SIZE -
SPAN_ID_FIELD_ID
private static final byte SPAN_ID_FIELD_ID- See Also:
-
SPAN_ID_FIELD_ID_OFFSET
private static final int SPAN_ID_FIELD_ID_OFFSET -
SPAN_ID_OFFSET
private static final int SPAN_ID_OFFSET -
SPAN_ID_SIZE
private static final int SPAN_ID_SIZE -
TRACE_FLAG_FIELD_ID
private static final byte TRACE_FLAG_FIELD_ID- See Also:
-
TRACE_FLAG_FIELD_ID_OFFSET
private static final int TRACE_FLAG_FIELD_ID_OFFSET -
TRACE_FLAG_OFFSET
private static final int TRACE_FLAG_OFFSET -
REQUIRED_FORMAT_LENGTH
private static final int REQUIRED_FORMAT_LENGTH -
TRACE_FLAG_SIZE
private static final int TRACE_FLAG_SIZE -
ALL_FORMAT_LENGTH
private static final int ALL_FORMAT_LENGTH -
INSTANCE
-
-
Constructor Details
-
BinaryFormat
BinaryFormat()
-
-
Method Details
-
getInstance
-
toBytes
public byte[] toBytes(io.opentelemetry.api.trace.SpanContext spanContext) - Specified by:
toBytes
in interfaceio.grpc.Metadata.BinaryMarshaller<io.opentelemetry.api.trace.SpanContext>
-
parseBytes
public io.opentelemetry.api.trace.SpanContext parseBytes(byte[] serialized) - Specified by:
parseBytes
in interfaceio.grpc.Metadata.BinaryMarshaller<io.opentelemetry.api.trace.SpanContext>
-