graphite
packageThis package is not in the latest version of its module.
Details
Validgo.mod file
The Go module system was introduced in Go 1.11 and is the official dependency management solution for Go.
Redistributable license
Redistributable licenses place minimal restrictions on how software can be used, modified, and redistributed.
Tagged version
Modules with tagged versions give importers more predictable builds.
Stable version
When a project reaches major version v1 it is considered stable.
- Learn more about best practices
Repository
Links
Documentation¶
Overview¶
Package graphite provides a bridge to push Prometheus metrics to a Graphiteserver.
Index¶
Examples¶
Constants¶
This section is empty.
Variables¶
This section is empty.
Functions¶
This section is empty.
Types¶
typeBridge¶
type Bridge struct {// contains filtered or unexported fields}
Bridge pushes metrics to the configured Graphite server.
Example¶
b, err := NewBridge(&Config{URL: "graphite.example.org:3099",Gatherer: prometheus.DefaultGatherer,Prefix: "prefix",Interval: 15 * time.Second,Timeout: 10 * time.Second,ErrorHandling: AbortOnError,Logger: log.New(os.Stdout, "graphite bridge: ", log.Lshortfile),})if err != nil {panic(err)}go func() {// Start something in a goroutine that uses metrics.}()// Push initial metrics to Graphite. Fail fast if the push fails.if err := b.Push(); err != nil {panic(err)}// Create a Context to control stopping the Run() loop that pushes// metrics to Graphite.ctx, cancel := context.WithCancel(context.Background())defer cancel()// Start pushing metrics to Graphite in the Run() loop.b.Run(ctx)
typeConfig¶
type Config struct {// Whether to use Graphite tags or not. Defaults to false.UseTagsbool// The url to push data to. Required.URLstring// The prefix for the pushed Graphite metrics. Defaults to empty string.Prefixstring// The interval to use for pushing data to Graphite. Defaults to 15 seconds.Intervaltime.Duration// The timeout for pushing metrics to Graphite. Defaults to 15 seconds.Timeouttime.Duration// The Gatherer to use for metrics. Defaults to prometheus.DefaultGatherer.Gathererprometheus.Gatherer// The logger that messages are written to. Defaults to no logging.LoggerLogger// ErrorHandling defines how errors are handled. Note that errors are// logged regardless of the configured ErrorHandling provided Logger// is not nil.ErrorHandlingHandlerErrorHandling}
Config defines the Graphite bridge config.
typeHandlerErrorHandling¶
type HandlerErrorHandlingint
HandlerErrorHandling defines how a Handler serving metrics will handleerrors.
const (// Ignore errors and try to push as many metrics to Graphite as possible.ContinueOnErrorHandlerErrorHandling =iota// Abort the push to Graphite upon the first error encountered.AbortOnError)
These constants cause handlers serving metrics to behave as described iferrors are encountered.