package baggage
Import Path
go.opentelemetry.io/otel/baggage (on go.dev)
Dependency Relation
imports 7 packages, and imported by one package
Involved Source Files
baggage.go
context.go
Package baggage provides functionality for storing and retrieving
baggage items in Go context. For propagating the baggage, see the
go.opentelemetry.io/otel/propagation package.
Package-Level Type Names (total 3)
Baggage is a list of baggage members representing the baggage-string as
defined by the W3C Baggage specification.
DeleteMember returns a copy of the Baggage with the list-member identified
by key removed.
Len returns the number of list-members in the Baggage.
Member returns the baggage list-member identified by key.
If there is no list-member matching the passed key the returned Member will
be a zero-value Member.
The returned member is not validated, as we assume the validation happened
when it was added to the Baggage.
Members returns all the baggage list-members.
The order of the returned list-members is not significant.
The returned members are not validated, as we assume the validation happened
when they were added to the Baggage.
SetMember returns a copy of the Baggage with the member included. If the
baggage contains a Member with the same key, the existing Member is
replaced.
If member is invalid according to the W3C Baggage specification, an error
is returned with the original Baggage.
String encodes Baggage into a header string compliant with the W3C Baggage
specification.
It would ignore members where the member key is invalid with the W3C Baggage
specification. This could happen for a UTF-8 key, as it may contain
invalid characters.
Baggage : expvar.Var
Baggage : fmt.Stringer
func FromContext(ctx context.Context) Baggage
func New(members ...Member) (Baggage, error)
func Parse(bStr string) (Baggage, error)
func Baggage.DeleteMember(key string) Baggage
func Baggage.SetMember(member Member) (Baggage, error)
func ContextWithBaggage(parent context.Context, b Baggage) context.Context
Member is a list-member of a baggage-string as defined by the W3C Baggage
specification.
Key returns the Member key.
Properties returns a copy of the Member properties.
String encodes Member into a header string compliant with the W3C Baggage
specification.
It would return empty string if the key is invalid with the W3C Baggage
specification. This could happen for a UTF-8 key, as it may contain
invalid characters.
Value returns the Member value.
Member : expvar.Var
Member : fmt.Stringer
func NewMember(key, value string, props ...Property) (Member, error)
func NewMemberRaw(key, value string, props ...Property) (Member, error)
func Baggage.Member(key string) Member
func Baggage.Members() []Member
func New(members ...Member) (Baggage, error)
func Baggage.SetMember(member Member) (Baggage, error)
Property is an additional metadata entry for a baggage list-member.
Key returns the Property key.
String encodes Property into a header string compliant with the W3C Baggage
specification.
It would return empty string if the key is invalid with the W3C Baggage
specification. This could happen for a UTF-8 key, as it may contain
invalid characters.
Value returns the Property value. Additionally, a boolean value is returned
indicating if the returned value is the empty if the Property has a value
that is empty or if the value is not set.
Property : expvar.Var
Property : fmt.Stringer
func NewKeyProperty(key string) (Property, error)
func NewKeyValueProperty(key, value string) (Property, error)
func NewKeyValuePropertyRaw(key, value string) (Property, error)
func Member.Properties() []Property
func NewMember(key, value string, props ...Property) (Member, error)
func NewMemberRaw(key, value string, props ...Property) (Member, error)
Package-Level Functions (total 10)
ContextWithBaggage returns a copy of parent with baggage.
ContextWithoutBaggage returns a copy of parent with no baggage.
FromContext returns the baggage contained in ctx.
New returns a new valid Baggage. It returns an error if it results in a
Baggage exceeding limits set in that specification.
It expects all the provided members to have already been validated.
NewKeyProperty returns a new Property for key.
The passed key must be valid, non-empty UTF-8 string.
If key is invalid, an error will be returned.
However, the specific Propagators that are used to transmit baggage entries across
component boundaries may impose their own restrictions on Property key.
For example, the W3C Baggage specification restricts the Property keys to strings that
satisfy the token definition from RFC7230, Section 3.2.6.
For maximum compatibility, alphanumeric value are strongly recommended to be used as Property key.
NewKeyValueProperty returns a new Property for key with value.
The passed key must be compliant with W3C Baggage specification.
The passed value must be percent-encoded as defined in W3C Baggage specification.
Notice: Consider using [NewKeyValuePropertyRaw] instead
that does not require percent-encoding of the value.
NewKeyValuePropertyRaw returns a new Property for key with value.
The passed key must be valid, non-empty UTF-8 string.
The passed value must be valid UTF-8 string.
However, the specific Propagators that are used to transmit baggage entries across
component boundaries may impose their own restrictions on Property key.
For example, the W3C Baggage specification restricts the Property keys to strings that
satisfy the token definition from RFC7230, Section 3.2.6.
For maximum compatibility, alphanumeric value are strongly recommended to be used as Property key.
NewMember returns a new Member from the passed arguments.
The passed key must be compliant with W3C Baggage specification.
The passed value must be percent-encoded as defined in W3C Baggage specification.
Notice: Consider using [NewMemberRaw] instead
that does not require percent-encoding of the value.
NewMemberRaw returns a new Member from the passed arguments.
The passed key must be valid, non-empty UTF-8 string.
The passed value must be valid UTF-8 string.
However, the specific Propagators that are used to transmit baggage entries across
component boundaries may impose their own restrictions on baggage key.
For example, the W3C Baggage specification restricts the baggage keys to strings that
satisfy the token definition from RFC7230, Section 3.2.6.
For maximum compatibility, alphanumeric value are strongly recommended to be used as baggage key.
Parse attempts to decode a baggage-string from the passed string. It
returns an error if the input is invalid according to the W3C Baggage
specification.
If there are duplicate list-members contained in baggage, the last one
defined (reading left-to-right) will be the only one kept. This diverges
from the W3C Baggage specification which allows duplicate list-members, but
conforms to the OpenTelemetry Baggage specification.
![]() |
The pages are generated with Golds v0.8.2. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds. |