[][src]Struct dpdk_unix::process_status::ProcessStatusStatistics

pub struct ProcessStatusStatistics {
    pub process_name: Option<Box<[u8]>>,
    pub file_mode_creation_mask: Option<mode_t>,
    pub state: Option<ProcessState>,
    pub thread_group_identifier: Option<pid_t>,
    pub numa_group_identifier: Option<NumaNode>,
    pub process_identifier: Option<pid_t>,
    pub parent_process_identifier: Option<pid_t>,
    pub tracer_process_identifier: Option<pid_t>,
    pub user_identifiers: Option<ProcessUserIdentifiers>,
    pub group_identifiers: Option<ProcessGroupIdentifiers>,
    pub number_of_file_descriptor_slots_currently_allocated: Option<u64>,
    pub groups: Option<BTreeSet<gid_t>>,
    pub descendant_namespace_thread_group_identifier: Option<BTreeSet<pid_t>>,
    pub descendant_namespace_process_identifier: Option<BTreeSet<pid_t>>,
    pub descendant_namespace_process_group_identifier: Option<BTreeSet<pid_t>>,
    pub descendant_namespace_session_identifier: Option<BTreeSet<pid_t>>,
    pub peak_virtual_memory_size: Option<Kilobyte>,
    pub total_program_size: Option<Kilobyte>,
    pub locked_memory_size: Option<Kilobyte>,
    pub pinned_memory_size: Option<Kilobyte>,
    pub peak_resident_set_size: Option<Kilobyte>,
    pub resident_set_memory_size: Option<Kilobyte>,
    pub anonymous_resident_set_memory_size: Option<Kilobyte>,
    pub resident_set_file_mappings_memory_size: Option<Kilobyte>,
    pub resident_set_shared_memory_size: Option<Kilobyte>,
    pub private_data_segments_size: Option<Kilobyte>,
    pub stack_segments_size: Option<Kilobyte>,
    pub text_segment_size: Option<Kilobyte>,
    pub dynamically_loaded_shared_library_size: Option<Kilobyte>,
    pub page_table_entries_size: Option<Kilobyte>,
    pub vm_pmd: Option<Kilobyte>,
    pub swap_memory_size: Option<Kilobyte>,
    pub huge_tlb_pages_memory_size: Option<Kilobyte>,
    pub threads: Option<u64>,
    pub signal_queue: Option<SignalQueueStatus>,
    pub thread_pending_signals: Option<Bitmask>,
    pub process_shared_pending_signals: Option<Bitmask>,
    pub blocked_signals: Option<Bitmask>,
    pub ignored_signals: Option<Bitmask>,
    pub caught_signals: Option<Bitmask>,
    pub inheritable_capabilities: Option<Bitmask>,
    pub permitted_capabilities: Option<Bitmask>,
    pub effective_capabilities: Option<Bitmask>,
    pub capabilities_bounding_set: Option<Bitmask>,
    pub ambient_capabilities: Option<Bitmask>,
    pub thread_no_new_privileges_bit: Option<bool>,
    pub seccomp_mode: Option<SeccompMode>,
    pub speculation_store_bypass: Option<SpeculationStoreBypassStatus>,
    pub cpus_allowed_bitmasks: Option<Vec<HyperThreadBitmask>>,
    pub cpus_allowed_list: Option<BTreeSet<HyperThread>>,
    pub numa_nodes_allowed_bitmasks: Option<Vec<NumaNodeBitmask>>,
    pub numa_nodes_allowed_list: Option<BTreeSet<NumaNode>>,
    pub voluntary_context_switches: Option<u64>,
    pub involuntary_context_switches: Option<u64>,
    // some fields omitted
}

Status statistics.

Fields

process_name: Option<Box<[u8]>>

Process name.

Known as Name.

file_mode_creation_mask: Option<mode_t>

File creation mode mask (umask).

Known as Umask.

state: Option<ProcessState>

State.

Known as State.

