Documentation
¶
Index ¶
- func AddTracingTransportWrapper(_ context.Context, config *rest.Config)
- func WrapHTTPArtifactClient(client *http.Client, artifactType string) *http.Client
- func WrapS3Transport(rt http.RoundTripper) http.RoundTripper
- type Tracing
- func (trc *Tracing) ChangeNodePhase(ctx context.Context, wfID string, nodeID string, phase wfv1.NodePhase, ...)
- func (trc *Tracing) ChangeWorkflowPhase(ctx context.Context, name, namespace string, phase wfv1.WorkflowPhase)
- func (trc *Tracing) EndNode(ctx context.Context, wfID string, nodeID string, phase wfv1.NodePhase)
- func (trc *Tracing) EndWorkflow(ctx context.Context, name, namespace string, phase wfv1.WorkflowPhase)
- func (trc *Tracing) RecordStartNode(ctx context.Context, name, namespace string, nodeID string, nodeType string, ...) context.Context
- func (trc *Tracing) RecordStartWorkflow(ctx context.Context, name, namespace string) context.Context
- func (trc *Tracing) RecoverWorkflowContext(ctx context.Context, id string) context.Context
- func (trc *Tracing) RegisterRateLimiterCallback()
- func (trc *Tracing) StartWaitClientRateLimiterSafe(ctx context.Context) (context.Context, trace.Span)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AddTracingTransportWrapper ¶
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 ¶
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 ¶
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 (*Tracing) ChangeNodePhase ¶
func (*Tracing) ChangeWorkflowPhase ¶
func (*Tracing) EndWorkflow ¶
func (*Tracing) RecordStartNode ¶
func (*Tracing) RecordStartWorkflow ¶
func (*Tracing) RecoverWorkflowContext ¶
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.).