cortex
cortex copied to clipboard
Add storage "middleware" for OpenTracing and Instrumentation
The individual storage backends expose they're own, inconsistent metrics. I'm not suggesting these go away, as they have different retires policies etc, but a consistent wrapper for the Storage interface that adds instrumentation and tracing would also be useful.
This is a good example of how we did it in the caching layer, and can be used here: https://github.com/cortexproject/cortex/blob/master/pkg/chunk/cache/instrumented.go and https://github.com/cortexproject/cortex/blob/master/pkg/ring/kv/metrics.go
We'd need it for these interfaces: https://github.com/cortexproject/cortex/blob/master/pkg/chunk/storage_client.go#L5-L28
looking at this first
I took off 'good first issue' because the 'chunks' code is now deprecated and the 'blocks' code comes from Thanos project, so any changes would have to be made there first.
Distributed tracing is provided by opentelemetry now