-
Notifications
You must be signed in to change notification settings - Fork 0
/
abc.go
47 lines (40 loc) · 1.12 KB
/
abc.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package metric
// Tags is a map of fields to add to a metrics
type Tags map[string]string
// Reporter is an interface for collecting and instrumenting metrics
type Reporter interface {
CreateGauge(opts GaugeOpts) error
CreateCounter(opts CounterOpts) error
CreateSummary(opts SummaryOpts) error
CreateHistogram(opts HistogramOpts) error
Count(name string, value float64, tags Tags) error
Gauge(name string, value float64, tags Tags) error
Histogram(name string, value float64, tags Tags) error
Summary(name string, value float64, tags Tags) error
}
//CounterOpts is options to create a counter options
type CounterOpts struct {
Name string
Help string
Labels []string
}
//GaugeOpts is options to create a gauge collector
type GaugeOpts struct {
Name string
Help string
Labels []string
}
//SummaryOpts is options to create summary collector
type SummaryOpts struct {
Name string
Help string
Labels []string
Objectives map[float64]float64
}
//HistogramOpts is options to create histogram collector
type HistogramOpts struct {
Name string
Help string
Labels []string
Buckets []float64
}