A Golang library for exporting performance and runtime metrics to external metrics systems (i.e. statsite, statsd)
https://github.com/armon/go-metrics
This library provides a metrics
package which can be used to instrument code, expose application metrics, and profile runtime performance in a flexible manner.
The metrics
package makes use of a MetricSink
interface to support delivery to any type of backend. Currently the following sinks are provided:
- StatsiteSink : Sinks to a statsite instance (TCP)
- StatsdSink: Sinks to a StatsD / statsite instance (UDP)
- PrometheusSink: Sinks to a Prometheus metrics endpoint (exposed via HTTP for scrapes)
- InmemSink : Provides in-memory aggregation, can be used to export stats
- FanoutSink : Sinks to multiple sinks. Enables writing to multiple statsite instances for example.
- BlackholeSink : Sinks to nowhere
A Go metrics interface with fast buffered metrics and third party reporters
https://github.com/uber-go/tally
Go port of Coda Hale’s Metrics library
https://github.com/rcrowley/go-metrics