rustic
rustic copied to clipboard
feat: OpenTelemetry Protocol support for metrics
hii i've implemented the support for OTLP!
protocol this version only supports HTTP Protobuf because i think it is the most widely supported, including Prometheus. support for HTTP JSON and gRPC can be added later if necessary
about the implementation
at first, i wanted to use OTEL library as a single source of truth for metrics.
unfortunately, despite OTEL having a separate spec for converting its metrics to the Prometheus format, the rust library was deprecated for some reason.
so, i decided to create a small abstraction on the exporters, and now the metrics code lives in src/metrics
todo please note that the opentelemetry client uses reqwest, but i'm unsure if it needs to be configured specifically for this project. also, please verify that the feature setup is correct.
i hope i didn't forget anything else
fixes: #1458