bazelbuild / bazelbuild/bazel-bench

Allow grouping of actions by executed/cached in json profile analysis

Open
#94 1 comment 0 reactions 0 assignees View on GitHub
enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.