OSDN Git Service

new repo
[bytom/vapor.git] / vendor / github.com / go-kit / kit / metrics / metrics.go
1 package metrics
2
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
7         Add(delta float64)
8 }
9
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
14         Set(value float64)
15         Add(delta float64)
16 }
17
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)
25 }