graphite

package module
v0.0.0-...-39f87cc Latest Latest
Warning

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

Go to latest
Published: Dec 19, 2016 License: BSD-2-Clause Imports: 8 Imported by: 242

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 *net.TCPAddr)

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
addr, _ := net.ResolveTCPAddr("net", ":2003")
go Graphite(metrics.DefaultRegistry, 1*time.Second, "some.prefix", addr)
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
addr, _ := net.ResolveTCPAddr("net", ":2003")
go WithConfig(Config{
	Addr:          addr,
	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 {
	Addr          *net.TCPAddr     // 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