graphite

package module
v0.0.0-...-5777dea Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 22, 2017 License: BSD-2-Clause Imports: 8 Imported by: 0

README

This is a reporter for the go-metrics library which will post the metrics to Graphite. It was originally part of the go-metrics library itself, but has been split off to make maintenance of both the core library and the client easier.

Usage

import "github.com/cyberdelia/go-metrics-graphite"


go graphite.Graphite(metrics.DefaultRegistry,
  1*time.Second, "some.prefix", addr)

Migrating from rcrowley/go-metrics implementation

Simply modify the import from "github.com/rcrowley/go-metrics/graphite" to "github.com/cyberdelia/go-metrics-graphite" and it should Just Work.

Documentation

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func Graphite

func Graphite(r metrics.Registry, d time.Duration, prefix string, addr string)

Graphite is a blocking exporter function which reports metrics in r to a graphite server located at addr, flushing them every d duration and prepending metric names with prefix.

Example
go Graphite(metrics.DefaultRegistry, 1*time.Second, "some.prefix", ":2003")
Output:

func Once

func Once(c Config) error

Once performs a single submission to Graphite, returning a non-nil error on failed connections. This can be used in a loop similar to GraphiteWithConfig for custom error handling.

func WithConfig

func WithConfig(c Config)

WithConfig is a blocking exporter function just like Graphite, but it takes a GraphiteConfig instead.

Example
go WithConfig(Config{
	Network:       "tcp",
	Addr:          ":2003",
	Registry:      metrics.DefaultRegistry,
	FlushInterval: 1 * time.Second,
	DurationUnit:  time.Millisecond,
	Percentiles:   []float64{0.5, 0.75, 0.99, 0.999},
})
Output:

Types

type Config

type Config struct {
	Network       string           // Network to use (e.g. "tcp", "udp")
	Addr          string           // Network address to connect to
	Registry      metrics.Registry // Registry to be exported
	FlushInterval time.Duration    // Flush interval
	DurationUnit  time.Duration    // Time conversion unit for durations
	Prefix        string           // Prefix to be prepended to metric names
	Percentiles   []float64        // Percentiles to export from timers and histograms
}

Config provides a container with configuration parameters for the Graphite exporter

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL