9个版本
| 0.4.0 | 2024年4月12日 |
|---|---|
| 0.3.5 | 2024年2月27日 |
| 0.3.4 | 2023年11月27日 |
| 0.3.3 | 2023年8月23日 |
| 0.1.0 | 2023年5月9日 |
#407 in Unix APIs
233 monthly downloads
Used in opentelemetry-user-events…
200KB
2K SLoC
为Rust的EventHeader
eventheader_dynamic crate提供了一种灵活的方式,通过Linux的user_events系统记录编码为EventHeader的Tracepoints事件。这些事件可以在Linux 6.4或更高版本上生成和收集(需要启用内核特性user_events,挂载tracefs或debugfs文件系统,并配置适当的权限以访问/sys/kernel/.../tracing/user_events_data文件)。
这种“动态”实现比eventheader crate中的实现更灵活。例如,它支持运行时定义的模式,并且可以轻松地记录字符串数组。然而,它更难使用,具有更高的运行时成本,并且依赖于alloc crate。这种动态实现仅在编译时无法确定事件集时才使用。例如,可以使用eventheader_dynamic来实现为JavaScript或Python等脚本语言提供跟踪支持的中间层库。在其他情况下,请使用eventheader crate,而不是这个crate。