-
Notifications
You must be signed in to change notification settings - Fork 10
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
Support analysis of profiles built with skymeld
enabled
#97
Comments
As a first step to supporting Bazel profiles where Skymeld was used, add a `Datum` that indices whether the profile looks like it was generated while using Skymeld. Contributes to #97 Signed-off-by: Sara Adams <[email protected]>
As a first step to supporting Bazel profiles where Skymeld was used, add a `Datum` that indices whether the profile looks like it was generated while using Skymeld. Contributes to #97 Signed-off-by: Sara Adams <[email protected]>
After sifting through a bunch of profiles, I believe a good strategy might be to check for the first event with category |
This change adds support for analysing profiles generated when using Skymeld. For this, the interlaced analysis and execution phase is split into two parts: 1. Analysis only, no execution interlaced. 2. Execution has started. analysis and execution may be interlaced. This is done by checking for the first observed `action processing` event. The distinction is relevant, because it helps us determine how many cores are available on the machine that ran the Bazel client, as well has how many cores are used during execution. The later may be higher than the prior, e.g. when remote execution is used. * Update `SkymeldUsed` to include the combined analysis and execution phase, as well as optionally the phase at which execution likely starts. * Update `EstimatedCoresDataProvider` to estimate cores when Skymeld is used. * Update `CriticalPathNotDominantSuggestionProvider` when Skymeld is used, if the information when execution started is available. Contributes to #97. Signed-off-by: Sara Adams <[email protected]>
As a first step to supporting Bazel profiles where Skymeld was used, add a `Datum` that indices whether the profile looks like it was generated while using Skymeld. Contributes to #91 Contributes to #97 --------- Signed-off-by: Sara Adams <[email protected]>
This change adds support for analysing profiles generated when using Skymeld. For this, the interlaced analysis and execution phase is split into two parts: 1. Analysis only, no execution interlaced. 2. Execution has started. analysis and execution may be interlaced. This is done by checking for the first observed `action processing` event. The distinction is relevant, because it helps us determine how many cores are available on the machine that ran the Bazel client, as well has how many cores are used during execution. The later may be higher than the prior, e.g. when remote execution is used. * Update `SkymeldUsed` to include the combined analysis and execution phase, as well as optionally the phase at which execution likely starts. * Update `EstimatedCoresDataProvider` to estimate cores when Skymeld is used. * Update `CriticalPathNotDominantSuggestionProvider` when Skymeld is used, if the information when execution started is available. Contributes to #97. Signed-off-by: Sara Adams <[email protected]>
…117) This change adds support for analysing profiles generated when using Skymeld. For this, the interlaced analysis and execution phase is split into two parts: 1. Analysis only, no execution interlaced. 2. Execution has started. analysis and execution may be interlaced. This is done by checking for the first observed `action processing` event. The distinction is relevant, because it helps us determine how many cores are available on the machine that ran the Bazel client, as well has how many cores are used during execution. The later may be higher than the prior, e.g. when remote execution is used. * Update `SkymeldUsed` to include the combined analysis and execution phase, as well as optionally the phase at which execution likely starts. * Update `EstimatedCoresDataProvider` to estimate cores when Skymeld is used. * Update `CriticalPathNotDominantSuggestionProvider` when Skymeld is used, if the information when execution started is available. Contributes to #97. Signed-off-by: Sara Adams <[email protected]>
Problem
Bazel's Project Skymeld interleaves the loading/analysis and execution phases.
bazel_invocation_analyzer
currently depends on separate build markers for those phases in its analysis. This project replaces those 3 build phase markers with a new "Load, analyze dependencies and build artifacts" marker, which breaks some of our analyses.Support needs to be added for this new build marker in our analysis.
Additional information
Sample build marker entry:
{"cat":"build phase marker","name":"Load, analyze dependencies and build artifacts","ph":"i","ts":1703090,"pid":1,"tid":1930},
The text was updated successfully, but these errors were encountered: