gin-wavefront is a Gin middleware to emit metrics to Wavefront.
To use this Gin middleware, you'll need to have
Using go get
go get github.com/retgits/gin-wavefront
To start, you'll need to initialize the Wavefront emitter:
wfconfig := &ginwavefront.WavefrontConfig{
Server: "https://<INSTANCE>.wavefront.com",
Token: "my-api-key",
BatchSize: 10000,
MaxBufferSize: 50000,
FlushInterval: 1,
Source: "my-app",
MetricPrefix: "my.awesome.app",
PointTags: make(map[string]string),
}
wfemitter, err := ginwavefront.WavefrontEmitter(wfconfig)
if err != nil {
fmt.Println(err.Error())
}
Now you can use the wfemitter
as a middleware function in Gin
r := gin.New()
r.Use(wfemitter)
A complete sample app can be found in the examples folder
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.
See the LICENSE file in the repository