Closed Bug 458540 Opened 16 years ago Closed 16 years ago

Create a script to find performance regressions through bisection

Categories

(Release Engineering :: General, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: collares, Unassigned)

References

Details

Bug 458065 shows that even having extensive performance tests, some checkins will cause regressions and lots of hassle in the future sometimes. An automated script which automatically binary searches for regressions above a certain (absolute or relative) threshold could avoid lots of needless backouts.

(This doesn't really block 458065, I'm just adding it because it is related to it.)
I might be misremembering, but doesn't Jesse already have a script for this? Not for performance per se, but a script that performs the binary search part at least.
My script (Lithium) is for reducing testcases, not narrowing regression ranges.

It should be easy to build a script around |hg bisect| to do this.  The toughest part will probably be dealing with noise in performance data.
db48x has a regression-search script here: http://db48x.net/regression-search/

It knows how to binary search over nightlies and hourlies, but it doesn't know how to hg bisect. (That would be a bit harder, only because it doesn't currently know how to build the source, just run binaries.)

I had a buildbot setup to run regression-search with a reftest or mochitest, but it was running on a VM and I never kept it up long enough to be useful. I think teaching regression-search how to bisect, and teaching it how to run perf tests would be awesome.
This is a good idea, but I don't think RelEng should be on the hook for doing it. I don't think there's any good component for this, in fact, so I'm just going to WONTFIX it. I'd love to see someone actually come up with a working prototype though.
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → WONTFIX
Product: mozilla.org → Release Engineering
You need to log in before you can comment on or make changes to this bug.