#future #spawn #diagnostics #wraps #logs #task #lots

futures-diagnose

包装在Spawn周围,提供大量诊断功能

3 个版本 (稳定)

1.0.1 2020年2月5日
1.0.0 2020年1月22日
0.1.0 2020年1月22日

#999异步

Download history 421/week @ 2024-03-13 808/week @ 2024-03-20 709/week @ 2024-03-27 801/week @ 2024-04-03 637/week @ 2024-04-10 667/week @ 2024-04-17 693/week @ 2024-04-24 520/week @ 2024-05-01 552/week @ 2024-05-08 641/week @ 2024-05-15 743/week @ 2024-05-22 833/week @ 2024-05-29 705/week @ 2024-06-05 597/week @ 2024-06-12 510/week @ 2024-06-19 591/week @ 2024-06-26

每月2,538 次下载
用于 40 个crates(通过 tc-transaction-pool

MIT 许可证

22KB
361

此crate允许生成关于任务如何调度的日志,以便生成二进制文件的CPU使用情况的配置文件。

此crate利用 https://github.com/catapult-project/catapult/tree/11513e359cd60e369bbbd1f4f2ef648c1bccabd0/tracing

使用方法

首先导入特性

use futures_diagnose_exec::{FutureExt as _, Future01Ext as _};

然后每次创建 Future 时,附加 .with_diagnostics("name")。例如

async_std::spawn(future.with_diagnostics("my-task-name"))

将环境变量 PROFILE_DIR 设置为您的选择目录(例如 profile),然后运行您的代码。将生成名为 profile.<pid>.<num>.json 的文件,在之前设置的目录中。

然后,打开Chrome并访问URL chrome://tracing,并加载 profile.json

常见问题解答

  • Chrome告诉我 chrome://tracing "无法访问"。

    最近版本的Debian中预装了Chromium,其跟踪功能已禁用。有关详细信息,请参阅 Debian错误报告

依赖关系

~3–4MB
~82K SLoC