This is a simple reporter for rcrowley's go-metrics library, designed to work with the Honeycomb metrics reporting service.
For more information, check out the GoDoc.
Basic usage:
import (
"time"
"github.com/getspine/go-metrics-honeycomb"
"github.com/rcrowley/go-metrics"
)
go honeycomb.Honeycomb(
metrics.DefaultRegistry,
60 * time.Second, // Interval between sending metrics
"your-write-key", // Honeycomb write key
"your-dataset", // Honeycomb dataset
[]float64{0.95, 0.99}, // Percentiles to report from histograms
)
If you wish to add extra fields or other configuration to the Honeycomb client, you can use the following procedure:
import (
"time"
"github.com/getspine/go-metrics-honeycomb"
"github.com/honeycombio/libhoney-go"
"github.com/rcrowley/go-metrics"
)
reporter := honeycomb.NewReporter(
metrics.DefaultRegistry,
60 * time.Second, // Interval between sending metrics
"your-write-key", // Honeycomb write key
"your-dataset", // Honeycomb dataset,
[]float64{0.95, 0.99}, // Percentiles to report from histograms
)
libhoney.AddField("philcollins", "sussudio")
...
go reporter.Run()
$ go get github.com/getspine/go-metrics-honeycomb
If you run into any bugs, please drop an issue on our GitHub and we'll be sure to have a look.