#user-events #tracepoints #trace-logging #trace #linux-kernel #logging #linux

no-std eventheader

Rust API for eventheader-encoded Linux Tracepoints via user_events

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

Download history 36/week @ 2024-04-14 8/week @ 2024-04-21 131/week @ 2024-05-12 142/week @ 2024-05-19 12/week @ 2024-05-26 57/week @ 2024-06-02 16/week @ 2024-06-09 88/week @ 2024-06-16 48/week @ 2024-06-23 5/week @ 2024-06-30 2/week @ 2024-07-07 137/week @ 2024-07-14 29/week @ 2024-07-21 96/week @ 2024-07-28

264 每月下载量
用于 3 crates

MIT 许可证

165KB
1.5K SLoC

EventHeader for Rust

Crates.io Documentation MIT licensed Build Status maintenance status

eventheader 包提供了一种简单高效的方式,通过 Linux user_events 系统记录编码为 EventHeaderTracepoints。事件可以在 Linux 6.4 或更高版本上生成和收集(需要启用内核功能 user_events,挂载文件系统 tracefsdebugfs,并为文件 /sys/kernel/.../tracing/user_events_data 配置适当的权限)。

此包使用宏在编译时生成事件元数据,从而提高运行时性能并最小化依赖。要启用编译时元数据生成,必须在编译时指定事件模式。例如,事件名称和字段名称必须是字符串字面量,而不是变量。

在极少数情况下,您可能不知道在运行时想要记录哪些事件。例如,您可能正在实现一个中间层库,该库为动态顶层或脚本语言(如 JavaScript 或 Python)提供事件支持。在这种情况下,您可能需要使用 eventheader_dynamic 包而不是此包。

依赖关系