Documentation ¶
Overview ¶
Package collect provides functions for sending data to OpenTSDB.
The "collect" namespace is used (i.e., <root>.collect) to collect program and queue metrics.
Index ¶
- Constants
- Variables
- func Add(metric string, ts opentsdb.TagSet, inc int64) error
- func AggregateMeta(metric string, unit metadata.Unit, desc string)
- func Flush()
- func HandleCounterPut(server string, database int) http.HandlerFunc
- func Init(tsdbhost *url.URL, root string) error
- func InitChan(tsdbhost *url.URL, root string, ch chan *opentsdb.DataPoint) error
- func Put(metric string, ts opentsdb.TagSet, v interface{}) error
- func Sample(metric string, ts opentsdb.TagSet, v float64) error
- func SendDataPoints(dps []*opentsdb.DataPoint, tsdb string) (*http.Response, error)
- func Set(metric string, ts opentsdb.TagSet, f func() interface{}) error
- func SetHostname(host string) error
- func StartTimer(metric string, ts opentsdb.TagSet) func()
Constants ¶
const RedisCountersKey = "scollectorCounters"
Variables ¶
var ( // Freq is how often metrics are sent to OpenTSDB. Freq = time.Second * 15 // MaxQueueLen is the maximum size of the queue, above which incoming data will // be discarded. Defaults to about 150MB. MaxQueueLen = 200000 // BatchSize is the maximum length of data points sent at once to OpenTSDB. BatchSize = 500 // Debug enables debug logging. Debug = false // Print prints all datapoints to stdout instead of sending them. Print = false // DisableDefaultCollectors prevents the scollector self metrics from being // generated. DisableDefaultCollectors = false // Tags is an opentsdb.TagSet used when sending self metrics. Tags opentsdb.TagSet )
Functions ¶
func Add ¶
Add takes a metric and increments a counter for that metric. The metric name is appended to the basename specified in the Init function.
func Flush ¶
func Flush()
Locks the queue and sends all datapoints. Intended to be used as scollector exits.
func HandleCounterPut ¶
func HandleCounterPut(server string, database int) http.HandlerFunc
func Init ¶
Init sets up the channels and the queue for sending data to OpenTSDB. It also sets up the basename for all metrics.
func InitChan ¶
InitChan is similar to Init, but uses the given channel instead of creating a new one.
func Put ¶
Put is useful for capturing "events" that have a gauge value. Subsequent calls between the sending interval will overwrite previous calls.
func SendDataPoints ¶
func Set ¶
Set registers a callback for the given metric and tags, calling f immediately before queueing data for send.
func SetHostname ¶
func StartTimer ¶
StartTimer records the current time, and returns a function you can call to record the end of your action.
Typical usage would be:
done := collect.StartTimer("myMetric", opentsdb.TagSet{}) doMyThing() done()
Types ¶
This section is empty.