perf_event一些数据结构

首先我们看一下对应的perf_header

struct perf_event_header {
   
	__u32	type; 
	__u16	misc;  
	__u16	size;
};
  • type (__u32): 表示 perf 事件的类型。每种类型的事件都有其特定的值,例如 PERF_RECORD_SAMPLE 表示采样事件,PERF_RECORD_LOST 表示丢失事件等。

  • misc (__u16): 包含一些额外的信息。例如,它可以指示事件发生时的 CPU 模式(用户模式、内核模式等),这可以通过 PERF_RECORD_MISC_CPUMODE_MASK 来获取。

  • size (__u16): 表示 perf 事件记录的总大小(以字节为单位)。这个大小包括了 struct perf_event_header 本身以及后续的事件特定数据。

这个结构体是 perf 事件数据格式的核心部分,每个 perf 事件记录都以它作为开始。在处理 perf 事件时,用户空间程序首先读取这个头部,然后根据 type 字段确定后续数据的格式,并使用 size 字段来确定整个记录的长度。

介绍完这个定义,我们继续看下面的定义:

//普通的事件
typedef struc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值