Apache Otava allows analyzing performance results and identify degradations. We use otava analyze command for every test with a period in 30 days and Otava prints a huge list of commits that should be reviewed by someone to identify degradations. Like below, but our list is huge (see https://github.com/tarantool/tarantool/actions/runs/22661725943/job/65683369918):
$ otava analyze local.sample --since=2024-01-01
INFO: Computing change points for test sample.csv...
sample:
time metric1 metric2
------------------------- --------- ---------
2021-01-01 02:00:00 +0000 154023 10.43
2021-01-02 02:00:00 +0000 138455 10.23
2021-01-03 02:00:00 +0000 143112 10.29
2021-01-04 02:00:00 +0000 149190 10.91
2021-01-05 02:00:00 +0000 132098 10.34
2021-01-06 02:00:00 +0000 151344 10.69
·········
-12.9%
·········
2021-01-07 02:00:00 +0000 155145 9.23
2021-01-08 02:00:00 +0000 148889 9.11
2021-01-09 02:00:00 +0000 149466 9.13
2021-01-10 02:00:00 +0000 148209 9.03
This work is time-consuming and routine. Is there a way to print quite and short report with degradations and return non-zero exit code to trigger a fail in CI when degradations detected?
Maybe I missed something in the documentation and what I need has already been implemented?
Apache Otava allows analyzing performance results and identify degradations. We use
otava analyzecommand for every test with a period in 30 days and Otava prints a huge list of commits that should be reviewed by someone to identify degradations. Like below, but our list is huge (see https://github.com/tarantool/tarantool/actions/runs/22661725943/job/65683369918):This work is time-consuming and routine. Is there a way to print quite and short report with degradations and return non-zero exit code to trigger a fail in CI when degradations detected?
Maybe I missed something in the documentation and what I need has already been implemented?