baggage

package
v1.19.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 28, 2023 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Overview

Package baggage provides base types and functionality to store and retrieve baggage in Go context. This package exists because the OpenTracing bridge to OpenTelemetry needs to synchronize state whenever baggage for a context is modified and that context contains an OpenTracing span. If it were not for this need this package would not need to exist and the `go.opentelemetry.io/otel/baggage` package would be the singular place where W3C baggage is handled.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ContextWithGetHook

func ContextWithGetHook(parent context.Context, hook GetHookFunc) context.Context

ContextWithGetHook returns a copy of parent with hook configured to be invoked every time FromContext is called.

Passing nil GetHookFunc creates a context with no get hook to call.

func ContextWithList added in v1.0.0

func ContextWithList(parent context.Context, list List) context.Context

ContextWithList returns a copy of parent with baggage. Passing nil list returns a context without any baggage.

func ContextWithSetHook

func ContextWithSetHook(parent context.Context, hook SetHookFunc) context.Context

ContextWithSetHook returns a copy of parent with hook configured to be invoked every time ContextWithBaggage is called.

Passing nil SetHookFunc creates a context with no set hook to call.

Types

type GetHookFunc

type GetHookFunc func(context.Context, List) List

GetHookFunc is a callback called when getting baggage from the context.

type Item added in v1.0.0

type Item struct {
	Value      string
	Properties []Property
}

Item is the value and metadata properties part of a list-member.

type List added in v1.0.0

type List map[string]Item

List is the collection of baggage members. The W3C allows for duplicates, but OpenTelemetry does not, therefore, this is represented as a map.

func ListFromContext added in v1.0.0

func ListFromContext(ctx context.Context) List

ListFromContext returns the baggage contained in ctx.

type Property added in v1.0.0

type Property struct {
	Key, Value string

	// HasValue indicates if a zero-value value means the property does not
	// have a value or if it was the zero-value.
	HasValue bool
}

Property is a metadata entry for a list-member.

type SetHookFunc

type SetHookFunc func(context.Context, List) context.Context

SetHookFunc is a callback called when storing baggage in the context.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL