instrumentation

package
v0.9.2 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func InitTracer added in v0.8.1

func InitTracer(log logrus.FieldLogger, cfg *config.Config, serviceName string) func(context.Context) error

InitTracer initializes OpenTelemetry tracing using the provided config. It sets the global TracerProvider, which will be used for all span creation throughout the application. If tracing is disabled or misconfigured, a no-op tracer provider is used instead.

The returned shutdown function should be called on application exit to ensure all spans are flushed.

func NewLoggingResponseWriter

func NewLoggingResponseWriter(w http.ResponseWriter) *loggingResponseWriter

func StartSpan added in v0.8.1

func StartSpan(ctx context.Context, tracerName, spanName string, opts ...trace.SpanStartOption) (context.Context, trace.Span)

StartSpan creates a new span using the global tracer provider. It uses the provided context to determine the parent span (if any), and returns a new context and the started span. The span name is normalized to kebab-case.

Types

type ApiMetrics

type ApiMetrics struct {
	SloMax float64

	SuccessLatency prometheus.Histogram
	ErrorLatency   prometheus.Histogram

	ApiTraffic   prometheus.Counter
	AgentTraffic prometheus.Counter

	SloViolations prometheus.Counter
	ClientErrors  prometheus.Counter
	ServerErrors  prometheus.Counter

	CpuUtilization    prometheus.Gauge
	MemoryUtilization prometheus.Gauge
	DiskUtilization   prometheus.Gauge
}

func NewApiMetrics

func NewApiMetrics(cfg *config.Config) *ApiMetrics

func (*ApiMetrics) AgentServerMiddleware

func (m *ApiMetrics) AgentServerMiddleware(next http.Handler) http.Handler

func (*ApiMetrics) ApiServerMiddleware

func (m *ApiMetrics) ApiServerMiddleware(next http.Handler) http.Handler

func (*ApiMetrics) RegisterWith

func (m *ApiMetrics) RegisterWith(reg *prometheus.Registry)

func (*ApiMetrics) ServerMiddleware

func (m *ApiMetrics) ServerMiddleware(next http.Handler, agentServer bool) http.Handler

type MetricsServer

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

func NewMetricsServer

func NewMetricsServer(
	log logrus.FieldLogger,
	cfg *config.Config,
	metrics *ApiMetrics,
) *MetricsServer

func (*MetricsServer) Run

func (m *MetricsServer) Run(ctx context.Context) error

Jump to

Keyboard shortcuts

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