25 lines
817 B
Go
25 lines
817 B
Go
package metrics
|
|
|
|
// Counter describes a metric that accumulates values monotonically.
|
|
// An example of a counter is the number of received HTTP requests.
|
|
type Counter interface {
|
|
With(labelValues ...string) Counter
|
|
Add(delta float64)
|
|
}
|
|
|
|
// Gauge describes a metric that takes specific values over time.
|
|
// An example of a gauge is the current depth of a job queue.
|
|
type Gauge interface {
|
|
With(labelValues ...string) Gauge
|
|
Set(value float64)
|
|
Add(delta float64)
|
|
}
|
|
|
|
// Histogram describes a metric that takes repeated observations of the same
|
|
// kind of thing, and produces a statistical summary of those observations,
|
|
// typically expressed as quantiles or buckets. An example of a histogram is
|
|
// HTTP request latencies.
|
|
type Histogram interface {
|
|
With(labelValues ...string) Histogram
|
|
Observe(value float64)
|
|
}
|