fabiolb / fabio

Consul Load-Balancing made simple
https://fabiolb.net
MIT License
7.25k stars 621 forks source link

Updated metrics refactor #799

Closed nathanejohnson closed 3 years ago

nathanejohnson commented 3 years ago

Currently all previously supported backends have been implemented, though there will definitely be changes required for users of statsd and likely graphite as well. the statsd implementation was rather broken - counters never reset which is a violation of how counters are supposed to work in statsd. Graphite changed because the new implementation is based off the go-kit graphite adapter for their metrics framework. The main changes are around histograms, since they use a different backend package. This is unfortunate, however this gets us to the positives: namely, tag support for backends that can support them, and a way forward for backends that don't support tags.

Prometheus support has been added with full tag support.

oldmetrics has been deleted

metrics4 package renamed to metrics

adding metrics names_test.go

Reworked stats so that we don't register duplicates.

This pisses prometheus right off

adding statsd provider unit test

added circonus

tentatively have graphite going now, deleted old metrics