Did you know that the meaning of all the columns in Tokio Console is documented?
Someone asked about this today, and being able to point to the docs was great!
Did you know that the meaning of all the columns in Tokio Console is documented?
Someone asked about this today, and being able to point to the docs was great!
I wrote up a post on the size of Futures in #rustlang, why they can be big, why we care and how you can check the size.
This leads into the new instrumentation in Tokio 1.41.0 and new lints in Tokio Console 0.1.13.
And of course there's a link to the Clippy lint that can do much of this statically!
There's some new instrumentation in tokio 1.41.0 (released 2 days ago), which includes the size of the future driving every task.
In Tokio Console 0.1.13 (released half and hour ago), not only will you see this value, but there are 2 new lints which will warn you if your futures are perhaps a little too large.
Normally I’m not a fan of “system tray” apps. But if someone could create one that tells you when you have #rust target directories that are getting silly large, I’d install that.
Just deleted almost 80GiB of target directory from just my clone of the #tokioConsole project. 🤦♀️
Just got a new release of Tokio Console (and supporting crates) out, only a month and a half after the last release!
How did we manage this? Release-plz makes releasing super easy, even when I have to patch the version of tokio-console to avoid a (pre-1.0) major version bump (because tonic upgrades mean we need a major version bump for console-api and console-subscriber).
Check it out: https://release-plz.ieni.dev/
Thank you @MarcoIeni !
add flags and configurations for warnings
https://github.com/tokio-rs/console/pull/493
add --allow flag
https://github.com/tokio-rs/console/pull/513
These two features allow you to choose which lints you want running in tokio-console.
Don't want a warning for tasks that have never yielded? It's as easy as:
tokio-console --allow never-yielded
They can all be allowed (no warnings) with:
tokio-console --allow all
lints trigger with non-async tasks
https://github.com/tokio-rs/console/pull/517
The lints available in Tokio-console are only really applicable to async and local tasks. Not to the other kinds (blocking, block_on).
Yet the lints were getting triggered on those tasks as well, which were all false positives.
This release includes a fix for that!
replace target column with kind column in tasks view
https://github.com/tokio-rs/console/pull/478
The task kind is more useful (and shorter) than the target, so the kind has been given its own column and target has been relegated to the catch all "Fields" column.
This work also enabled the next fix...
In the tokio-console tasks view, there are a fixed set of columns and any remaining fields are included in a "Fields" column at the end. One of the fields which is always present on a task, but doe...
Don't save poll_ops if no-one is receiving them
https://github.com/tokio-rs/console/pull/501
Poll ops were previously not being removed from the console-subscriber local state after the retention period. This is a not-very-nice memory leak.
Since tokio-console doesn't show completed poll ops anyway, they won't be stored in the console-subscriber local state if no client is attached. This will reduce the subscriber memory footprint in that case (no client connected).
Do not record poll_ops if there are no current connected clients (watchers). Without this Aggregator::poll_ops would grow forever. Follow up to #311 and fix for these two: #184 #500
There is also a minimal gRPC-web client in the console-subscriber examples directory:
https://github.com/tokio-rs/console/pull/526
Description This pull request adds a real web example for the grpc-web feature. It shows how to connect the console-subscriber server with a grpc-web client in the browser. I also added a GitHub Ac...