3 // Counter describes a metric that accumulates values monotonically.
4 // An example of a counter is the number of received HTTP requests.
5 type Counter interface {
6 With(labelValues ...string) Counter
10 // Gauge describes a metric that takes specific values over time.
11 // An example of a gauge is the current depth of a job queue.
12 type Gauge interface {
13 With(labelValues ...string) Gauge
18 // Histogram describes a metric that takes repeated observations of the same
19 // kind of thing, and produces a statistical summary of those observations,
20 // typically expressed as quantiles or buckets. An example of a histogram is
21 // HTTP request latencies.
22 type Histogram interface {
23 With(labelValues ...string) Histogram
24 Observe(value float64)