#tracy #client #tracing #low-level #profiler #nanosecond

sys tracy-client-sys

Tracy 性能分析器客户端库的低级绑定

25 个版本 (破坏性)

新版本 0.24.0 2024 年 8 月 23 日
0.23.0 2024 年 7 月 16 日
0.22.2 2024 年 1 月 28 日
0.22.0 2023 年 10 月 31 日
0.8.0 2020 年 6 月 24 日

#272 in 性能分析

Download history 7526/week @ 2024-05-03 9124/week @ 2024-05-10 8673/week @ 2024-05-17 9115/week @ 2024-05-24 9952/week @ 2024-05-31 9368/week @ 2024-06-07 8600/week @ 2024-06-14 8722/week @ 2024-06-21 9770/week @ 2024-06-28 9175/week @ 2024-07-05 10377/week @ 2024-07-12 9878/week @ 2024-07-19 9254/week @ 2024-07-26 10479/week @ 2024-08-02 12624/week @ 2024-08-09 8059/week @ 2024-08-16

42,155 每月下载量
54 个 Crates 中使用 (直接使用 2 个)

(MIT OR Apache-2.0) AND BSD-3-Clause

1MB
27K SLoC

C++ 26K SLoC // 0.1% comments Rust 1K SLoC // 0.0% comments

Rust 中的 Tracy 性能分析器客户端

该项目包含用于生成 Tracy 性能分析器 跟踪的 Rust Crates。Tracy 具有纳秒级精度,能够远程分析,并提供一个功能齐全的图形界面来查找分析程序中的热点。

尽管 Tracy 对 Rust 的支持不是第一流的,但它仍然是一个非常强大的工具。如果你有一个使用 tracing Crates 仪器化的应用程序,你可以通过 tracing-tracy Crates 在几分钟内使用 Tracy 与你的程序一起使用。它可以很好地作为性能分析和一定程度上的可观察性工具。

重要说明

根据配置,Tracy 可能会向本地网络广播发现数据包,并将它收集的数据在后台暴露给同一网络。Tracy 收集的跟踪可能包括源代码和汇编代码。

因此,你可能需要确保仅通过 Crates 提供的 enable 功能标志有条件地启用 tracing-tracytracy-clienttracy-client-sys Crates。

版本支持表

与 Tracy 本身不同,本项目遵循语义版本控制。每当出现可能破坏协议的更改时,即使 Tracy 项目本身没有更改,我们也会发布破坏性版本的升级。一个较旧的 Tracy 版本无法与较新版本的客户端通信就是这样的破坏性更改的一个例子。

tracy-clienttracing-tracy以及其他crate也遵循语义版本控制,但它们不将协议中断视为重大变更。因此,每个tracy-client的未来版本可能能够支持大量不兼容的tracy-client-sys版本。预计用户将选择他们要针对的Tracy分析器的版本,并在Cargo.tomlCargo.lock中使用精确的版本范围来指定他们想要使用的tracy-client-sys版本。

以下表格列出了库之间的版本对应关系。

Tracy tracy-client-sys tracy-client tracing-tracy
0.7.1 0.9.0 0.8.0 0.2.0
0.7.3 0.10.0 0.9.0 0.3.0
0.7.4 0.11.0 0.10.0 0.4.0
0.7.5 0.12.0 0.11.0 0.5.0
0.7.6 0.13.0, 0.14.0 0.12.* 0.6.*
v0.7.7 0.15.0 0.12.* 0.6.*
v0.7.8 0.16.0 0.12.* 0.6.*
v0.7.8 0.16.0 0.12.* 0.7.*
v0.7.8 0.16.0 0.12.* 0.8.*
v0.8.1 0.17.* 0.13.* 0.9.*
v0.8.1 0.17.* 0.14.* 0.10.*
v0.8.2 0.18.0 0.14.* 0.10.*
v0.9 0.19.0 0.14.2 0.10.0
v0.9 0.19.0 0.15.0 0.10.1
v0.9.1 0.21.0 0.15.2 0.10.2
v0.9.1 0.21.0 0.16.0 0.10.3
v0.10 0.22.0 0.16.4 0.10.4
v0.10 0.22.0 0.17.0 0.11.0
v0.11.0 0.23.0 0.17.1 0.11.1
v0.11.1 0.24.0 0.17.3 0.11.2

没有运行时依赖