3个不稳定版本
0.2.0 | 2023年7月19日 |
---|---|
0.1.1-pre1 | 2022年6月1日 |
0.1.0 | 2022年5月24日 |
#271 在 性能分析
148 每月下载量
24KB
275 行
这是一个简单的crate,用于在Rust集成到现有框架时,将跟踪生态系统生成的跨度传递到C或C++分析系统。要帮助与其他工具集成,您可以使用环境变量TRACING_FFI_RELATIVE_OUT_DIR
来配置包含文件相对于构建输出的位置(OUT_DIR
)。例如,TRACING_FFI_RELATIVE_OUT_DIR = "../../../../../include"
通常会导致生成的文件位于与您的Cargo.toml相邻的include
目录中。
示例用法
#include <Profiling.h>
#include <tracing_ffi.h>
#include <myrustlib.h>
int main(int argc, const char* argv[]) {
tracing_ffi_ReturnCode result = tracing_ffi_install_global_with_enable(
profiling_begin_named_scope,
profiling_end_named_scope,
profiling_is_enabled,
);
if (result != tracing_ffi_ReturnCode_Success) {
return (int)result;
}
myrustlib_execute(10, 20);
profiling_write_file("profile.json");
}
当然,您也可以从Rust代码中配置它,并绕过C-api。在这种情况下,直接使用subscriber::ExternFFISpanSubscriber
,并使用您首选的tracing
方法进行安装。
贡献
我们欢迎社区对此项目的贡献。
有关如何开始的信息,请参阅我们的贡献指南。在您做出任何贡献之前,请阅读我们的贡献条款。
任何有意提交以包含在Embark Studios项目中的贡献,均应遵守Rust标准许可模式(MIT OR Apache 2.0),因此将双重许可,如下所述,不附加任何额外条款或条件。
许可证
此贡献根据以下任一许可进行双重许可:
- Apache许可证第2版,(LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
为了明确起见,“您的”指的是Embark或任何其他贡献许可方/用户。
依赖关系
~0.8–7MB
~39K SLoC