#perf #ffi #native-bindings #kperf #kperfdata

kperf-rs

Rust safe wrapper over kperf-sys library

2 releases

0.1.1 Jan 11, 2024
0.1.0 Jan 5, 2024

#263 in Profiling


Used in perf-count

MPL-2.0 license

45KB
705 lines

rust-kperf

Native rust bindings to the private macOS frameworks: kperf and kperfdata. The library binds to the frameworks with the libc library. This framework allows access to the PMU, and it's usage requires the process to be run with super-user privileges.

If when building or running this code on a Mac, you have a linker error, it means either the kperf or kperfdata private frameworks changed, or some functions were not well tested.

I could only test the code on an Apple M2 2022 macbook air, on macOS Ventura 13.5.2

Issues are welcome.

Still a WIP.

Credit

The rust code was written from the reverse-engineering efforts of two posts I saw online:

Dependencies