"perf_event_attr"结构的"read_format"属性的选项到底是什么?
What really are options of the "read_format" attribute of the "perf_event_attr" structure?
我目前正在使用perf_event_open
系统调用(在Linux系统上(,我试图理解这个系统调用的配置参数,该参数由struct perf_event_attr
结构给出。
这是关于read_format
选择。 有没有人可以在这个系统调用的手册页上看到,这个参数与此调用的输出有关。
但我不明白每个可能的论点都能做什么。
尤其是这两种可能性:
- PERF_FORMAT_TOTAL_TIME_ENABLED
- PERF_FORMAT_TOTAL_TIME_RUNNING
有这些信息的人可以给我一个直接的答案吗?
好的。
我看得更远了,我想我已经找到了答案。
-
PERF_FORMAT_TOTAL_TIME_ENABLED
: 似乎"启用时间"是指不再观察事件的时间与事件注册为"待观察"的时间之间的差异。 -
PERF_FORMAT_TOTAL_TIME_RUNNING
:似乎"运行时间"是指内核真正观察到事件的时间总和。它小于或等于PERF_FORMAT_TOTAL_TIME_ENABLED
.
例如:
你告诉内核你想在下午 1:13:05 观察 X 事件。您的内核在 X 上创建一个"探测器",并开始记录活动。 然后,出于未知原因,您告诉在下午 1:14:05 暂时停止记录。 然后,在下午 1:15:05 恢复记录。 最后,在下午 1:15:35 停止记录。
您有 00:02:30 启用时间 (1:15:35 PM - 1:13:05 PM = 00:02:30(
和 00:01:30 运行时间(下午 1:14:05
- 下午 1:13:05 + 下午 1:15:35 - 下午 1:15:05 = 00:01:30(read_format
属性可以使用掩码具有这两个值。在C++中,它看起来像这样:
event_configuration.read_format = PERF_FORMAT_TOTAL_TIME_ENABLED | PERF_FORMAT_TOTAL_TIME_RUNNING;
其中event_configuration
是struct perf_event_attr
的实例。
相关文章:
- 为不同配置设置MSVC_RUNTIME_LIBRARY的正确方法是什么
- C++避免重复声明的语法是什么
- "perf_event_attr"结构的"read_format"属性的选项到底是什么?
- C++:构建选项"-j"是什么意思?
- 如何读取NM命令:NM选项-T和-U(未定义)是什么意思
- 在C++中向枚举添加"all"选项的好设计是什么?
- C 类通过C#中使用的UDP,该选项是什么
- GCC 编译 C/C++ 最强化的选项集是什么?
- 在C#WPF应用程序中使用C++11库的选项是什么
- C++重载运算符两次,一个返回非常量引用,另一个返回常量引用,首选项是什么
- strlen()的可选项是什么
- 获得快速的k对独立散列函数的选项是什么
- -lrt选项的用途是什么
- Visual Studio 中编译选项 /DPROFILE 和 /UPROFILE 的含义是什么Microsoft?
- 用于链接的VC 11.0命令链接选项是什么
- 设置"深度"配置选项的最佳方法是什么?
- g++编译器选项使用' pkg-config..的结果是-I(directory) -I是什么意思?
- old的-u选项是如何工作的,它什么时候有用
- BOOST程序选项命令行的格式是什么?
- OSX上TCP_USER_TIMEOUT的setsockopt选项名称是什么?