Documentation ¶
Overview ¶
Package propagation contains interface definition for Binary and TextFormat propagators.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BinaryFormatPropagator ¶
type BinaryFormatPropagator interface { // ToBytes serializes span context into a byte array and returns the array. ToBytes(sc core.SpanContext) []byte // FromBytes de-serializes byte array into span context and returns the span context. FromBytes([]byte) core.SpanContext }
BinaryFormatPropagator is an interface that specifies methods to convert SpanContext to/from byte array.
type NoopTextFormatPropagator ¶
type NoopTextFormatPropagator struct{}
NoopTextFormatPropagator implements TextFormatPropagator that does nothing.
func (NoopTextFormatPropagator) Extract ¶
func (np NoopTextFormatPropagator) Extract(ctx context.Context, supplier Supplier) (core.SpanContext, dctx.Map)
Extract does nothing and returns an empty SpanContext
func (NoopTextFormatPropagator) GetAllKeys ¶
func (np NoopTextFormatPropagator) GetAllKeys() []string
GetAllKeys returns empty list of strings.
type Supplier ¶
Supplier is an interface that specifies methods to retrieve and store value for a key to an associated carrier. Get method retrieves the value for a given key. Set method stores the value for a given key.
type TextFormatPropagator ¶
type TextFormatPropagator interface { // Inject method retrieves current SpanContext from the ctx, encodes it into propagator // specific format and then injects the encoded SpanContext using supplier into a carrier // associated with the supplier. It also takes a correlationCtx whose values will be // injected into a carrier using the supplier. Inject(ctx context.Context, supplier Supplier) // Extract method retrieves encoded SpanContext using supplier from the associated carrier. // It decodes the SpanContext and returns it and a dctx of correlated context. // If no SpanContext was retrieved OR if the retrieved SpanContext is invalid then // an empty SpanContext is returned. Extract(ctx context.Context, supplier Supplier) (core.SpanContext, dctx.Map) // GetAllKeys returns all the keys that this propagator injects/extracts into/from a // carrier. The use cases for this are // * allow pre-allocation of fields, especially in systems like gRPC Metadata // * allow a single-pass over an iterator (ex OpenTracing has no getter in TextMap) GetAllKeys() []string }
TextFormatPropagator is an interface that specifies methods to inject and extract SpanContext and distributed context into/from a carrier using Supplier interface. For example, HTTP Trace Context propagator would encode SpanContext into W3C Trace Context Header and set the header into HttpRequest.