Skip to content

Commit d6881f3

Browse files
committed
feat(sampling): return perf attr
1 parent 3422397 commit d6881f3

File tree

3 files changed

+11
-2
lines changed

3 files changed

+11
-2
lines changed

src/perf_event/sampling/group/inner.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ impl Inner {
8181
regs_user_len: perf_event_attr.sample_regs_user.count_ones() as _,
8282
#[cfg(feature = "linux-3.19")]
8383
regs_intr_len: perf_event_attr.sample_regs_intr.count_ones() as _,
84+
perf_event_attr: perf_event_attr.0,
8485
};
8586

8687
let event_id = member.event_id()?;

src/perf_event/sampling/single/mod.rs

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,15 @@ use memmap2::{MmapMut, MmapOptions};
3131
pub use stat::SamplerStat;
3232

3333
use crate::{
34-
config,
35-
config::{Cpu, Error, Process},
34+
config::{self, Cpu, Error, Process},
3635
infra::WrapResult,
3736
sampling::{
3837
record::*,
3938
single::{next_record::next_record, stat::sampler_stat},
4039
Config,
4140
},
4241
syscall::{bindings::*, ioctl_wrapped, perf_event_open_wrapped},
42+
RawPerfEventAttr,
4343
};
4444

4545
pub struct Sampler {
@@ -64,6 +64,8 @@ pub struct Sampler {
6464
pub(crate) regs_user_len: usize,
6565
#[cfg(feature = "linux-3.19")]
6666
pub(crate) regs_intr_len: usize,
67+
68+
pub(crate) perf_event_attr: RawPerfEventAttr,
6769
}
6870

6971
impl Sampler {
@@ -102,6 +104,7 @@ impl Sampler {
102104
regs_user_len: perf_event_attr.sample_regs_user.count_ones() as _,
103105
#[cfg(feature = "linux-3.19")]
104106
regs_intr_len: perf_event_attr.sample_regs_intr.count_ones() as _,
107+
perf_event_attr: perf_event_attr.0,
105108
}
106109
.wrap_ok()
107110
}
@@ -156,4 +159,8 @@ impl Sampler {
156159
pub fn get_raw_fd(&self) -> i32 {
157160
self.file.as_raw_fd()
158161
}
162+
163+
pub fn perf_event_attr(&self) -> perf_event_attr {
164+
self.perf_event_attr
165+
}
159166
}

src/perf_event/tracing/tracer/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ impl Tracer {
7777
regs_user_len: perf_event_attr.sample_regs_user.count_ones() as _,
7878
#[cfg(feature = "linux-3.19")]
7979
regs_intr_len: perf_event_attr.sample_regs_intr.count_ones() as _,
80+
perf_event_attr: perf_event_attr.0,
8081
};
8182

8283
Ok(Self { sampler })

0 commit comments

Comments
 (0)