Size: a a a

2020 November 25

PL

Paul ❌ Loyd in Rust Async
А кто-нибудь видел профайлер к токио? Хочется как-то так: просто меняешь зависимость tokio на какой-то кастомную репу и после выполнения программы строится таймлайн когда какие задачи выполнялись (+ чтоб имена из tracing подхватывал).
источник

PL

Paul ❌ Loyd in Rust Async
В идеале связать задачи между собой (можно что-то такое сделать, если вызовы wake отследить)
источник

MB

Mikail Bagishov in Rust Async
А разве встроенного tracing недостаточно? Он вроде каждую таску в свой спан оборачивает, все зависимости должны быть видны
источник

PL

Paul ❌ Loyd in Rust Async
Mikail Bagishov
А разве встроенного tracing недостаточно? Он вроде каждую таску в свой спан оборачивает, все зависимости должны быть видны
Во-первых, не оборачивает, ибо хуков нет. Во-вторых, зависимости никак это не покажет (спаны нужно явно прокидывать и перезаходить). Ну и код без tracing остаётся не у дел
источник

PL

Paul ❌ Loyd in Rust Async
Ну и никакого таймлайна не строится, никакого отчёта
источник

MB

Mikail Bagishov in Rust Async
https://github.com/tokio-rs/tokio/blob/master/tokio/src/util/trace.rs#L12
По идее со включенной фичей tracing spawn должен автоматически инструментировать каждую запускаемую футуру
источник

A

Anton in Rust Async
Paul ❌ Loyd
Во-первых, не оборачивает, ибо хуков нет. Во-вторых, зависимости никак это не покажет (спаны нужно явно прокидывать и перезаходить). Ну и код без tracing остаётся не у дел
Там нужно поднять какой нить Jaeger могу если нужно попозже скинуть как, инициализироватьтего в мейне, и активировать в токио фичи
источник

PL

Paul ❌ Loyd in Rust Async
Mikail Bagishov
https://github.com/tokio-rs/tokio/blob/master/tokio/src/util/trace.rs#L12
По идее со включенной фичей tracing spawn должен автоматически инструментировать каждую запускаемую футуру
О, раньше не было этого
источник
2020 November 26

MS

Mikola Summer Duck in Rust Async
Убрал два атомика, получил +15% производительности на бенчмарках.
источник
2020 November 28

AZ

Alexander Zaitsev in Rust Async
pl 🦑 hk
через map можно закостылить 🤷‍♀️
а как этот костыль через map выглядит (прошу прощения за некрореплай)?
источник

АГ

Алексей Герасимов... in Rust Async
Alexander Zaitsev
а как этот костыль через map выглядит (прошу прощения за некрореплай)?
actix вводит трейт ActorFuture, это типа future, только в нее дополнительно передается актор и контекст. Но естественно этот трейт не работает с async/await, так что работать с ним можно только через комбинаторы (map/then/and_then/or_else). И создать его можно из обычной футуры. Я думаю про такой подход речь шла
источник

A

Adatan in Rust Async
как можно динамически джоинить футуры? Допустим, у меня есть вектор с футурами (изначально я хз сколько их там), и мне нужно после каждого тика таймера запускать их одновременно и ждать выполнение всех. То есть пока последняя футура из всех не отработает, то таймер не продолжает работу.
источник

K

Kitsu in Rust Async
Adatan
как можно динамически джоинить футуры? Допустим, у меня есть вектор с футурами (изначально я хз сколько их там), и мне нужно после каждого тика таймера запускать их одновременно и ждать выполнение всех. То есть пока последняя футура из всех не отработает, то таймер не продолжает работу.
futures::join_all?
источник

A

Adatan in Rust Async
источник

A

Adatan in Rust Async
???
источник

A

Adatan in Rust Async
для 0.2.23
источник

K

Kitsu in Rust Async
не в токио, поправил сообщеньку
источник

A

Adatan in Rust Async
а, справедливо, понял
источник

AV

A V in Rust Async
к тому же токио нынче 0.3
источник

A

Adatan in Rust Async
A V
к тому же токио нынче 0.3
скажи это большинству библиотек))
источник