Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Combine measurements from multiple trials and experiments for the same code revision #164

Merged
merged 6 commits into from
Jul 18, 2023

Conversation

smarr
Copy link
Owner

@smarr smarr commented Jul 18, 2023

In this PR, we combine data in the comparison view for multiple experiment ids and trial ids.
We essentially stop using expId and trialId to distinguish data sets from now on.
Instead, we rely solely on commit ids.
The user interface of ReBenchDB is all around commit ids, so, it makes sense to combine multiple experiments that provide data for a specific revision, and the assumption is that there's no change in the setup, environment, benchmarks, or executors between different experiments on the same source revision.

As a consequence, the plots to visualize warmup data may need to show data from multiple trials/experiments.
The profiling info now can be a list of profiles, which are all shown under the corresponding revision.

We do not track invocation numbers anymore in the data for computing comparisons.
The reason is that we assume invocations to be independent, and it doesn't matter in which order they appeared.
This makes it simple to combine invocations from different experiments and trials, which are for the same experiments.

This fixes #158 and #159.

…y based on runId

Grouping based on trialId is insufficient, since we want to support getting measurements from multiple trials, for instance, when re-executing experiments.

We don’t really need the trialId for anything anymore. It’s really just a database artifact.
- we now do not keep the invocation number anymore
- instead, we keep different invocations from different trials in a list
There can be multiple experiments for the same commit id.
This is generally a little problematic, but since we designed the user interface around commit ids, I think this is something we need to handle.
I would assume that multiple experiments do not introduce extra changes, and should just be treated like multiple trials from the same experiment.

This is most relevant for the warmup data visualization and the profiles.
Profiles should be easy enough. We will simply show a list of available profiles.
For warmup data plotting, well, currently everything is going to be shown on the same plot.

Not sure how well that works, but it’s a rare case, so, we can solve it of there are actually problems showing up.

We also now need just the runId in the button info for profile and warmup buttons. We simply use the full commit hashes from the page header where we already have them.
@smarr smarr added the enhancement New feature or request label Jul 18, 2023
@smarr smarr merged commit 892f59c into master Jul 18, 2023
2 checks passed
@smarr smarr deleted the combine-measurements-from-multiple-trials branch July 18, 2023 13:55
@smarr smarr linked an issue Jul 18, 2023 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
1 participant