Note that <> does not document all possible states.

thread_group_identifier: Option<pid_t>

Thread group identifier.

Known as Tgid.

numa_group_identifier: Option<NumaNode>

NUMA group identifier.

Known as Ngid.

Zero if no NUMA is not supported.

process_identifier: Option<pid_t>

Process identifier.

Known as Pid.

parent_process_identifier: Option<pid_t>

Parent process identifier.

Known as PPid.

tracer_process_identifier: Option<pid_t>

Usually zero, implying no tracer process.

Known as TracerPid.

user_identifiers: Option<ProcessUserIdentifiers>

User identifiers.

Known as Uid.

group_identifiers: Option<ProcessGroupIdentifiers>

Group identifiers.

Known as Gid.

number_of_file_descriptor_slots_currently_allocated: Option<u64>

Number of file descriptor slots currently allocated.

Known as FDSize.

eg 64.

groups: Option<BTreeSet<gid_t>>

Other group memberships.

Known as Groups.

Seems to always contain at least one member, which is the same as the primary group of the user.

descendant_namespace_thread_group_identifier: Option<BTreeSet<pid_t>>

Descendant namespace thread group identifiers.

Known as NStgid.

descendant_namespace_process_identifier: Option<BTreeSet<pid_t>>

Descendant namespace process identifiers.

Known as NSpid.

descendant_namespace_process_group_identifier: Option<BTreeSet<pid_t>>

Descendant namespace process group identifiers.

Known as NSpgid.

descendant_namespace_session_identifier: Option<BTreeSet<pid_t>>

Descendant namespace session identifiers.

Known as NSsid.

peak_virtual_memory_size: Option<Kilobyte>

Peak virtual memory size.

Known as VmPeak.

total_program_size: Option<Kilobyte>

Total program size.

Known as VmSize.

locked_memory_size: Option<Kilobyte>

Locked memory size.

Known as VmLck.

See man 3 lock.

pinned_memory_size: Option<Kilobyte>

Pinned memory size (since Linux 3.2).

Known as VmPin.

These are pages that can't be moved because something needs to directly access physical memory.

peak_resident_set_size: Option<Kilobyte>

Peak resident set size ("High Water Mark").

Known as VmHWM.

resident_set_memory_size: Option<Kilobyte>

The sum of anonymous_resident_set_memory_size, resident_set_file_mappings_memory_size and resident_set_shared_memory_size.

Known as VmRSS.

anonymous_resident_set_memory_size: Option<Kilobyte>

Size of resident set anonymous memory (since Linux 4.5).

Known as RssAnon.

resident_set_file_mappings_memory_size: Option<Kilobyte>

Size of resident set file mappings (since Linux 4.5).

Known as RssFile.

resident_set_shared_memory_size: Option<Kilobyte>

Size of resident set shared memory (shmem) (since Linux 4.5).

Known as RssShmem.

Includes Sys_v shm, any mappings from tmpfs and shared anonymous mappings.

private_data_segments_size: Option<Kilobyte>

Size of private data segments.

Known as VmData.

stack_segments_size: Option<Kilobyte>

Size of stack segments.

Known as VmStk.

text_segment_size: Option<Kilobyte>

Size of text segment.

Known as VmExe.

dynamically_loaded_shared_library_size: Option<Kilobyte>

Size of shared library code.

Known as VmLib.

page_table_entries_size: Option<Kilobyte>

Size of page table entries (since Linux 2.6.10).

Known as VmPTE.

vm_pmd: Option<Kilobyte>

Size of second-level page tables (since Linux 4.0).

Known as VmPMD.

Undocumented in https://github.com/torvalds/linux/blob/master/Documentation/filesystems/proc.txt.

swap_memory_size: Option<Kilobyte>

The amount of swap used by anonymous private data (since Linux 2.6.34).

Known as VmSwap.

Shared memory shmem swap usage is not included.

huge_tlb_pages_memory_size: Option<Kilobyte>

