perf-event-open-sys 0.2.0

Unsafe, direct bindings for Linux's perf_event_open system call, with associated types and constants.
Documentation

Direct, unsafe Rust bindings for Linux's perf_event_open system call

This crate exports unsafe Rust wrappers for Linux system calls for accessing performance monitoring counters and tracing facilities. This includes:

  • the processor's own performance monitoring registers
  • kernel counters for things like context switches and page faults
  • kernel tracepoints, kprobe, and uprobes
  • processor tracing facilities like Intel's Branch Trace Store (BTS)
  • hardware breakpoints

This crate provides:

  • a Rust wrapper the Linux perf_event_open system call
  • Rust wrappers for the ioctls you can apply to a file descriptor returned by perf_event_open
  • the bindings generated by bindgen for the perf_event_open header files

All functions are direct, unsafe wrappers for the underlying calls. They operate on raw pointers and raw file descriptors.

Building this crate runs bindgen on your system, and exposes the results via the bindings module. This means that we can't make any stability guarantees about the API of bindings; it depends entirely on the headers you have installed on your system.