Package provider
Overview ▹
Index ▹
type Provider ¶
Provider abstracts over constructors and lifecycle management functions for each supported metrics backend. It should only be used by those who need to swap out implementations dynamically.
This is primarily useful for intermediating frameworks, and is likely unnecessary for most Go kit services. See the package-level doc comment for more typical usage instructions.
type Provider interface { NewCounter(name string) metrics.Counter NewGauge(name string) metrics.Gauge NewHistogram(name string, buckets int) metrics.Histogram Stop() }
func NewDiscardProvider ¶
func NewDiscardProvider() Provider
NewDiscardProvider returns a provider that produces no-op metrics via the discarding backend.
func NewDogstatsdProvider ¶
func NewDogstatsdProvider(d *dogstatsd.Dogstatsd, stop func()) Provider
NewDogstatsdProvider wraps the given Dogstatsd object and stop func and returns a Provider that produces Dogstatsd metrics. A typical stop function would be ticker.Stop from the ticker passed to the SendLoop helper method.
func NewExpvarProvider ¶
func NewExpvarProvider() Provider
NewExpvarProvider returns a Provider that produces expvar metrics.
func NewGraphiteProvider ¶
func NewGraphiteProvider(g *graphite.Graphite, stop func()) Provider
NewGraphiteProvider wraps the given Graphite object and stop func and returns a Provider that produces Graphite metrics. A typical stop function would be ticker.Stop from the ticker passed to the SendLoop helper method.
func NewInfluxProvider ¶
func NewInfluxProvider(in *influx.Influx, stop func()) Provider
NewInfluxProvider takes the given Influx object and stop func, and returns a Provider that produces Influx metrics.
func NewPrometheusProvider ¶
func NewPrometheusProvider(namespace, subsystem string) Provider
NewPrometheusProvider returns a Provider that produces Prometheus metrics. Namespace and subsystem are applied to all produced metrics.
func NewStatsdProvider ¶
func NewStatsdProvider(s *statsd.Statsd, stop func()) Provider
NewStatsdProvider wraps the given Statsd object and stop func and returns a Provider that produces Statsd metrics. A typical stop function would be ticker.Stop from the ticker passed to the SendLoop helper method.