Open squarewave opened 4 years ago
The idea is interesting and maybe not that hard given the current architecture in place.
I think this is a good candidate for the performance workflow work. The way I see this working is that each folder in a zip view would have a "view merged profiles" button.
The profiles would then be merged into similar threads, with their times properly offset so that each profile is visible moving left to right in the profile. We should add markers to the profile to differentiate each profile run.
A good example profile is attached.
Here is a talos run that's currently available via try: https://profiler.firefox.com/from-url/https%3A%2F%2Ffirefox-ci-tc.services.mozilla.com%2Fapi%2Fqueue%2Fv1%2Ftask%2FHROGCn1VTzayD33Bd0b4eA%2Fruns%2F0%2Fartifacts%2Fpublic%2Ftest_info%2Fprofile_damp.zip/calltree/?v=5
We have profile diffing as an idea, but here I'm referring to the opposite. Essentially, interleaving the samples from two or more profiles (attempting to match process by process) to create a super-profile.
The use case here is for analyzing talos profiles. I.e., profiles of very similar runs which should roughly line up, allowing us to virtually increase the sampling rate without actually incurring extra overhead. This would be particularly useful for diffing N talos runs with N other talos runs when the percentage performance difference is low but consistent.
┆Issue is synchronized with this Jira Task