diff --git a/aya/src/programs/perf_event.rs b/aya/src/programs/perf_event.rs index 93d3dfe1..3ade1973 100644 --- a/aya/src/programs/perf_event.rs +++ b/aya/src/programs/perf_event.rs @@ -294,24 +294,17 @@ pub enum SamplePolicy { /// The scope of a PerfEvent #[derive(Debug, Clone)] pub enum PerfEventScope { - /// Calling process, any cpu - CallingProcessAnyCpu, - /// calling process, one cpu - CallingProcessOneCpu { - /// cpu id - cpu: u32, - }, - /// one process, any cpu - OneProcessAnyCpu { - /// process id - pid: u32, + /// calling process + CallingProcess { + /// cpu id or any cpu if None + cpu: Option, }, - /// one process, one cpu - OneProcessOneCpu { - /// cpu id - cpu: u32, + /// one process + OneProcess { /// process id - pid: u32, + pid: i32, + /// cpu id or any cpu if None + cpu: Option, }, /// all processes, one cpu AllProcessesOneCpu { @@ -427,10 +420,8 @@ impl PerfEvent { SamplePolicy::Frequency(frequency) => (0, Some(frequency)), }; let (pid, cpu) = match scope { - PerfEventScope::CallingProcessAnyCpu => (0, -1), - PerfEventScope::CallingProcessOneCpu { cpu } => (0, cpu as i32), - PerfEventScope::OneProcessAnyCpu { pid } => (pid as i32, -1), - PerfEventScope::OneProcessOneCpu { cpu, pid } => (pid as i32, cpu as i32), + PerfEventScope::CallingProcess { cpu } => (0, cpu.map_or(-1, |cpu| cpu as i32)), + PerfEventScope::OneProcess { pid, cpu } => (pid, cpu.map_or(-1, |cpu| cpu as i32)), PerfEventScope::AllProcessesOneCpu { cpu } => (-1, cpu as i32), }; let fd = perf_event_open( diff --git a/xtask/public-api/aya.txt b/xtask/public-api/aya.txt index bc861f4c..f398a0bc 100644 --- a/xtask/public-api/aya.txt +++ b/xtask/public-api/aya.txt @@ -5508,14 +5508,11 @@ pub fn aya::programs::perf_event::PerfEventConfig::from(t: T) -> T pub enum aya::programs::perf_event::PerfEventScope pub aya::programs::perf_event::PerfEventScope::AllProcessesOneCpu pub aya::programs::perf_event::PerfEventScope::AllProcessesOneCpu::cpu: u32 -pub aya::programs::perf_event::PerfEventScope::CallingProcessAnyCpu -pub aya::programs::perf_event::PerfEventScope::CallingProcessOneCpu -pub aya::programs::perf_event::PerfEventScope::CallingProcessOneCpu::cpu: u32 -pub aya::programs::perf_event::PerfEventScope::OneProcessAnyCpu -pub aya::programs::perf_event::PerfEventScope::OneProcessAnyCpu::pid: u32 -pub aya::programs::perf_event::PerfEventScope::OneProcessOneCpu -pub aya::programs::perf_event::PerfEventScope::OneProcessOneCpu::cpu: u32 -pub aya::programs::perf_event::PerfEventScope::OneProcessOneCpu::pid: u32 +pub aya::programs::perf_event::PerfEventScope::CallingProcess +pub aya::programs::perf_event::PerfEventScope::CallingProcess::cpu: core::option::Option +pub aya::programs::perf_event::PerfEventScope::OneProcess +pub aya::programs::perf_event::PerfEventScope::OneProcess::cpu: core::option::Option +pub aya::programs::perf_event::PerfEventScope::OneProcess::pid: i32 impl core::clone::Clone for aya::programs::perf_event::PerfEventScope pub fn aya::programs::perf_event::PerfEventScope::clone(&self) -> aya::programs::perf_event::PerfEventScope impl core::fmt::Debug for aya::programs::perf_event::PerfEventScope @@ -7946,14 +7943,11 @@ pub fn aya::programs::LsmAttachType::from(t: T) -> T pub enum aya::programs::PerfEventScope pub aya::programs::PerfEventScope::AllProcessesOneCpu pub aya::programs::PerfEventScope::AllProcessesOneCpu::cpu: u32 -pub aya::programs::PerfEventScope::CallingProcessAnyCpu -pub aya::programs::PerfEventScope::CallingProcessOneCpu -pub aya::programs::PerfEventScope::CallingProcessOneCpu::cpu: u32 -pub aya::programs::PerfEventScope::OneProcessAnyCpu -pub aya::programs::PerfEventScope::OneProcessAnyCpu::pid: u32 -pub aya::programs::PerfEventScope::OneProcessOneCpu -pub aya::programs::PerfEventScope::OneProcessOneCpu::cpu: u32 -pub aya::programs::PerfEventScope::OneProcessOneCpu::pid: u32 +pub aya::programs::PerfEventScope::CallingProcess +pub aya::programs::PerfEventScope::CallingProcess::cpu: core::option::Option +pub aya::programs::PerfEventScope::OneProcess +pub aya::programs::PerfEventScope::OneProcess::cpu: core::option::Option +pub aya::programs::PerfEventScope::OneProcess::pid: i32 impl core::clone::Clone for aya::programs::perf_event::PerfEventScope pub fn aya::programs::perf_event::PerfEventScope::clone(&self) -> aya::programs::perf_event::PerfEventScope impl core::fmt::Debug for aya::programs::perf_event::PerfEventScope