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.
cat > sleep.sh << 'EOF'
#!/usr/bin/env bash
sleep 10000
EOF
chmod +x sleep.sh
cat > BUILD.bazel << 'EOF'
sh_test(
name = "sleep_test",
size = "enormous",
srcs = ["sleep.sh"],
)
EOF
touch WORKSPACE
bazel test //:sleep_test --progress_report_interval=2 2> output.txt
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 returns development 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
Description of the bug:
The docs for the option
--progress_report_interval=nread: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 releasereturnsdevelopment versionor(@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