Size of hugetlb memory portions.

Known as HugetlbPages.

threads: Option<u64>

Number of threads.

Known as Threads.

signal_queue: Option<SignalQueueStatus>

Signal queue status.

Known as SigQ.

thread_pending_signals: Option<Bitmask>

Pending signals for the thread.

Known as SigPnd.

process_shared_pending_signals: Option<Bitmask>

Shared pending signals for the process.

Known as ShdPnd.

blocked_signals: Option<Bitmask>

Blocked signals.

Known as SigBlk.

ignored_signals: Option<Bitmask>

Ignored signals.

Known as SigIgn.

caught_signals: Option<Bitmask>

Caught signals.

Known as SigCgt.

inheritable_capabilities: Option<Bitmask>

Inheritable capabilities.

Known as CapInh.

permitted_capabilities: Option<Bitmask>

Permitted capabilities.

Known as CapPrm.

effective_capabilities: Option<Bitmask>

Effective capabilities.

Known as CapEff.

capabilities_bounding_set: Option<Bitmask>

Capabilities bounding set.

Known as CapBnd.

ambient_capabilities: Option<Bitmask>

Ambient capabilities.

Known as CapAmb.

thread_no_new_privileges_bit: Option<bool>

Thread's no_new_privs bit (see man 2 prctl description for PR_GET_NO_NEW_PRIVS).

Known as NoNewPrivs.

seccomp_mode: Option<SeccompMode>

Seccomp mode.

Known as Seccomp.

speculation_store_bypass: Option<SpeculationStoreBypassStatus>

Speculation store ('Spectre' vulnerability) bypass status.

Known as Speculation_Store_Bypass.

cpus_allowed_bitmasks: Option<Vec<HyperThreadBitmask>>

CPUs (actually, hyper threaded cores) allowed for the current process.

Known as Cpus_allowed.

May have bits set well beyond those than the number of cores on the system.

cpus_allowed_list: Option<BTreeSet<HyperThread>>

CPUs (actually, hyper threaded cores) allowed for the current process.

Known as Cpus_allowed_list.

May have cores available beyond those than the number of cores on the system, but usually a much more restricted list than cpus_allowed_bitmask.

numa_nodes_allowed_bitmasks: Option<Vec<NumaNodeBitmask>>

NUMA nodes allowed for the current process.

Known as Mems_allowed.

Linux defines the config option NODES_SHIFT (aka CONFIG_NODES_SHIFT) to be 1 to 10 if defined and 0 if not defined, giving a maximum of 2^10 (1024) NUMA nodes, if defaults to 6 (ie 64 NUMA nodes) on x86-64.

numa_nodes_allowed_list: Option<BTreeSet<NumaNode>>

NUMA nodes allowed for the current process.

Known as Mems_allowed_list.

On a non-NUMA system, defaults to 0.

voluntary_context_switches: Option<u64>

Voluntary context switches.

Known as voluntary_ctxt_switches.

involuntary_context_switches: Option<u64>

Involuntary context switches.

Known as nonvoluntary_ctxt_switches.

Methods

impl ProcessStatusStatistics[src]

pub fn unrecognised_statistic(
    &self,
    statistic_name: &[u8]
) -> Option<&Box<[u8]>>
[src]

Get an unrecognised static's value using a statistic_name byte string.

pub fn parse(
    reader: BufReader<File>
) -> Result<Self, ProcessStatusFileParseError>
[src]

Parses; returns a zero-based line number and parse error if it fails.

Trait Implementations

impl Eq for ProcessStatusStatistics[src]

impl Clone for ProcessStatusStatistics[src]

fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

impl PartialEq<ProcessStatusStatistics> for ProcessStatusStatistics[src]

impl Default for ProcessStatusStatistics[src]

impl Debug for ProcessStatusStatistics[src]

Auto Trait Implementations

Blanket Implementations

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

impl<T> From for T[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

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

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]