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

[6.5.0] RemoteSpawnRunner: record inbetween phases in timing profile #20550

Merged
merged 1 commit into from Dec 15, 2023

Conversation

iancha1992
Copy link
Member

After an action was executed remotely, RemoteSpawnRunner would use the timestamps in the execution metadata to record appropriate timing phases into the JSON profile.

However, there are durations in-between the existing phases that are unaccounted for. Depending on the RBE server implemenation, these phases could mean different things:

  • Sandbox preparation
  • Cleaning up sandbox environments post-execution
  • Others

Missing these durations inside the timing profile would cause confusion to end users as it would be interpreted as nothing happened in between the existing phases.

Add these durations into the profile as "pre-X" phases so that user is aware of activities could still be happening during that time. RBE server implementation should be able to alter these label programmatically if necessary.

Closes #20387.

Commit fe9e9e0

PiperOrigin-RevId: 590816782
Change-Id: I2bee36be928db24a14fab18bc519c3893723b7d6

After an action was executed remotely, RemoteSpawnRunner would use
the timestamps in the execution metadata to record appropriate timing
phases into the JSON profile.

However, there are durations in-between the existing phases that are
unaccounted for. Depending on the RBE server implemenation, these
phases could mean different things:
- Sandbox preparation
- Cleaning up sandbox environments post-execution
- Others

Missing these durations inside the timing profile would cause confusion
to end users as it would be interpreted as nothing happened in between
the existing phases.

Add these durations into the profile as "pre-X" phases so that user is
aware of activities could still be happening during that time. RBE
server implementation should be able to alter these label
programmatically if necessary.

Closes bazelbuild#20387.

PiperOrigin-RevId: 590816782
Change-Id: I2bee36be928db24a14fab18bc519c3893723b7d6
@iancha1992 iancha1992 added team-Remote-Exec Issues and PRs for the Execution (Remote) team awaiting-review PR is awaiting review from an assigned reviewer labels Dec 14, 2023
@iancha1992 iancha1992 requested a review from a team as a code owner December 14, 2023 18:27
@iancha1992 iancha1992 added this pull request to the merge queue Dec 15, 2023
Merged via the queue into bazelbuild:release-6.5.0 with commit a184954 Dec 15, 2023
24 checks passed
@iancha1992 iancha1992 removed the awaiting-review PR is awaiting review from an assigned reviewer label Dec 15, 2023
iancha1992 pushed a commit that referenced this pull request Jan 23, 2024
Baseline:  50b61e3

Release Notes:

+ Fix tree file materialized as symlink to another file when building without the bytes. (#20409)
+ Don't pass --add-opens= to javac (#20472)
+ Flip --incompatible_visibility_private_attributes_at_definition (#20520)
+ Fix extraction of tar archives containing sparse files. (#20531)
+ RemoteSpawnRunner: record inbetween phases in timing profile (#20550)
+ Add profiling to `remoteActionBuildingSemaphore.acquire()` (#20549)
+ The label API shakeup & docs cleanup (#20590)
+ Disable rewriter test (#20758)
+ Disable PyTest.testSmoke on macOS (#20729)
+ Upgrade abseil-cpp to fix build on macos_arm64 (#20785)
+ Ignore read-only errors when updating the `mtime` of the `install_base` (#20568)
+ Restart at most once when prepopulating repository rule environment (#20667)
+ Fix bootstrapped Bazel binary (#20804)
+ Add flag `experimental_throttle_remote_action_building` (#20861)
+ Fix versioned shared libraries for macOS toolchain (#20847)
+ Proto toolchainisation cherrypicks (#20925)

Acknowledgements:

This release contains contributions from many people at Google, as well as bazel.build machine account, Brentley Jones, Fabian Meumertzheim, Jordan Mele, Mai Hussien, oquenchil, Rahul Butani, Son Luong Ngoc, Xùdōng Yáng.
copybara-service bot pushed a commit that referenced this pull request Jan 23, 2024
Baseline:  50b61e3

Release Notes:

+ Fix tree file materialized as symlink to another file when building without the bytes. (#20409)
+ Don't pass --add-opens= to javac (#20472)
+ Flip --incompatible_visibility_private_attributes_at_definition (#20520)
+ Fix extraction of tar archives containing sparse files. (#20531)
+ RemoteSpawnRunner: record inbetween phases in timing profile (#20550)
+ Add profiling to `remoteActionBuildingSemaphore.acquire()` (#20549)
+ The label API shakeup & docs cleanup (#20590)
+ Disable rewriter test (#20758)
+ Disable PyTest.testSmoke on macOS (#20729)
+ Upgrade abseil-cpp to fix build on macos_arm64 (#20785)
+ Ignore read-only errors when updating the `mtime` of the `install_base` (#20568)
+ Restart at most once when prepopulating repository rule environment (#20667)
+ Fix bootstrapped Bazel binary (#20804)
+ Add flag `experimental_throttle_remote_action_building` (#20861)
+ Fix versioned shared libraries for macOS toolchain (#20847)
+ Proto toolchainisation cherrypicks (#20925)

Acknowledgements:

This release contains contributions from many people at Google, as well as bazel.build machine account, Brentley Jones, Fabian Meumertzheim, Jordan Mele, Mai Hussien, oquenchil, Rahul Butani, Son Luong Ngoc, Xùdōng Yáng.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
team-Remote-Exec Issues and PRs for the Execution (Remote) team
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants