metrics

package
v0.6.8 Latest Latest
Warning

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

Go to latest
Published: Sep 30, 2026 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Overview

Package metrics provides Prometheus metrics via OpenTelemetry.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	BindAddr    string
	Path        string
	Diagnostics bool
	ProxyStats  ProxyStatsProvider
	WebStats    WebStatsProvider
	MiddleEnd   MiddleEndStatsProvider
}

Config configures the metrics server.

type MiddleEndStatsProvider added in v0.6.0

type MiddleEndStatsProvider interface {
	Snapshot() middleend.ServiceSnapshot
}

MiddleEndStatsProvider supplies redacted ME lifecycle, pool, and queue state.

type ProxyStatsProvider added in v0.5.2

type ProxyStatsProvider interface {
	HandshakeFailureStats() []gproxy.HandshakeFailureStat
}

ProxyStatsProvider supplies cumulative MTProxy handshake diagnostics.

type Server

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

Server wraps the metrics HTTP server.

func NewServer

func NewServer(cfg Config, limiter StatsProvider) (*Server, error)

NewServer creates a new metrics server.

func (*Server) Shutdown

func (s *Server) Shutdown(ctx context.Context) error

Shutdown gracefully shuts down the metrics server.

func (*Server) Start

func (s *Server) Start() error

Start opens the metrics listener and serves HTTP in a goroutine. Listener errors are returned before background serving starts.

type StatsProvider

type StatsProvider interface {
	Stats() []gproxy.UserIPStats
}

StatsProvider provides user statistics for metrics.

type WebStatsProvider added in v0.5.2

type WebStatsProvider interface {
	RuntimeStats() webproxy.RuntimeStats
}

WebStatsProvider supplies WEB lifecycle and capacity diagnostics.

Jump to

Keyboard shortcuts

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