Skip to content

Understanding overhead showing in Chrome trace #10702

@kastiglione

Description

@kastiglione

Description of the problem request:

We have a long final action at the end of our build that we'd like to speed up. When looking at a Chrome trace of our build, that final action has much more Bazel overhead than other actions in the build.

Screen Shot 2020-02-03 at 2 43 37 PM

My reading of this is that the action (BundleTreeApp a python script in rules_apple) is ~6s, and then after that Bazel does some post-processing in ActionContinuation.execute and then yet more post-processing in the top level invocation (skyframe?).

In the above screenshot, ActionContinuation.execute appears to have 2s of post-processing "overhead", and "Bundling, processing and signing" has another 2s of post-processing "overhead".

Feature requests: what underlying problem are you trying to solve with this feature?

When looking at a Chrome trace: How can we understand how and why Bazel overhead exists, and what can be done about it.

We see overhead at the beginning of a build as well, but this issue is focused on how to understand performance factors for poorly performing actions like this.

Bugs: what's the simplest, easiest way to reproduce this bug? Please provide a minimal example if possible.

You'd need a sufficiently large iOS project that has a non-trivial .app bundle.

What operating system are you running Bazel on?

macOS

What's the output of bazel info release?

release 2.0.0

Metadata

Metadata

Assignees

Labels

P3We're not considering working on this, but happy to review a PR. (No assignee)team-PerformanceIssues for Performance teamstype: documentation (cleanup)

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions