Documentation ¶
Overview ¶
Package circonusgometrics provides instrumentation for your applications in the form of counters, gauges and histograms and allows you to publish them to Circonus
Counters ¶
A counter is a monotonically-increasing, unsigned, 64-bit integer used to represent the number of times an event has occurred. By tracking the deltas between measurements of a counter over intervals of time, an aggregation layer can derive rates, acceleration, etc.
Gauges ¶
A gauge returns instantaneous measurements of something using signed, 64-bit integers. This value does not need to be monotonic.
Histograms ¶
A histogram tracks the distribution of a stream of values (e.g. the number of seconds it takes to handle requests). Circonus can calculate complex analytics on these.
Reporting ¶
A period push to a Circonus httptrap is confgurable.
Index ¶
- type CirconusMetrics
- func (m *CirconusMetrics) Add(metric string, val uint64)
- func (m *CirconusMetrics) AddGauge(metric string, val interface{})
- func (m *CirconusMetrics) AddMetricTags(name string, tags []string) bool
- func (m *CirconusMetrics) Flush()
- func (m *CirconusMetrics) FlushMetrics() *Metrics
- func (m *CirconusMetrics) Gauge(metric string, val interface{})
- func (m *CirconusMetrics) GetCounterTest(metric string) (uint64, error)
- func (m *CirconusMetrics) GetGaugeTest(metric string) (interface{}, error)
- func (m *CirconusMetrics) GetHistogramTest(metric string) ([]string, error)
- func (m *CirconusMetrics) Increment(metric string)
- func (m *CirconusMetrics) IncrementByValue(metric string, val uint64)
- func (m *CirconusMetrics) NewHistogram(metric string) *Histogram
- func (m *CirconusMetrics) PromOutput() (*bytes.Buffer, error)
- func (m *CirconusMetrics) Ready() bool
- func (m *CirconusMetrics) RecordCountForValue(metric string, val float64, n int64)
- func (m *CirconusMetrics) RecordValue(metric string, val float64)
- func (m *CirconusMetrics) RemoveCounter(metric string)
- func (m *CirconusMetrics) RemoveCounterFunc(metric string)
- func (m *CirconusMetrics) RemoveGauge(metric string)
- func (m *CirconusMetrics) RemoveGaugeFunc(metric string)
- func (m *CirconusMetrics) RemoveHistogram(metric string)
- func (m *CirconusMetrics) RemoveText(metric string)
- func (m *CirconusMetrics) RemoveTextFunc(metric string)
- func (m *CirconusMetrics) Reset()
- func (m *CirconusMetrics) Set(metric string, val uint64)
- func (m *CirconusMetrics) SetCounterFunc(metric string, fn func() uint64)
- func (m *CirconusMetrics) SetGauge(metric string, val interface{})
- func (m *CirconusMetrics) SetGaugeFunc(metric string, fn func() int64)
- func (m *CirconusMetrics) SetHistogramValue(metric string, val float64)
- func (m *CirconusMetrics) SetMetricTags(name string, tags []string) bool
- func (m *CirconusMetrics) SetText(metric string, val string)
- func (m *CirconusMetrics) SetTextFunc(metric string, fn func() string)
- func (m *CirconusMetrics) SetTextValue(metric string, val string)
- func (m *CirconusMetrics) Start()
- func (m *CirconusMetrics) Timing(metric string, val float64)
- func (m *CirconusMetrics) TrackHTTPLatency(name string, handler func(http.ResponseWriter, *http.Request)) func(http.ResponseWriter, *http.Request)
- type Config
- type Histogram
- type Metric
- type Metrics
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CirconusMetrics ¶
type CirconusMetrics struct { Log *log.Logger Debug bool // contains filtered or unexported fields }
CirconusMetrics state
func NewCirconusMetrics ¶
func NewCirconusMetrics(cfg *Config) (*CirconusMetrics, error)
NewCirconusMetrics returns a CirconusMetrics instance
func (*CirconusMetrics) Add ¶
func (m *CirconusMetrics) Add(metric string, val uint64)
Add updates counter by supplied value
func (*CirconusMetrics) AddGauge ¶
func (m *CirconusMetrics) AddGauge(metric string, val interface{})
AddGauge adds value to existing gauge
func (*CirconusMetrics) AddMetricTags ¶
func (m *CirconusMetrics) AddMetricTags(name string, tags []string) bool
AddMetricTags appends tags to any existing tags for the named metric and flags a check update is needed
func (*CirconusMetrics) Flush ¶
func (m *CirconusMetrics) Flush()
Flush metrics kicks off the process of sending metrics to Circonus
func (*CirconusMetrics) FlushMetrics ¶
func (m *CirconusMetrics) FlushMetrics() *Metrics
FlushMetrics flushes current metrics to a structure and returns it (does NOT send to Circonus)
func (*CirconusMetrics) Gauge ¶
func (m *CirconusMetrics) Gauge(metric string, val interface{})
Gauge sets a gauge to a value
func (*CirconusMetrics) GetCounterTest ¶
func (m *CirconusMetrics) GetCounterTest(metric string) (uint64, error)
GetCounterTest returns the current value for a counter. (note: it is a function specifically for "testing", disable automatic submission during testing.)
func (*CirconusMetrics) GetGaugeTest ¶
func (m *CirconusMetrics) GetGaugeTest(metric string) (interface{}, error)
GetGaugeTest returns the current value for a gauge. (note: it is a function specifically for "testing", disable automatic submission during testing.)
func (*CirconusMetrics) GetHistogramTest ¶
func (m *CirconusMetrics) GetHistogramTest(metric string) ([]string, error)
GetHistogramTest returns the current value for a gauge. (note: it is a function specifically for "testing", disable automatic submission during testing.)
func (*CirconusMetrics) Increment ¶
func (m *CirconusMetrics) Increment(metric string)
Increment counter by 1
func (*CirconusMetrics) IncrementByValue ¶
func (m *CirconusMetrics) IncrementByValue(metric string, val uint64)
IncrementByValue updates counter by supplied value
func (*CirconusMetrics) NewHistogram ¶
func (m *CirconusMetrics) NewHistogram(metric string) *Histogram
NewHistogram returns a histogram instance.
func (*CirconusMetrics) PromOutput ¶
func (m *CirconusMetrics) PromOutput() (*bytes.Buffer, error)
PromOutput returns lines of metrics in prom format
func (*CirconusMetrics) Ready ¶
func (m *CirconusMetrics) Ready() bool
Ready returns true or false indicating if the check is ready to accept metrics
func (*CirconusMetrics) RecordCountForValue ¶
func (m *CirconusMetrics) RecordCountForValue(metric string, val float64, n int64)
RecordCountForValue adds count n for value to a histogram
func (*CirconusMetrics) RecordValue ¶
func (m *CirconusMetrics) RecordValue(metric string, val float64)
RecordValue adds a value to a histogram
func (*CirconusMetrics) RemoveCounter ¶
func (m *CirconusMetrics) RemoveCounter(metric string)
RemoveCounter removes the named counter
func (*CirconusMetrics) RemoveCounterFunc ¶
func (m *CirconusMetrics) RemoveCounterFunc(metric string)
RemoveCounterFunc removes the named counter function
func (*CirconusMetrics) RemoveGauge ¶
func (m *CirconusMetrics) RemoveGauge(metric string)
RemoveGauge removes a gauge
func (*CirconusMetrics) RemoveGaugeFunc ¶
func (m *CirconusMetrics) RemoveGaugeFunc(metric string)
RemoveGaugeFunc removes a gauge function
func (*CirconusMetrics) RemoveHistogram ¶
func (m *CirconusMetrics) RemoveHistogram(metric string)
RemoveHistogram removes a histogram
func (*CirconusMetrics) RemoveText ¶
func (m *CirconusMetrics) RemoveText(metric string)
RemoveText removes a text metric
func (*CirconusMetrics) RemoveTextFunc ¶
func (m *CirconusMetrics) RemoveTextFunc(metric string)
RemoveTextFunc a text metric function
func (*CirconusMetrics) Reset ¶
func (m *CirconusMetrics) Reset()
Reset removes all existing counters and gauges.
func (*CirconusMetrics) Set ¶
func (m *CirconusMetrics) Set(metric string, val uint64)
Set a counter to specific value
func (*CirconusMetrics) SetCounterFunc ¶
func (m *CirconusMetrics) SetCounterFunc(metric string, fn func() uint64)
SetCounterFunc set counter to a function [called at flush interval]
func (*CirconusMetrics) SetGauge ¶
func (m *CirconusMetrics) SetGauge(metric string, val interface{})
SetGauge sets a gauge to a value
func (*CirconusMetrics) SetGaugeFunc ¶
func (m *CirconusMetrics) SetGaugeFunc(metric string, fn func() int64)
SetGaugeFunc sets a gauge to a function [called at flush interval]
func (*CirconusMetrics) SetHistogramValue ¶
func (m *CirconusMetrics) SetHistogramValue(metric string, val float64)
SetHistogramValue adds a value to a histogram
func (*CirconusMetrics) SetMetricTags ¶
func (m *CirconusMetrics) SetMetricTags(name string, tags []string) bool
SetMetricTags sets the tags for the named metric and flags a check update is needed
func (*CirconusMetrics) SetText ¶
func (m *CirconusMetrics) SetText(metric string, val string)
SetText sets a text metric
func (*CirconusMetrics) SetTextFunc ¶
func (m *CirconusMetrics) SetTextFunc(metric string, fn func() string)
SetTextFunc sets a text metric to a function [called at flush interval]
func (*CirconusMetrics) SetTextValue ¶
func (m *CirconusMetrics) SetTextValue(metric string, val string)
SetTextValue sets a text metric
func (*CirconusMetrics) Start ¶
func (m *CirconusMetrics) Start()
Start deprecated NOP, automatic flush is started in New if flush interval > 0.
func (*CirconusMetrics) Timing ¶
func (m *CirconusMetrics) Timing(metric string, val float64)
Timing adds a value to a histogram
func (*CirconusMetrics) TrackHTTPLatency ¶
func (m *CirconusMetrics) TrackHTTPLatency(name string, handler func(http.ResponseWriter, *http.Request)) func(http.ResponseWriter, *http.Request)
TrackHTTPLatency wraps Handler functions registered with an http.ServerMux tracking latencies. Metrics are of the for go`HTTP`<method>`<name>`latency and are tracked in a histogram in units of seconds (as a float64) providing nanosecond ganularity.
type Config ¶
type Config struct { Log *log.Logger Debug bool ResetCounters string // reset/delete counters on flush (default true) ResetGauges string // reset/delete gauges on flush (default true) ResetHistograms string // reset/delete histograms on flush (default true) ResetText string // reset/delete text on flush (default true) // API, Check and Broker configuration options CheckManager checkmgr.Config // how frequenly to submit metrics to Circonus, default 10 seconds. // Set to 0 to disable automatic flushes and call Flush manually. Interval string }
Config options for circonus-gometrics
type Histogram ¶
type Histogram struct {
// contains filtered or unexported fields
}
Histogram measures the distribution of a stream of values.
func (*Histogram) RecordValue ¶
RecordValue records the given value to a histogram instance
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Package api provides methods for interacting with the Circonus API.
|
Package api provides methods for interacting with the Circonus API. |
Package checkmgr provides a check management interface to circonus-gometrics
|
Package checkmgr provides a check management interface to circonus-gometrics |