8 个版本
0.4.0 | 2024年4月12日 |
---|---|
0.3.5 | 2024年2月27日 |
0.3.4 | 2023年11月27日 |
0.3.2 | 2023年7月24日 |
0.1.0 | 2023年5月9日 |
#226 in Unix API
264 每月下载量
用于 3 crates
165KB
1.5K SLoC
EventHeader for Rust
该 eventheader
包提供了一种简单高效的方式,通过 Linux user_events 系统记录编码为 EventHeader
的 Tracepoints。事件可以在 Linux 6.4 或更高版本上生成和收集(需要启用内核功能 user_events
,挂载文件系统 tracefs
或 debugfs
,并为文件 /sys/kernel/.../tracing/user_events_data
配置适当的权限)。
此包使用宏在编译时生成事件元数据,从而提高运行时性能并最小化依赖。要启用编译时元数据生成,必须在编译时指定事件模式。例如,事件名称和字段名称必须是字符串字面量,而不是变量。
在极少数情况下,您可能不知道在运行时想要记录哪些事件。例如,您可能正在实现一个中间层库,该库为动态顶层或脚本语言(如 JavaScript 或 Python)提供事件支持。在这种情况下,您可能需要使用 eventheader_dynamic
包而不是此包。