hystrix-go
hystrix-go copied to clipboard
Hystrix Metrics Collector for Expvar backend
Similar as the plugins for Datadog, Graphite & StatsD I have created a collector who publishes the metrics in the expvar struct so it is available at /debug/vars.
I'm quite new at golang so feedback is welcome. (Maybe idea's how to write proper tests for this?)
To enable:
c, _ := plugins.InitializeExpvarCollector(&plugins.ExpvarCollectorConfig{
Prefix: "result0",
})
metricCollector.Registry.Register(c.NewExpvarCollector)
Added to expvar is a flat series of metrics per circuit breaker:
{
...
prefixname.circuitname.attempts: 2180,
prefixname.circuitname.circuitOpen: 1,
prefixname.circuitname.errors: 2089,
prefixname.circuitname.failures: 0,
prefixname.circuitname.fallbackFailures: 2089,
prefixname.circuitname.fallbackSuccesses: 0,
prefixname.circuitname.rejects: 248,
prefixname.circuitname.runDuration: 0,
prefixname.circuitname.shortCircuits: 1841,
prefixname.circuitname.successes: 91,
prefixname.circuitname.timeouts: 0,
prefixname.circuitname.totalDuration: 10.040859299999978,
...
}
Travis Error seems unrelated to my patch.