perf_event_attr
Fields of this type
Fields
- type:PERF.TYPE
- Major type: hardware/software/tracepoint/etc.
- size:u32
- Size of the attr structure, for fwd/bwd compat.
- config:u64
- Type specific configuration information.
- sample_period_or_freq:u64
- = 0
- sample_type:u64
- = 0
- read_format:u64
- = 0
- flags:packed struct { /// off by default disabled: bool = false, /// children inherit it inherit: bool = false, /// must always be on PMU pinned: bool = false, /// only group on PMU exclusive: bool = false, /// don't count user exclude_user: bool = false, /// ditto kernel exclude_kernel: bool = false, /// ditto hypervisor exclude_hv: bool = false, /// don't count when idle exclude_idle: bool = false, /// include mmap data mmap: bool = false, /// include comm data comm: bool = false, /// use freq, not period freq: bool = false, /// per task counts inherit_stat: bool = false, /// next exec enables enable_on_exec: bool = false, /// trace fork/exit task: bool = false, /// wakeup_watermark watermark: bool = false, /// precise_ip: /// /// 0 - SAMPLE_IP can have arbitrary skid /// 1 - SAMPLE_IP must have constant skid /// 2 - SAMPLE_IP requested to have 0 skid /// 3 - SAMPLE_IP must have 0 skid /// /// See also PERF_RECORD_MISC_EXACT_IP /// skid constraint precise_ip: u2 = 0, /// non-exec mmap data mmap_data: bool = false, /// sample_type all events sample_id_all: bool = false, /// don't count in host exclude_host: bool = false, /// don't count in guest exclude_guest: bool = false, /// exclude kernel callchains exclude_callchain_kernel: bool = false, /// exclude user callchains exclude_callchain_user: bool = false, /// include mmap with inode data mmap2: bool = false, /// flag comm events that are due to an exec comm_exec: bool = false, /// use @clockid for time fields use_clockid: bool = false, /// context switch data context_switch: bool = false, /// Write ring buffer from end to beginning write_backward: bool = false, /// include namespaces data namespaces: bool = false, /// include ksymbol events ksymbol: bool = false, /// include BPF events bpf_event: bool = false, /// generate AUX records instead of events aux_output: bool = false, /// include cgroup events cgroup: bool = false, /// include text poke events text_poke: bool = false, /// use build ID in mmap2 events build_id: bool = false, /// children only inherit if cloned with CLONE_THREAD inherit_thread: bool = false, /// event is removed from task on exec remove_on_exec: bool = false, /// send synchronous SIGTRAP on event sigtrap: bool = false, __reserved_1: u26 = 0, }
- = .{}
- wakeup_events_or_watermark:u32
- wakeup every n events, or
- bp_type:u32
- = 0
- config1:u64
- This field is also used for:
- config2:u64
- This field is also used for:
- branch_sample_type:u64
- enum perf_branch_sample_type
- sample_regs_user:u64
- Defines set of user regs to dump on samples.
- sample_stack_user:u32
- Defines size of the user stack to dump on samples.
- sample_regs_intr:u64
- Defines set of regs to dump for each sample
- aux_watermark:u32
- Wakeup watermark for AUX area
- sample_max_stack:u16
- = 0
- __reserved_2:u16
- Align to u64
- aux_sample_size:u32
- = 0
- aux_action:packed struct(u32) { /// start AUX area tracing paused start_paused: bool = false, /// on overflow, pause AUX area tracing pause: bool = false, /// on overflow, resume AUX area tracing @"resume": bool = false, __reserved_3: u29 = 0, }
- = .{}
- sig_data:u64
- User provided data if sigtrap == true
- config3:u64
- Extension of config2