Help us shape the future of Go! Take the 2026 Go Developer Survey

tracing

package
v4.1.6 Latest Latest
Warning

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

Go to latest
Published: Oct 22, 2026 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddTracingTransportWrapper

func AddTracingTransportWrapper(_ context.Context, config *rest.Config)

AddTracingTransportWrapper wraps the k8s client transport with otelhttp to trace all Kubernetes API calls with semconv-compliant span names and k8s-specific attributes.

func WrapHTTPArtifactClient

func WrapHTTPArtifactClient(client *http.Client, artifactType string) *http.Client

WrapHTTPArtifactClient wraps an http.Client's transport with otelhttp tracing and adds artifact-specific attributes. If the client is nil, returns a new traced client. If the client's transport is nil, uses http.DefaultTransport.

func WrapS3Transport

func WrapS3Transport(rt http.RoundTripper) http.RoundTripper

WrapS3Transport wraps an HTTP transport with otelhttp tracing and S3-specific attribute extraction.

Types

type Tracing

type Tracing struct {
	*telemetry.Tracing
	// contains filtered or unexported fields
}

func CreateDefaultTestTracing

func CreateDefaultTestTracing(ctx context.Context) (*Tracing, *telemetry.TestTracingExporter, error)

CreateDefaultTestTracing creates a Tracing instance with a TestTracingExporter for testing. It returns the Tracing instance and the exporter so tests can query collected spans.

func New

func New(ctx context.Context, serviceName string) (*Tracing, error)

func (*Tracing) ChangeNodePhase

func (trc *Tracing) ChangeNodePhase(ctx context.Context, wfID string, nodeID string, phase wfv1.NodePhase, message string)

func (*Tracing) ChangeWorkflowPhase

func (trc *Tracing) ChangeWorkflowPhase(ctx context.Context, name, namespace string, phase wfv1.WorkflowPhase)

func (*Tracing) EndNode

func (trc *Tracing) EndNode(ctx context.Context, wfID string, nodeID string, phase wfv1.NodePhase)

func (*Tracing) EndWorkflow

func (trc *Tracing) EndWorkflow(ctx context.Context, name, namespace string, phase wfv1.WorkflowPhase)

func (*Tracing) RecordStartNode

func (trc *Tracing) RecordStartNode(ctx context.Context, name, namespace string, nodeID string, nodeType string, phase wfv1.NodePhase, message string) context.Context

func (*Tracing) RecordStartWorkflow

func (trc *Tracing) RecordStartWorkflow(ctx context.Context, name, namespace string) context.Context

func (*Tracing) RecoverWorkflowContext

func (trc *Tracing) RecoverWorkflowContext(ctx context.Context, id string) context.Context

func (*Tracing) RegisterRateLimiterCallback

func (trc *Tracing) RegisterRateLimiterCallback()

RegisterRateLimiterCallback registers the tracing callback with the rate limiter instrumentation. This enables span creation for rate limiter waits when there's an active span context.

func (*Tracing) StartWaitClientRateLimiterSafe

func (trc *Tracing) StartWaitClientRateLimiterSafe(ctx context.Context) (context.Context, trace.Span)

StartWaitClientRateLimiterSafe creates a span for rate limiter waits only when there's a valid span context. Unlike StartWaitClientRateLimiter, this method doesn't validate the parent span name, allowing spans to be created under any active context (nodePhase, reconcileWorkflow, etc.).

Jump to

Keyboard shortcuts

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