Documentation ¶
Overview ¶
Package tracing implements utility functions for recording opentracing events for messages.
WARNING: This package is considered experimental, and therefore is subject to change without a major version release.
Index ¶
- func CreateChildSpan(operationName string, part types.Part) opentracing.Span
- func CreateChildSpans(operationName string, msg types.Message) []opentracing.Span
- func FinishSpans(msg types.Message)
- func GetSpan(p types.Part) opentracing.Span
- func InitSpans(operationName string, msg types.Message)
- func InitSpansFromParent(operationName string, parent opentracing.SpanContext, msg types.Message)
- func IterateWithChildSpans(operationName string, msg types.Message, ...) error
- func PartsWithChildSpans(operationName string, parts []types.Part) ([]types.Part, []opentracing.Span)
- func WithChildSpans(operationName string, msg types.Message) (types.Message, []opentracing.Span)
- func WithSiblingSpans(operationName string, msg types.Message) types.Message
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CreateChildSpan ¶
CreateChildSpan takes a message part, extracts an existing span if there is one and returns child span.
func CreateChildSpans ¶
CreateChildSpans takes a message, extracts spans per message part and returns a slice of child spans. The length of the returned slice is guaranteed to match the message size.
func FinishSpans ¶
FinishSpans calls Finish on all message parts containing a span.
func GetSpan ¶
GetSpan returns a span attached to a message part. Returns nil if the part doesn't have a span attached.
func InitSpans ¶
InitSpans sets up OpenTracing spans on each message part if one does not already exist.
func InitSpansFromParent ¶
InitSpansFromParent sets up OpenTracing spans as children of a parent span on each message part if one does not already exist.
func IterateWithChildSpans ¶
func IterateWithChildSpans(operationName string, msg types.Message, iter func(int, opentracing.Span, types.Part) error) error
IterateWithChildSpans iterates all the parts of a message and, for each part, creates a new span from an existing span attached to the part and calls a func with that span before finishing the child span.
func PartsWithChildSpans ¶ added in v3.26.0
func PartsWithChildSpans(operationName string, parts []types.Part) ([]types.Part, []opentracing.Span)
PartsWithChildSpans takes a slice of message parts, extracts spans per part, creates new child spans, and returns a new slice of parts with those spans embedded. The original parts are unchanged.
func WithChildSpans ¶
WithChildSpans takes a message, extracts spans per message part, creates new child spans, and returns a new message with those spans embedded. The original message is unchanged.
Types ¶
This section is empty.