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
More precise running workunit for processes executing remotely #17719
Merged
stuhood
merged 4 commits into
pantsbuild:main
from
stuhood:stuhood/more-precise-remote-execution-workunit
Dec 6, 2022
Merged
More precise running workunit for processes executing remotely #17719
stuhood
merged 4 commits into
pantsbuild:main
from
stuhood:stuhood/more-precise-remote-execution-workunit
Dec 6, 2022
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
… the operation stage.
… executing, and afterwards.
Commits are useful to review independently. |
Eric-Arellano
approved these changes
Dec 6, 2022
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice, thanks!
stuhood
added a commit
to stuhood/pants
that referenced
this pull request
Dec 6, 2022
…build#17719) The `run_execute_request` workunit includes the "scheduling" time inside the remote execution server, during which the process might be queued because other workers are busy. But some servers (including `buildgrid`) support sending `Operation` API updates which indicate that a process has moved from queued to actually running. To avoid including the queueing time in the Pants UI (and blaming processes as "long running" even though they are just queued), this change begins to consume the `ExecuteOperationMetadata` on streaming `Operations` to wait to begin reporting the process as running until either: 1. We see an `ExecutionStage::Unknown` (indicating that the server probably doesn't support sending fine-grained operations) 2. We see an `ExecutionStage::Executing` The impact is that an overloaded execution server which reports `ExecuteOperationMetadata` will not begin reporting processes as running until they have actually begun executing.
stuhood
added a commit
that referenced
this pull request
Dec 6, 2022
…y-pick of #17719) (#17725) The `run_execute_request` workunit includes the "scheduling" time inside the remote execution server, during which the process might be queued because other workers are busy. But some servers (including `buildgrid`) support sending `Operation` API updates which indicate that a process has moved from queued to actually running. To avoid including the queueing time in the Pants UI (and blaming processes as "long running" even though they are just queued), this change begins to consume the `ExecuteOperationMetadata` on streaming `Operations` to wait to begin reporting the process as running until either: 1. We see an `ExecutionStage::Unknown` (indicating that the server probably doesn't support sending fine-grained operations) 2. We see an `ExecutionStage::Executing` The impact is that an overloaded execution server which reports `ExecuteOperationMetadata` will not begin reporting processes as running until they have actually begun executing.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The
run_execute_request
workunit includes the "scheduling" time inside the remote execution server, during which the process might be queued because other workers are busy. But some servers (includingbuildgrid
) support sendingOperation
API updates which indicate that a process has moved from queued to actually running.To avoid including the queueing time in the Pants UI (and blaming processes as "long running" even though they are just queued), this change begins to consume the
ExecuteOperationMetadata
on streamingOperations
to wait to begin reporting the process as running until either:ExecutionStage::Unknown
(indicating that the server probably doesn't support sending fine-grained operations)ExecutionStage::Executing
The impact is that an overloaded execution server which reports
ExecuteOperationMetadata
will not begin reporting processes as running until they have actually begun executing.