Versions in this module Expand all Collapse all v1 v1.4.6 Jul 30, 2026 v1.4.4 Jul 23, 2026 Changes in this version + const DefaultEventQueueSize + const DefaultIntervalAgeThreshold + const MetricNameCount + const MetricNameMax + const MetricNameMean + const MetricNameMin + const MetricNamePercentile + const MetricNameRateM1 + const MetricNameRateM15 + const MetricNameRateM5 + const MinEventQueueSize + type DelegatingReporter struct + func NewDelegatingReporter(registry Registry, sink MetricSink, closeNotify <-chan struct{}) *DelegatingReporter + func (self *DelegatingReporter) Start(interval time.Duration) + func (self *DelegatingReporter) VisitFloatMetric(name string, val float64, extra string) + func (self *DelegatingReporter) VisitGauge(name string, gauge Gauge) + func (self *DelegatingReporter) VisitHistogram(name string, metric Histogram) + func (self *DelegatingReporter) VisitIntMetric(name string, val int64, extra string) + func (self *DelegatingReporter) VisitMeter(name string, metric Meter) + func (self *DelegatingReporter) VisitPercentileMetric(name string, val PercentileSource, extra string) + func (self *DelegatingReporter) VisitTimer(name string, metric Timer) + type Gauge interface + Update func(int64) + Value func() int64 + type Handler interface + AcceptMetrics func(message *metrics_pb.MetricsMessage) + type Histogram interface + Clear func() + Count func() int64 + CreateSnapshot func() Histogram + Max func() int64 + Mean func() float64 + Min func() int64 + Percentile func(float64) float64 + Percentiles func([]float64) []float64 + StdDev func() float64 + Sum func() int64 + Update func(int64) + Variance func() float64 + type IntervalCounter interface + Update func(intervalId string, time time.Time, value uint64) + type Meter interface + Count func() int64 + Mark func(int64) + Rate1 func() float64 + Rate15 func() float64 + Rate5 func() float64 + RateMean func() float64 + type Metric interface + Dispose func() + type MetricSink interface + AcceptFloatMetric func(name string, value float64) + AcceptIntMetric func(name string, value int64) + AcceptPercentileMetric func(name string, value PercentileSource) + EndReport func(registry Registry) + Filter func(name string) bool + StartReport func(registry Registry) + type PercentileSource interface + Percentile func(float64) float64 + type Registry interface + AcceptVisitor func(visitor Visitor) + DisposeAll func() + EachMetric func(visitor func(name string, metric Metric)) + FuncGauge func(name string, f func() int64) Gauge + Gauge func(name string) Gauge + GetGauge func(name string) Gauge + GetHistogram func(name string) Histogram + GetMeter func(name string) Meter + GetTimer func(name string) Timer + Histogram func(name string) Histogram + IsValidMetric func(name string) bool + Meter func(name string) Meter + Poll func() *metrics_pb.MetricsMessage + SourceId func() string + Timer func(name string) Timer + func NewRegistry(sourceId string, tags map[string]string) Registry + type Timer interface + Count func() int64 + CreateSnapshot func() Timer + Max func() int64 + Mean func() float64 + Min func() int64 + Percentile func(float64) float64 + Percentiles func([]float64) []float64 + Rate1 func() float64 + Rate15 func() float64 + Rate5 func() float64 + RateMean func() float64 + StdDev func() float64 + Sum func() int64 + Time func(func()) + Update func(time.Duration) + UpdateSince func(time.Time) + Variance func() float64 + type UsageCounter interface + Update func(source UsageSource, usageType string, time time.Time, value uint64) + type UsageRegistry interface + FlushToHandler func(handler Handler) + IntervalCounter func(name string, intervalSize time.Duration) IntervalCounter + PollWithoutUsageMetrics func() *metrics_pb.MetricsMessage + StartReporting func(eventSink Handler, reportInterval time.Duration, msgQueueSize int) + UsageCounter func(name string, intervalSize time.Duration) UsageCounter + func NewUsageRegistry(config UsageRegistryConfig) UsageRegistry + type UsageRegistryConfig struct + CloseNotify <-chan struct{} + EventQueueSize int + IntervalAgeThreshold time.Duration + SourceId string + Tags map[string]string + func DefaultUsageRegistryConfig(sourceId string, closeNotify <-chan struct{}) UsageRegistryConfig + type UsageSource interface + GetIntervalId func() string + GetTags func() map[string]string + type Visitor interface + VisitGauge func(name string, gauge Gauge) + VisitHistogram func(name string, histogram Histogram) + VisitMeter func(name string, meter Meter) + VisitTimer func(name string, timer Timer)