#progress-bar #progress #tracing #tracing-layer #cli

tracing-indicatif

自动创建和管理活动跨度进度条的跟踪层

11 个版本

0.3.6 2023年12月12日
0.3.5 2023年8月21日
0.3.4 2023年4月29日
0.3.0 2023年2月19日
0.1.0 2023年2月9日

#89命令行界面

Download history 2194/week @ 2024-03-14 2007/week @ 2024-03-21 1614/week @ 2024-03-28 1738/week @ 2024-04-04 1894/week @ 2024-04-11 2016/week @ 2024-04-18 1728/week @ 2024-04-25 2016/week @ 2024-05-02 2317/week @ 2024-05-09 2616/week @ 2024-05-16 2439/week @ 2024-05-23 2104/week @ 2024-05-30 1524/week @ 2024-06-06 2006/week @ 2024-06-13 2170/week @ 2024-06-20 1700/week @ 2024-06-27

7,825 每月下载量
14 个 Crates 中使用 (13 直接)

MIT 许可证

76KB
1.5K SLoC

tracing-indicatif

Documentation Crates.io

一个 tracing 层,自动创建和管理 indicatif 进度条,用于活动跨度。

进度条是使您的 CLI 感觉更响应的绝佳方式。然而,在库中添加和管理进度条可能会很侵入式、不直观,且难以跟踪。

该库旨在通过将进度条与 跟踪跨度 绑定来简化 CLI 的进度条显示。对于已使用跟踪跨度的 CLI/libraries,这允许通过更改 3 行代码即可为程序启用平滑的进度条体验。这消除了在库中手动管理进度条实例的需要。

由于进度条本质上是在跟踪某些“跨度”的生命周期(无论该“跨度”是显式定义的还是隐式定义的),因此最好明确这种关系。

演示

请参阅 examples 文件夹中的演示代码。

默认配置

demo using basic example

带有子跨度的默认配置

demo using child_spans example

进度条

demo using progress_bar example

构建类似控制台

这是 buck2superconsole 的重现。 使用 build_console 示例的演示

功能

  • 使用与 indicatif 相同的 ProgressStyle API 自定义进度条。
  • 支持在进度条之间显示父-子跨度关系。
  • 限制终端上可见的进度条数量。
  • 防止进度条覆盖跟踪日志。

依赖关系

~3–12MB
~98K SLoC