#tracing-subscriber #tracing #bp3d #logging #tcp #remote

bp3d-tracing

用于与BP3D软件一起使用的跟踪订阅者实现。通过bp3d-logger支持传统日志记录,并通过TCP支持远程性能分析。

3个版本

1.0.0-alpha-2.0.02022年4月27日
1.0.0-alpha-1.0.12022年4月25日

#531 in 调试

BSD-3-Clause

75KB
1K SLoC

logo

跟踪

tracing 订阅者的实现,用于与BP3D软件一起使用。通过bp3d-logger支持传统日志记录,并通过TCP支持远程性能分析。

状态

此crate目前处于高度实验性阶段,可能不会在所有系统上工作。目前,仅在macOS 12.3.1上进行了全面测试。它可能在其他unix系统上工作。

此外,此版本在Windows系统上目前存在错误。

使用方法

在代码中

fn main() {
    let _guard = bp3d_tracing::initialize("my-application");
    //Application code using `tracing` or `log` utilities.
}

注意:此库使用线程进行日志记录和性能分析。因此,在删除_guard守护变量之前不应调用std::process::exit()。否则,将导致后端日志记录被截断,并可能导致分析器后端的数据丢失。

运行

要配置bp3d-tracing的行为,使用了以下一些环境变量

名称 类型 可能的值 行为 默认值
PROFILER 布尔值 1, 0, true, false, on, off 启用远程性能分析。 off
LOG 枚举 trace, debug, info, warning, error 日志记录后端的最大日志级别。 info
LOG_DISABLE 布尔值 1, 0, true, false, on, off 禁用日志记录后端。 off
LOG_STDOUT 布尔值 1, 0, true, false, on, off 始终将日志消息打印到stdout。 off
LOG_COLOR 布尔值 1, 0, true, false, on, off 启用颜色输出。 isatty

在配置环境变量不期望或过于复杂的系统中,此库支持 bp3d-env

bp3d-env 支持将文件作为环境变量的后备。此库将以下默认路径附加到 bp3d-env bp3d-fs::App::new("my-application").get_documents()?.join("environment"),对应以下路径

OS 路径
macOS ~/Library/Application Support/my-application/Documents/environment
Linux ~/.local/share/my-application/Documents/environment
Windows %APPDATA%/my-application/Documents/environment
iOS 文件应用/my-application/environment

依赖

~7-19MB
~265K SLoC