Backend OTLP: Adding OTLP as a configurable backend for GoStatsD
Context
This adds in support for OTLP as a supported backend for Gostatsd however it does come with some limitations:
- Events are no (currently) supported
- Slight processing overhead converting from internal metrics values to OTLP values
Events will need to be exported as logs which currently isn't written yet and ignored for this PR.
Migration
To ensure the highest amount of compatibility with other configurable backends, timers can either exported as Gauges with the calculated value added as suffix to the metric. This should ensure that existing metrics being emitted to your configured backend should maintain the same semantic value when visualising / evaluating within metrics platform.
Outstanding
- [x] Adding tests for Backend
- [ ] Limiting the amount of concurrent requests being made
- [ ] Respecting batching limits
- [x] Cleanup unused helper functionality
I've parked the additional actions, I would like to follow up on those to be done within the transport instead of within the encoding step.