Description
Is your feature request related to a problem? Please describe.
Right now, we don't have a way to identify and prevent performance regressions in Cortex. The reason is that we don't have way to track and compare performance metrics between different releases or commits.
Describe the solution you'd like
Prometheus community has https://github.com/prometheus/test-infra which runs benchmark for Prometheus against a specific PR/release and visualize performance metrics via Grafana. It supports prombench
which is a macro benchmark and funcbench
which is a micro benchmark using Go benchmark test. It can be triggered by a bot and the bot will give more detailed information prometheus/prometheus#11833 (comment).
It would be neat to have similar benchmarks in Cortex and we can probably reuse some code from that.
Additional context
Similar to thanos-io/thanos#5764