-
Notifications
You must be signed in to change notification settings - Fork 4.1k
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
Progress updates become ever more scarce without terminal cursor control #16119
Comments
Hi @sgowroji, I updated the original post. The minimal example can also be found at at https://github.com/tom-cnops/progress-minimal-example. Running After five minutes the delay between progress messages is ~45 seconds, while I'd expect a progress message every 2 seconds in this case.
|
|
As far as I can see But this seems mostly orthogonal to the issue of the interval increasing if there is no cursor control:
|
Looks like the performance team has more expertise on this, so reassigning to team-Performance |
"expertise" is such a strong word. :) |
…16606) Removes a bit of undocumented behavior that increases the delay between progress updates the longer the build is running. Potentially resolves #16119 Also renamed `MAXIMAL_UPDATE_DELAY_MILLIS` to `MINIMAL_UPDATE_INTERVAL_MILLIS` because it is used as a minimum and doesn't affect the delay between messages. Fixes #16119. Closes #16221. RELNOTES[INC]: Bazel no longer increases the delay between progress updates when there is no cursor control. PiperOrigin-RevId: 484203851 Change-Id: I33f7302ca85b75135744eb6093b618196199a49f Co-authored-by: Tom Cnops <60213975+tom-cnops@users.noreply.github.com>
Description of the bug:
The docs for the option
--progress_report_interval=n
read:This option sets the reporting frequency, progress will be printed every n seconds.
But this seems to not work when Bazel can not update the terminal output in place. The delay between progress updates grows linearly as time increases.
I had a quick look at the code and according to the comments this was implemented intentionally. The commit message also mentions this.
The behavior as described in the docs would be nice for us, as then we can automatically check whether Bazel is still running correctly for some very long-running actions. There also seems no real benefit to increasing the update interval to 10 minutes or more, as we have encountered.
Of course, if I'm missing why this works this way, it would still be useful if the docs could be updated with the behavior for non-overwritable output.
What's the simplest, easiest way to reproduce this bug? Please provide a minimal example if possible.
Run a test that just sleeps and redirect stderr to a file.
Initially the progress updates will be written every 2 seconds as requested, but after 40 seconds the delay between them will start increasing noticeably.
Which operating system are you running Bazel on?
Ubuntu 20.04
What is the output of
bazel info release
?release 5.2.0
If
bazel info release
returnsdevelopment version
or(@non-git)
, tell us how you built Bazel.No response
What's the output of
git remote get-url origin; git rev-parse master; git rev-parse HEAD
?No response
Have you found anything relevant by searching the web?
No response
Any other information, logs, or outputs that you want to share?
No response
The text was updated successfully, but these errors were encountered: