tracing

package
v4.1.1 Latest Latest
Warning

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

Go to latest
Published: Aug 14, 2026 License: Apache-2.0 Imports: 17 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