reduce workunit terminal display to one decimal#23215
Open
cburroughs wants to merge 1 commit intopantsbuild:mainfrom
Open
reduce workunit terminal display to one decimal#23215cburroughs wants to merge 1 commit intopantsbuild:mainfrom
cburroughs wants to merge 1 commit intopantsbuild:mainfrom
Conversation
Currently we have a render rate of 10 Hz <https://github.com/pantsbuild/pants/blob/9b3c1562e2081d8e60433341ad8dc5585ec37323/src/rust/ui/src/lib.rs#L38> but try to display out to two decimal places. This results in some awkward displays where the last digit will look stuck -- 1.25 --> 1.35 --> 1.45 -- until some jitter aligns it to a new digit for a bit. Since this is just for a visual display and humans can't actually count that fast, I think it's fine to show one digit after the decimal. This is the granularity of `docker` for example. Before: After: An alternative approach would be to render at 100 Hz, but I don't think displaying the digit just to "look cool" is worth becoming terminal performance experts.
cburroughs
commented
Apr 3, 2026
|
|
||
| pub fn format_workunit_duration_ms(duration: Duration) -> String { | ||
| format!("{:.2}s", (duration.as_millis() as f64) / 1000.0) | ||
| format!("{:.1}s", duration.as_secs_f64()) |
Contributor
Author
There was a problem hiding this comment.
Not a rust expert, but my impression is that this is more idiomatic following the stabilization of https://doc.rust-lang.org/std/time/struct.Duration.html#method.as_secs_f64
This file contains hidden or 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
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.
Currently we have a render rate of 10 Hz
pants/src/rust/ui/src/lib.rs
Line 38 in 9b3c156
dockerfor example.Before: https://github.com/user-attachments/assets/c8ab5bf5-3336-44f2-ba14-76b887160715
After: https://github.com/user-attachments/assets/73b18e94-9097-49c9-a493-3e748ad5ccb2
An alternative approach would be to render at 100 Hz, but I don't think displaying the digit just to "look cool" is worth becoming terminal performance experts.
Disclosure: Claude connected the
render_interval/render_rate_hz/rendermath together, and made the change.