Documentation
¶
Index ¶
- func InitTracer(log logrus.FieldLogger, cfg *config.Config, serviceName string) func(context.Context) error
- func NewLoggingResponseWriter(w http.ResponseWriter) *loggingResponseWriter
- func StartSpan(ctx context.Context, tracerName, spanName string, ...) (context.Context, trace.Span)
- type ApiMetrics
- type MetricsServer
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 ¶
type MetricsServer ¶
type MetricsServer struct {
// contains filtered or unexported fields
}
func NewMetricsServer ¶
func NewMetricsServer( log logrus.FieldLogger, cfg *config.Config, metrics *ApiMetrics, ) *MetricsServer
Click to show internal directories.
Click to hide internal directories.