Documentation ¶
Index ¶
- func GetKey(name string, tags map[string]string, tagsSep string, tagKVSep string) string
- func Init(metrics interface{}, factory Factory, globalTags map[string]string)
- type Counter
- type Factory
- type Gauge
- type LocalBackend
- func (b *LocalBackend) Clear()
- func (b *LocalBackend) IncCounter(name string, tags map[string]string, delta int64)
- func (b *LocalBackend) RecordTimer(name string, tags map[string]string, d time.Duration)
- func (b *LocalBackend) Snapshot() (counters, gauges map[string]int64)
- func (b *LocalBackend) Stop()
- func (b *LocalBackend) UpdateGauge(name string, tags map[string]string, value int64)
- type LocalFactory
- type Stopwatch
- type Timer
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Counter ¶
type Counter interface { // Inc adds the given value to the counter. Inc(int64) }
Counter tracks the number of times an event has occurred
var NullCounter Counter = nullCounter{}
NullCounter counter that does nothing
type Factory ¶
type Factory interface { Counter(name string, tags map[string]string) Counter Timer(name string, tags map[string]string) Timer Gauge(name string, tags map[string]string) Gauge // Namespace returns a nested metrics factory. Namespace(name string, tags map[string]string) Factory }
Factory creates new metrics
var NullFactory Factory = nullFactory{}
NullFactory is a metrics factory that returns NullCounter, NullTimer, and NullGauge.
type Gauge ¶
type Gauge interface { // Update the gauge to the value passed in. Update(int64) }
Gauge returns instantaneous measurements of something as an int64 value
var NullGauge Gauge = nullGauge{}
NullGauge gauge that does nothing
type LocalBackend ¶
type LocalBackend struct { TagsSep string TagKVSep string // contains filtered or unexported fields }
A LocalBackend is a metrics provider which aggregates data in-vm, and allows exporting snapshots to shove the data into a remote collector
func NewLocalBackend ¶
func NewLocalBackend(collectionInterval time.Duration) *LocalBackend
NewLocalBackend returns a new LocalBackend. The collectionInterval is the histogram time window for each timer.
func (*LocalBackend) IncCounter ¶
func (b *LocalBackend) IncCounter(name string, tags map[string]string, delta int64)
IncCounter increments a counter value
func (*LocalBackend) RecordTimer ¶
RecordTimer records a timing duration
func (*LocalBackend) Snapshot ¶
func (b *LocalBackend) Snapshot() (counters, gauges map[string]int64)
Snapshot captures a snapshot of the current counter and gauge values
func (*LocalBackend) Stop ¶
func (b *LocalBackend) Stop()
Stop cleanly closes the background goroutine spawned by NewLocalBackend.
func (*LocalBackend) UpdateGauge ¶
func (b *LocalBackend) UpdateGauge(name string, tags map[string]string, value int64)
UpdateGauge updates the value of a gauge
type LocalFactory ¶
type LocalFactory struct { *LocalBackend // contains filtered or unexported fields }
LocalFactory stats factory that creates metrics that are stored locally
func NewLocalFactory ¶
func NewLocalFactory(collectionInterval time.Duration) *LocalFactory
NewLocalFactory returns a new LocalMetricsFactory
func (*LocalFactory) Counter ¶
func (l *LocalFactory) Counter(name string, tags map[string]string) Counter
Counter returns a local stats counter
func (*LocalFactory) Gauge ¶
func (l *LocalFactory) Gauge(name string, tags map[string]string) Gauge
Gauge returns a local stats gauge.
type Stopwatch ¶
type Stopwatch struct {
// contains filtered or unexported fields
}
A Stopwatch tracks the execution time of a specific event
func StartStopwatch ¶
StartStopwatch begins recording the executing time of an event, returning a Stopwatch that should be used to stop the recording the time for that event. Multiple events can be occurring simultaneously each represented by different active Stopwatches
func (Stopwatch) ElapsedTime ¶
ElapsedTime returns the amount of elapsed time (in time.Duration)