#tokioconsole — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #tokioconsole, aggregated by home.social.
-
Async на Rust завис: как понять, где именно, когда паники нет и стек молчит
Сервис жив, CPU в норме, паники нет — а часть запросов зависает на минуты. В async‑Rust привычный стек часто мало помогает: задача могла застрять на блокирующем вызове, мьютексе или просто перестать получать пробуждения. Разбираем, как отличать эти сценарии в Tokio и куда смотреть, когда отладчик молчит.
https://habr.com/ru/companies/otus/articles/1065590/
#Rust #Tokio #async #асинхронное_программирование #зависания #дедлоки #отладка #tokioconsole #мьютексы #кооперативная_многозадачность
-
Async на Rust завис: как понять, где именно, когда паники нет и стек молчит
Сервис жив, CPU в норме, паники нет — а часть запросов зависает на минуты. В async‑Rust привычный стек часто мало помогает: задача могла застрять на блокирующем вызове, мьютексе или просто перестать получать пробуждения. Разбираем, как отличать эти сценарии в Tokio и куда смотреть, когда отладчик молчит.
https://habr.com/ru/companies/otus/articles/1065590/
#Rust #Tokio #async #асинхронное_программирование #зависания #дедлоки #отладка #tokioconsole #мьютексы #кооперативная_многозадачность
-
Async на Rust завис: как понять, где именно, когда паники нет и стек молчит
Сервис жив, CPU в норме, паники нет — а часть запросов зависает на минуты. В async‑Rust привычный стек часто мало помогает: задача могла застрять на блокирующем вызове, мьютексе или просто перестать получать пробуждения. Разбираем, как отличать эти сценарии в Tokio и куда смотреть, когда отладчик молчит.
https://habr.com/ru/companies/otus/articles/1065590/
#Rust #Tokio #async #асинхронное_программирование #зависания #дедлоки #отладка #tokioconsole #мьютексы #кооперативная_многозадачность
-
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!
-
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!
-
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!
-
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!
-
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!
-
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!
-
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.
-
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.
-
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.
-
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.
-
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. 🤦♀️
-
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. 🤦♀️
-
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. 🤦♀️
-
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. 🤦♀️
-
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 !
-
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 !
-
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 !
-
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 !
-
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/493add --allow flag
https://github.com/tokio-rs/console/pull/513These 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
-
add flags and configurations for warnings
https://github.com/tokio-rs/console/pull/493add --allow flag
https://github.com/tokio-rs/console/pull/513These 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
-
add flags and configurations for warnings
https://github.com/tokio-rs/console/pull/493add --allow flag
https://github.com/tokio-rs/console/pull/513These 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
-
add flags and configurations for warnings
https://github.com/tokio-rs/console/pull/493add --allow flag
https://github.com/tokio-rs/console/pull/513These 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
-
add flags and configurations for warnings
https://github.com/tokio-rs/console/pull/493add --allow flag
https://github.com/tokio-rs/console/pull/513These 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/517The 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!
-
lints trigger with non-async tasks
https://github.com/tokio-rs/console/pull/517The 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!
-
lints trigger with non-async tasks
https://github.com/tokio-rs/console/pull/517The 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!
-
lints trigger with non-async tasks
https://github.com/tokio-rs/console/pull/517The 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!
-
lints trigger with non-async tasks
https://github.com/tokio-rs/console/pull/517The 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/478The 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...
-
replace target column with kind column in tasks view
https://github.com/tokio-rs/console/pull/478The 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...
-
replace target column with kind column in tasks view
https://github.com/tokio-rs/console/pull/478The 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...
-
replace target column with kind column in tasks view
https://github.com/tokio-rs/console/pull/478The 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...
-
replace target column with kind column in tasks view
https://github.com/tokio-rs/console/pull/478The 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...
-
Don't save poll_ops if no-one is receiving them
https://github.com/tokio-rs/console/pull/501Poll 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).
-
Don't save poll_ops if no-one is receiving them
https://github.com/tokio-rs/console/pull/501Poll 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).
-
Don't save poll_ops if no-one is receiving them
https://github.com/tokio-rs/console/pull/501Poll 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).
-
Don't save poll_ops if no-one is receiving them
https://github.com/tokio-rs/console/pull/501Poll 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).
-
Don't save poll_ops if no-one is receiving them
https://github.com/tokio-rs/console/pull/501Poll 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).
-
There is also a minimal gRPC-web client in the console-subscriber examples directory:
https://github.com/tokio-rs/console/pull/526 -
There is also a minimal gRPC-web client in the console-subscriber examples directory:
https://github.com/tokio-rs/console/pull/526 -
There is also a minimal gRPC-web client in the console-subscriber examples directory:
https://github.com/tokio-rs/console/pull/526 -
There is also a minimal gRPC-web client in the console-subscriber examples directory:
https://github.com/tokio-rs/console/pull/526 -
There is also a minimal gRPC-web client in the console-subscriber examples directory:
https://github.com/tokio-rs/console/pull/526 -
Support for gRPC web!
https://github.com/tokio-rs/console/pull/498You can now run Tokio Console with a gRPC-web interface. This would allow you to use a client connecting from a web browser.
Of course, tokio-console is a command line tool, it doesn't run in a web browser, so why would you want this?
Because Tokio Console contributor Rustin has built a web version of the console as well!
Check it out:
https://github.com/hi-rustin/tokio-console-web -
Support for gRPC web!
https://github.com/tokio-rs/console/pull/498You can now run Tokio Console with a gRPC-web interface. This would allow you to use a client connecting from a web browser.
Of course, tokio-console is a command line tool, it doesn't run in a web browser, so why would you want this?
Because Tokio Console contributor Rustin has built a web version of the console as well!
Check it out:
https://github.com/hi-rustin/tokio-console-web -
Support for gRPC web!
https://github.com/tokio-rs/console/pull/498You can now run Tokio Console with a gRPC-web interface. This would allow you to use a client connecting from a web browser.
Of course, tokio-console is a command line tool, it doesn't run in a web browser, so why would you want this?
Because Tokio Console contributor Rustin has built a web version of the console as well!
Check it out:
https://github.com/hi-rustin/tokio-console-web -
Support for gRPC web!
https://github.com/tokio-rs/console/pull/498You can now run Tokio Console with a gRPC-web interface. This would allow you to use a client connecting from a web browser.
Of course, tokio-console is a command line tool, it doesn't run in a web browser, so why would you want this?
Because Tokio Console contributor Rustin has built a web version of the console as well!
Check it out:
https://github.com/hi-rustin/tokio-console-web -
Support for gRPC web!
https://github.com/tokio-rs/console/pull/498You can now run Tokio Console with a gRPC-web interface. This would allow you to use a client connecting from a web browser.
Of course, tokio-console is a command line tool, it doesn't run in a web browser, so why would you want this?
Because Tokio Console contributor Rustin has built a web version of the console as well!
Check it out:
https://github.com/hi-rustin/tokio-console-web -
Reduce retention period to fit in max message size
https://github.com/tokio-rs/console/pull/503This will ensure that even if you have a busy app with no console attached, tokio console will be able to attach and get *some* messages. The retention size is reduced until it fits in the max message size.
-
Reduce retention period to fit in max message size
https://github.com/tokio-rs/console/pull/503This will ensure that even if you have a busy app with no console attached, tokio console will be able to attach and get *some* messages. The retention size is reduced until it fits in the max message size.