Interface StatelessMarshaler<T>
- All Known Implementing Classes:
AnyValueStatelessMarshaler
,ArrayAnyValueStatelessMarshaler
,BoolAnyValueStatelessMarshaler
,BytesAnyValueStatelessMarshaler
,DoubleAnyValueStatelessMarshaler
,ExemplarStatelessMarshaler
,ExponentialHistogramBucketsStatelessMarshaler
,ExponentialHistogramDataPointStatelessMarshaler
,ExponentialHistogramStatelessMarshaler
,GaugeStatelessMarshaler
,HistogramDataPointStatelessMarshaler
,HistogramStatelessMarshaler
,IntAnyValueStatelessMarshaler
,KeyValueListAnyValueStatelessMarshaler
,KeyValueStatelessMarshaler
,LogStatelessMarshaler
,MetricStatelessMarshaler
,NumberDataPointStatelessMarshaler
,SpanEventStatelessMarshaler
,SpanLinkStatelessMarshaler
,SpanStatelessMarshaler
,SpanStatusStatelessMarshaler
,StringAnyValueStatelessMarshaler
,SummaryDataPointStatelessMarshaler
,SummaryStatelessMarshaler
,SumStatelessMarshaler
,ValueAtQuantileStatelessMarshaler
public interface StatelessMarshaler<T>
Marshaler from an SDK structure to protobuf wire format. It is intended that the instances of
this interface don't keep marshaling state and can be singletons. Any state needed for marshaling
should be stored in
MarshalerContext
. Marshaler should be used so that first getBinarySerializedSize(T, io.opentelemetry.exporter.internal.marshal.MarshalerContext)
is called and after that writeTo(io.opentelemetry.exporter.internal.marshal.Serializer, T, io.opentelemetry.exporter.internal.marshal.MarshalerContext)
is called. Calling getBinarySerializedSize(T, io.opentelemetry.exporter.internal.marshal.MarshalerContext)
may add values to MarshalerContext
that are later used in
writeTo(io.opentelemetry.exporter.internal.marshal.Serializer, T, io.opentelemetry.exporter.internal.marshal.MarshalerContext)
.
This class is internal and is hence not for public use. Its APIs are unstable and can change at any time.
-
Method Summary
Modifier and TypeMethodDescriptionint
getBinarySerializedSize
(T value, MarshalerContext context) Returns the number of bytes marshaling given value will write in proto binary format.void
writeTo
(Serializer output, T value, MarshalerContext context) Marshal given value using the providedSerializer
.
-
Method Details
-
getBinarySerializedSize
Returns the number of bytes marshaling given value will write in proto binary format. -
writeTo
Marshal given value using the providedSerializer
.- Throws:
IOException
-