bazelbuild / bazelbuild/bazel-bench
Allow grouping of actions by executed/cached in json profile analysis
- Dominant language
- Python
- Stars
- 42
- Forks
- 12
- PR merge metrics
- No merged PRs in 30d
Description
**Description of the problem / feature request:**
Currently, the json_profile_merger logic simply takes time spans from the profiles and collates them for analysis.
It would be nice if we could categorise this data based on whether the action was executed locally, executed remotely, cached locally, cached remotely.
Visually it can be quite clear through `chrome://tracing` whether an action is using the remote cache as it has a span below with "Downloading Outputs", but this isn't considered when collecting this data as the spans are only related via the CPU executed.
**Feature requests: what underlying problem are you trying to solve with this feature?**
I would like to be able to produce reports on execution time of **executed** actions from daily CI builds. This is currently not possible as cached actions are grouped in and are quite fast.
Contributor guide
Research direction
Start with the json_profile_merger logic described in the issue and trace how profile spans are collated. Done means reports can distinguish locally executed, remotely executed, locally cached, and remotely cached actions, including remote-cache output downloads.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- performance
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100