otel

package
v0.26.4 Latest Latest
Warning

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

Go to latest
Published: Aug 25, 2026 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func SignalEndpointURL added in v0.26.3

func SignalEndpointURL(endpoint, signalPath string) string

SignalEndpointURL appends the OTLP signal path (e.g. "v1/traces") to a path-less HTTP endpoint URL. otel-go 1.45.0 stopped appending the default signal path in the HTTP exporters' WithEndpointURL, so a bare endpoint like http://localhost:4318 would silently export to "/" instead.

Types

type OpenTelemetry

type OpenTelemetry interface {
	// Application level metrics
	RecordTokenUsage(ctx context.Context, attrs TelemetryAttributes, usage sdk.CompletionUsage)
	RecordRequestCount(ctx context.Context, attrs TelemetryAttributes, requestType string)
	RecordResponseStatus(ctx context.Context, attrs TelemetryAttributes, requestType, requestPath string, statusCode int)
	RecordRequestDuration(ctx context.Context, attrs TelemetryAttributes, requestType, requestPath string, durationMs float64)
	RecordTaskQueued(ctx context.Context, attrs TelemetryAttributes)
	RecordTaskCompleted(ctx context.Context, attrs TelemetryAttributes, success bool)
	RecordTaskFailure(ctx context.Context, attrs TelemetryAttributes, toolName string, errorMessage string)
	RecordToolCallFailure(ctx context.Context, attrs TelemetryAttributes, toolName string, errorMessage string)

	// TracerProvider returns the tracer provider for creating spans
	TracerProvider() trace.TracerProvider

	// Shutdown the telemetry system
	ShutDown(ctx context.Context) error
}

OpenTelemetry defines the operations for telemetry

func NewOpenTelemetry

func NewOpenTelemetry(cfg *config.Config, logger *zap.Logger) (OpenTelemetry, error)

NewOpenTelemetry creates a new OpenTelemetry implementation with proper dependency injection

type OpenTelemetryImpl

type OpenTelemetryImpl struct {
	// contains filtered or unexported fields
}

func (*OpenTelemetryImpl) RecordRequestCount

func (o *OpenTelemetryImpl) RecordRequestCount(ctx context.Context, attrs TelemetryAttributes, requestType string)

func (*OpenTelemetryImpl) RecordRequestDuration

func (o *OpenTelemetryImpl) RecordRequestDuration(ctx context.Context, attrs TelemetryAttributes, requestType, requestPath string, durationMs float64)

func (*OpenTelemetryImpl) RecordResponseStatus

func (o *OpenTelemetryImpl) RecordResponseStatus(ctx context.Context, attrs TelemetryAttributes, requestType, requestPath string, statusCode int)

func (*OpenTelemetryImpl) RecordTaskCompleted

func (o *OpenTelemetryImpl) RecordTaskCompleted(ctx context.Context, attrs TelemetryAttributes, success bool)

func (*OpenTelemetryImpl) RecordTaskFailure

func (o *OpenTelemetryImpl) RecordTaskFailure(ctx context.Context, attrs TelemetryAttributes, toolName string, errorMessage string)

func (*OpenTelemetryImpl) RecordTaskQueued

func (o *OpenTelemetryImpl) RecordTaskQueued(ctx context.Context, attrs TelemetryAttributes)

func (*OpenTelemetryImpl) RecordTokenUsage

func (o *OpenTelemetryImpl) RecordTokenUsage(ctx context.Context, attrs TelemetryAttributes, usage sdk.CompletionUsage)

func (*OpenTelemetryImpl) RecordToolCallFailure

func (o *OpenTelemetryImpl) RecordToolCallFailure(ctx context.Context, attrs TelemetryAttributes, toolName string, errorMessage string)

func (*OpenTelemetryImpl) ShutDown

func (o *OpenTelemetryImpl) ShutDown(ctx context.Context) error

func (*OpenTelemetryImpl) TracerProvider added in v0.22.0

func (o *OpenTelemetryImpl) TracerProvider() trace.TracerProvider

TracerProvider returns the tracer provider for creating spans

type TelemetryAttributes

type TelemetryAttributes struct {
	Provider string
	Model    string
	TaskID   string
}

Jump to

Keyboard shortcuts

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