Software

Struct Software 

Source
#[repr(transparent)]
pub struct Software(pub u64);
Expand description

Software counters, implemented by the kernel.

Each variant of this enum corresponds to a particular PERF_COUNT_SW_… value supported by the perf_event_open system call.

Tuple Fields§

§0: u64

Implementations§

Source§

impl Software

Source

pub const CPU_CLOCK: Self

High-resolution per-CPU timer.

Source

pub const TASK_CLOCK: Self

Per-task clock count.

Source

pub const PAGE_FAULTS: Self

Page faults.

Source

pub const CONTEXT_SWITCHES: Self

Context switches.

Source

pub const CPU_MIGRATIONS: Self

Process migration to another CPU.

Source

pub const PAGE_FAULTS_MIN: Self

Minor page faults: resolved without needing I/O.

Source

pub const PAGE_FAULTS_MAJ: Self

Major page faults: I/O was required to resolve these.

Source

pub const ALIGNMENT_FAULTS: Self

Alignment faults that required kernel intervention.

This is only generated on some CPUs, and never on x86_64 or ARM.

Source

pub const EMULATION_FAULTS: Self

Instruction emulation faults.

Source

pub const DUMMY: Self

Placeholder, for collecting informational sample records.

Source

pub const BPF_OUTPUT: Self

Special event type for streaming data from a eBPF program.

See the documentation of the bpf_perf_event_output method in the bpf-helpers(7) manpage for details on how to use this event type.

Source

pub const CGROUP_SWITCHES: Self

Context switches to a task in a different cgroup.

Trait Implementations§

Source§

impl Clone for Software

Source§

fn clone(&self) -> Software

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Software
where u64: Debug + PartialEq,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Event for Software

Source§

fn update_attrs(self, attr: &mut perf_event_attr)

Update the perf_event_attr struct so that it will record the requested event. Read more
Source§

fn update_attrs_with_data( self, attr: &mut perf_event_attr, ) -> Option<Arc<dyn EventData>>

Update the perf_event_attr struct so that it will record the requested event. Read more
Source§

impl From<Software> for u64

Source§

fn from(value: Software) -> Self

Converts to this type from the input type.
Source§

impl From<u64> for Software

Source§

fn from(value: u64) -> Self

Converts to this type from the input type.
Source§

impl Hash for Software

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for Software

Source§

fn eq(&self, other: &Software) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for Software

Source§

impl Eq for Software

Source§

impl StructuralPartialEq for Software

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> EventData for T
where T: Send + Sync,