thanos-io / thanos

Highly available Prometheus setup with long term storage capabilities. A CNCF Incubating project.
https://thanos.io
Apache License 2.0
13.06k stars 2.09k forks source link

Add automated nightly micro and macro benchmarks #5764

Open bwplotka opened 2 years ago

bwplotka commented 2 years ago

In my book, I mentioned amazing work Vitess has done. They have nightly run of unit and macro tests on some cloud provider. It would be amazing if we have the same so we had history of past efficiency across at least set of commits to go in every day.

Prometheus have something like this using https://github.com/prometheus/test-infra

Ideally it is per PR, but that is expensive and it would take too long for PR to get ready to go.

Potentially a GSoC/LFX project?

AC:

squat commented 2 years ago

Nice! That's a really good idea. I wonder if maybe we could get additional funding from Civo for this

matej-g commented 2 years ago

Nightly would be awesome, I feel like even doing this between each new tagged release would give us a lot of value.

Tagging @PhilipGough who recently also spent a lot of time doing macrobenchmarks with our receivers.

epompeii commented 1 year ago

Would you also be interested in running it against each PR like Vitess?

If so, I've been working on a continuous benchmarking tool called Bencher: https://github.com/bencherdev/bencher It should check all the same boxes as Vitess's setup on the tracking and performance regression side of things. We could also track nightly and release runs. Bencher doesn't (yet) have a way to handle the compute side of things though, so that would still need to be configured separately.