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。