healthandmetrics

package
v0.0.3 Latest Latest
Warning

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

Go to latest
Published: Mar 4, 2024 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	HealthCheckURL = "/healthcheck"
	MetricsURL     = "/metrics"
)
View Source
var ActiveConnectionsMetrics prometheus.Gauge
View Source
var Delay95PercentileMetrics prometheus.Gauge
View Source
var Delay99PercentileMetrics prometheus.Gauge
View Source
var DelayMaxMetrics prometheus.Gauge
View Source
var DelayMeanMetrics prometheus.Gauge
View Source
var DelayMedianMetrics prometheus.Gauge

Functions

func EnableActiveConnectionsMetrics

func EnableActiveConnectionsMetrics()

func EnableDelayMetrics added in v0.0.3

func EnableDelayMetrics()

Types

type HealthCheckFailedObserver

type HealthCheckFailedObserver func(HealthCheckObject, error)

type HealthCheckObject

type HealthCheckObject interface {
	HealthCheckAddress() string
}

type HealthCheckProcessor

type HealthCheckProcessor interface {
	Check(HealthCheckObject) error
}

func NewHttpHealthCheckProcessor

func NewHttpHealthCheckProcessor(timeout time.Duration) HealthCheckProcessor

type HealthCheckSuccessObserver

type HealthCheckSuccessObserver func(HealthCheckObject)

type HealthChecker

type HealthChecker interface {
	AddHealthCheckObject(HealthCheckObject) error
	RemoveHealthCheckObject(HealthCheckObject) error
	AddSuccessObserver(HealthCheckSuccessObserver)
	AddFailedObserver(HealthCheckFailedObserver)
	Start() error
}

func NewHealthChecker

func NewHealthChecker(delay time.Duration, processorsCount int, processor HealthCheckProcessor) HealthChecker

type MetricsConsumer

type MetricsConsumer interface {
	AddMetricsObservable(MetricsObservable) error
	RemoveMetricsObservable(MetricsObservable) error
	AddObserver(MetricsObserver)
	Start() error
}

func NewMetricsConsumer

func NewMetricsConsumer(delay time.Duration, processorsCount int, reader MetricsReader) MetricsConsumer

type MetricsObservable

type MetricsObservable interface {
	MetricsAddress() string
}

type MetricsObserver

type MetricsObserver func(MetricsObservable, *MetricsRead)

type MetricsRead

type MetricsRead struct {
	ActiveConnections int

	DelayMean         int
	DelayMedian       int
	Delay95Percentile int
	Delay99Percentile int
	DelayMax          int

	Raw []dto.MetricFamily
}

type MetricsReader

type MetricsReader interface {
	Read(MetricsObservable) (*MetricsRead, error)
}

func NewHttpPrometheusMetricsReader

func NewHttpPrometheusMetricsReader(timeout time.Duration) MetricsReader

type Server

type Server interface {
	ListenAndServe() error
	Shutdown(ctx context.Context) error
	Port() string
}

func NewServer

func NewServer(port string, metricsHandler http.Handler) Server

Jump to

Keyboard shortcuts

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