Documentation
¶
Index ¶
- type PrometheusCounter
- type PrometheusCounterBuilder
- func (b *PrometheusCounterBuilder) Build() srouter_metrics.Counter
- func (b *PrometheusCounterBuilder) Description(desc string) srouter_metrics.CounterBuilder
- func (b *PrometheusCounterBuilder) LabelNames(names ...string) srouter_metrics.CounterBuilder
- func (b *PrometheusCounterBuilder) Name(name string) srouter_metrics.CounterBuilder
- func (b *PrometheusCounterBuilder) Tag(key, value string) srouter_metrics.CounterBuilder
- type PrometheusGauge
- func (g *PrometheusGauge) Add(val float64)
- func (g *PrometheusGauge) Dec()
- func (g *PrometheusGauge) Description() string
- func (g *PrometheusGauge) Inc()
- func (g *PrometheusGauge) Name() string
- func (g *PrometheusGauge) Set(val float64)
- func (g *PrometheusGauge) Sub(val float64)
- func (g *PrometheusGauge) Tags() srouter_metrics.Tags
- func (g *PrometheusGauge) Type() srouter_metrics.MetricType
- func (g *PrometheusGauge) WithTags(tags srouter_metrics.Tags) srouter_metrics.Metric
- type PrometheusGaugeBuilder
- func (b *PrometheusGaugeBuilder) Build() srouter_metrics.Gauge
- func (b *PrometheusGaugeBuilder) Description(desc string) srouter_metrics.GaugeBuilder
- func (b *PrometheusGaugeBuilder) LabelNames(names ...string) srouter_metrics.GaugeBuilder
- func (b *PrometheusGaugeBuilder) Name(name string) srouter_metrics.GaugeBuilder
- func (b *PrometheusGaugeBuilder) Tag(key, value string) srouter_metrics.GaugeBuilder
- type PrometheusHistogram
- func (h *PrometheusHistogram) Description() string
- func (h *PrometheusHistogram) Name() string
- func (h *PrometheusHistogram) Observe(val float64)
- func (h *PrometheusHistogram) Tags() srouter_metrics.Tags
- func (h *PrometheusHistogram) Type() srouter_metrics.MetricType
- func (h *PrometheusHistogram) WithTags(tags srouter_metrics.Tags) srouter_metrics.Metric
- type PrometheusHistogramBuilder
- func (b *PrometheusHistogramBuilder) Buckets(buckets []float64) srouter_metrics.HistogramBuilder
- func (b *PrometheusHistogramBuilder) Build() srouter_metrics.Histogram
- func (b *PrometheusHistogramBuilder) Description(desc string) srouter_metrics.HistogramBuilder
- func (b *PrometheusHistogramBuilder) LabelNames(names ...string) srouter_metrics.HistogramBuilder
- func (b *PrometheusHistogramBuilder) Name(name string) srouter_metrics.HistogramBuilder
- func (b *PrometheusHistogramBuilder) Tag(key, value string) srouter_metrics.HistogramBuilder
- type PrometheusRegistry
- func (s *PrometheusRegistry) Clear()
- func (s *PrometheusRegistry) Get(name string) (srouter_metrics.Metric, bool)
- func (s *PrometheusRegistry) NewCounter() srouter_metrics.CounterBuilder
- func (s *PrometheusRegistry) NewGauge() srouter_metrics.GaugeBuilder
- func (s *PrometheusRegistry) NewHistogram() srouter_metrics.HistogramBuilder
- func (s *PrometheusRegistry) NewSummary() srouter_metrics.SummaryBuilder
- func (s *PrometheusRegistry) Register(m srouter_metrics.Metric) error
- func (s *PrometheusRegistry) Unregister(name string) bool
- func (s *PrometheusRegistry) WithTags(tags srouter_metrics.Tags) srouter_metrics.MetricsRegistry
- type PrometheusSummary
- func (s *PrometheusSummary) Description() string
- func (s *PrometheusSummary) Name() string
- func (s *PrometheusSummary) Objectives() map[float64]float64
- func (s *PrometheusSummary) Observe(val float64)
- func (s *PrometheusSummary) Tags() srouter_metrics.Tags
- func (s *PrometheusSummary) Type() srouter_metrics.MetricType
- func (s *PrometheusSummary) WithTags(tags srouter_metrics.Tags) srouter_metrics.Metric
- type PrometheusSummaryBuilder
- func (b *PrometheusSummaryBuilder) AgeBuckets(buckets int) srouter_metrics.SummaryBuilder
- func (b *PrometheusSummaryBuilder) BufCap(cap uint32) srouter_metrics.SummaryBuilder
- func (b *PrometheusSummaryBuilder) Build() srouter_metrics.Summary
- func (b *PrometheusSummaryBuilder) Description(desc string) srouter_metrics.SummaryBuilder
- func (b *PrometheusSummaryBuilder) LabelNames(names ...string) srouter_metrics.SummaryBuilder
- func (b *PrometheusSummaryBuilder) MaxAge(age time.Duration) srouter_metrics.SummaryBuilder
- func (b *PrometheusSummaryBuilder) Name(name string) srouter_metrics.SummaryBuilder
- func (b *PrometheusSummaryBuilder) Objectives(objectives map[float64]float64) srouter_metrics.SummaryBuilder
- func (b *PrometheusSummaryBuilder) Tag(key, value string) srouter_metrics.SummaryBuilder
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type PrometheusCounter ¶
type PrometheusCounter struct {
// contains filtered or unexported fields
}
PrometheusCounter adapts prometheus.Counter/CounterVec to srouter_metrics.Counter.
func (*PrometheusCounter) Add ¶
func (c *PrometheusCounter) Add(val float64)
Add increments the counter by a given value. Label values are ignored as the SRouter interface expects Add(float64).
func (*PrometheusCounter) Description ¶
func (c *PrometheusCounter) Description() string
func (*PrometheusCounter) Inc ¶
func (c *PrometheusCounter) Inc()
Inc increments the counter. Label values are ignored as the SRouter interface expects Inc().
func (*PrometheusCounter) Name ¶
func (c *PrometheusCounter) Name() string
func (*PrometheusCounter) Tags ¶
func (c *PrometheusCounter) Tags() srouter_metrics.Tags
func (*PrometheusCounter) Type ¶
func (c *PrometheusCounter) Type() srouter_metrics.MetricType
type PrometheusCounterBuilder ¶
type PrometheusCounterBuilder struct {
// contains filtered or unexported fields
}
PrometheusCounterBuilder adapts Prometheus counter creation.
func (*PrometheusCounterBuilder) Build ¶
func (b *PrometheusCounterBuilder) Build() srouter_metrics.Counter
Build creates and registers the Prometheus counter.
func (*PrometheusCounterBuilder) Description ¶
func (b *PrometheusCounterBuilder) Description(desc string) srouter_metrics.CounterBuilder
func (*PrometheusCounterBuilder) LabelNames ¶
func (b *PrometheusCounterBuilder) LabelNames(names ...string) srouter_metrics.CounterBuilder
func (*PrometheusCounterBuilder) Name ¶
func (b *PrometheusCounterBuilder) Name(name string) srouter_metrics.CounterBuilder
func (*PrometheusCounterBuilder) Tag ¶
func (b *PrometheusCounterBuilder) Tag(key, value string) srouter_metrics.CounterBuilder
type PrometheusGauge ¶
type PrometheusGauge struct {
// contains filtered or unexported fields
}
PrometheusGauge adapts prometheus.Gauge/GaugeVec to srouter_metrics.Gauge.
func (*PrometheusGauge) Add ¶
func (g *PrometheusGauge) Add(val float64)
Add adds the given value to the gauge. Label values are ignored as the SRouter interface expects Add(float64).
func (*PrometheusGauge) Dec ¶
func (g *PrometheusGauge) Dec()
Dec decrements the gauge. Label values are ignored as the SRouter interface expects Dec().
func (*PrometheusGauge) Description ¶
func (g *PrometheusGauge) Description() string
func (*PrometheusGauge) Inc ¶
func (g *PrometheusGauge) Inc()
Inc increments the gauge. Label values are ignored as the SRouter interface expects Inc().
func (*PrometheusGauge) Name ¶
func (g *PrometheusGauge) Name() string
func (*PrometheusGauge) Set ¶
func (g *PrometheusGauge) Set(val float64)
Set sets the gauge value. Label values are ignored as the SRouter interface expects Set(float64).
func (*PrometheusGauge) Sub ¶
func (g *PrometheusGauge) Sub(val float64)
Sub subtracts the given value from the gauge. Label values are ignored as the SRouter interface expects Sub(float64).
func (*PrometheusGauge) Tags ¶
func (g *PrometheusGauge) Tags() srouter_metrics.Tags
func (*PrometheusGauge) Type ¶
func (g *PrometheusGauge) Type() srouter_metrics.MetricType
func (*PrometheusGauge) WithTags ¶
func (g *PrometheusGauge) WithTags(tags srouter_metrics.Tags) srouter_metrics.Metric
type PrometheusGaugeBuilder ¶
type PrometheusGaugeBuilder struct {
// contains filtered or unexported fields
}
PrometheusGaugeBuilder adapts Prometheus gauge creation.
func (*PrometheusGaugeBuilder) Build ¶
func (b *PrometheusGaugeBuilder) Build() srouter_metrics.Gauge
Build creates and registers the Prometheus gauge.
func (*PrometheusGaugeBuilder) Description ¶
func (b *PrometheusGaugeBuilder) Description(desc string) srouter_metrics.GaugeBuilder
func (*PrometheusGaugeBuilder) LabelNames ¶
func (b *PrometheusGaugeBuilder) LabelNames(names ...string) srouter_metrics.GaugeBuilder
func (*PrometheusGaugeBuilder) Name ¶
func (b *PrometheusGaugeBuilder) Name(name string) srouter_metrics.GaugeBuilder
func (*PrometheusGaugeBuilder) Tag ¶
func (b *PrometheusGaugeBuilder) Tag(key, value string) srouter_metrics.GaugeBuilder
type PrometheusHistogram ¶
type PrometheusHistogram struct {
// contains filtered or unexported fields
}
PrometheusHistogram adapts prometheus.Histogram/HistogramVec to srouter_metrics.Histogram.
func (*PrometheusHistogram) Description ¶
func (h *PrometheusHistogram) Description() string
func (*PrometheusHistogram) Name ¶
func (h *PrometheusHistogram) Name() string
func (*PrometheusHistogram) Observe ¶
func (h *PrometheusHistogram) Observe(val float64)
Observe adds a single observation to the histogram. Label values are ignored as the SRouter interface expects Observe(float64).
func (*PrometheusHistogram) Tags ¶
func (h *PrometheusHistogram) Tags() srouter_metrics.Tags
func (*PrometheusHistogram) Type ¶
func (h *PrometheusHistogram) Type() srouter_metrics.MetricType
func (*PrometheusHistogram) WithTags ¶
func (h *PrometheusHistogram) WithTags(tags srouter_metrics.Tags) srouter_metrics.Metric
type PrometheusHistogramBuilder ¶
type PrometheusHistogramBuilder struct {
// contains filtered or unexported fields
}
PrometheusHistogramBuilder adapts Prometheus histogram creation.
func (*PrometheusHistogramBuilder) Buckets ¶
func (b *PrometheusHistogramBuilder) Buckets(buckets []float64) srouter_metrics.HistogramBuilder
Buckets sets the histogram buckets, accepting a slice per the interface.
func (*PrometheusHistogramBuilder) Build ¶
func (b *PrometheusHistogramBuilder) Build() srouter_metrics.Histogram
Build creates and registers the Prometheus histogram.
func (*PrometheusHistogramBuilder) Description ¶
func (b *PrometheusHistogramBuilder) Description(desc string) srouter_metrics.HistogramBuilder
func (*PrometheusHistogramBuilder) LabelNames ¶
func (b *PrometheusHistogramBuilder) LabelNames(names ...string) srouter_metrics.HistogramBuilder
func (*PrometheusHistogramBuilder) Name ¶
func (b *PrometheusHistogramBuilder) Name(name string) srouter_metrics.HistogramBuilder
func (*PrometheusHistogramBuilder) Tag ¶
func (b *PrometheusHistogramBuilder) Tag(key, value string) srouter_metrics.HistogramBuilder
type PrometheusRegistry ¶ added in v1.2.1
type PrometheusRegistry struct {
// contains filtered or unexported fields
}
PrometheusRegistry adapts a Prometheus Registerer/Gatherer to SRouter's MetricsRegistry interface.
func NewPrometheusRegistry ¶ added in v1.2.1
func NewPrometheusRegistry(registry prometheus.Registerer, namespace, subsystem string, logger *zap.Logger) *PrometheusRegistry
NewPrometheusRegistry creates a new adapter using a prometheus.Registerer and a zap logger.
func (*PrometheusRegistry) Clear ¶ added in v1.2.1
func (s *PrometheusRegistry) Clear()
Clear attempts to unregister all metrics. Prometheus registry doesn't have a ClearAll. We can iterate and unregister, but it's not atomic.
func (*PrometheusRegistry) Get ¶ added in v1.2.1
func (s *PrometheusRegistry) Get(name string) (srouter_metrics.Metric, bool)
Get attempts to retrieve a metric by name. Prometheus client doesn't directly support this easily, especially differentiating between metrics with the same name but different labels/tags or types. This implementation returns nil, false. The application should retain references to the metrics it builds.
func (*PrometheusRegistry) NewCounter ¶ added in v1.2.1
func (s *PrometheusRegistry) NewCounter() srouter_metrics.CounterBuilder
func (*PrometheusRegistry) NewGauge ¶ added in v1.2.1
func (s *PrometheusRegistry) NewGauge() srouter_metrics.GaugeBuilder
func (*PrometheusRegistry) NewHistogram ¶ added in v1.2.1
func (s *PrometheusRegistry) NewHistogram() srouter_metrics.HistogramBuilder
func (*PrometheusRegistry) NewSummary ¶ added in v1.2.1
func (s *PrometheusRegistry) NewSummary() srouter_metrics.SummaryBuilder
func (*PrometheusRegistry) Register ¶ added in v1.2.1
func (s *PrometheusRegistry) Register(m srouter_metrics.Metric) error
Register is handled implicitly by the Build methods using registry.Register
func (*PrometheusRegistry) Unregister ¶ added in v1.2.1
func (s *PrometheusRegistry) Unregister(name string) bool
Unregister attempts to unregister a metric by name. NOTE: Prometheus client library makes unregistering by name difficult and potentially unsafe if multiple metrics share the same name (e.g., different labels). This implementation currently cannot reliably unregister by name only. It's effectively a no-op.
func (*PrometheusRegistry) WithTags ¶ added in v1.2.1
func (s *PrometheusRegistry) WithTags(tags srouter_metrics.Tags) srouter_metrics.MetricsRegistry
WithTags creates a new registry instance scoped with additional tags (const labels).
type PrometheusSummary ¶
type PrometheusSummary struct {
// contains filtered or unexported fields
}
PrometheusSummary adapts prometheus.Summary/SummaryVec to srouter_metrics.Summary.
func (*PrometheusSummary) Description ¶
func (s *PrometheusSummary) Description() string
func (*PrometheusSummary) Name ¶
func (s *PrometheusSummary) Name() string
func (*PrometheusSummary) Objectives ¶
func (s *PrometheusSummary) Objectives() map[float64]float64
func (*PrometheusSummary) Observe ¶
func (s *PrometheusSummary) Observe(val float64)
Observe adds a single observation to the summary. Label values are ignored as the SRouter interface expects Observe(float64).
func (*PrometheusSummary) Tags ¶
func (s *PrometheusSummary) Tags() srouter_metrics.Tags
func (*PrometheusSummary) Type ¶
func (s *PrometheusSummary) Type() srouter_metrics.MetricType
func (*PrometheusSummary) WithTags ¶
func (s *PrometheusSummary) WithTags(tags srouter_metrics.Tags) srouter_metrics.Metric
type PrometheusSummaryBuilder ¶
type PrometheusSummaryBuilder struct {
// contains filtered or unexported fields
}
PrometheusSummaryBuilder adapts Prometheus summary creation.
func (*PrometheusSummaryBuilder) AgeBuckets ¶
func (b *PrometheusSummaryBuilder) AgeBuckets(buckets int) srouter_metrics.SummaryBuilder
AgeBuckets sets the number of buckets used to calculate quantiles over time. Accepts int per the interface.
func (*PrometheusSummaryBuilder) BufCap ¶
func (b *PrometheusSummaryBuilder) BufCap(cap uint32) srouter_metrics.SummaryBuilder
func (*PrometheusSummaryBuilder) Build ¶
func (b *PrometheusSummaryBuilder) Build() srouter_metrics.Summary
Build creates and registers the Prometheus summary.
func (*PrometheusSummaryBuilder) Description ¶
func (b *PrometheusSummaryBuilder) Description(desc string) srouter_metrics.SummaryBuilder
func (*PrometheusSummaryBuilder) LabelNames ¶
func (b *PrometheusSummaryBuilder) LabelNames(names ...string) srouter_metrics.SummaryBuilder
func (*PrometheusSummaryBuilder) MaxAge ¶
func (b *PrometheusSummaryBuilder) MaxAge(age time.Duration) srouter_metrics.SummaryBuilder
func (*PrometheusSummaryBuilder) Name ¶
func (b *PrometheusSummaryBuilder) Name(name string) srouter_metrics.SummaryBuilder
func (*PrometheusSummaryBuilder) Objectives ¶
func (b *PrometheusSummaryBuilder) Objectives(objectives map[float64]float64) srouter_metrics.SummaryBuilder
func (*PrometheusSummaryBuilder) Tag ¶
func (b *PrometheusSummaryBuilder) Tag(key, value string) srouter_metrics.SummaryBuilder