tracing_perfetto_sdk_schema::process_stats

Struct Process

Source
pub struct Process {
Show 23 fields pub pid: Option<i32>, pub threads: Vec<Thread>, pub vm_size_kb: Option<u64>, pub vm_rss_kb: Option<u64>, pub rss_anon_kb: Option<u64>, pub rss_file_kb: Option<u64>, pub rss_shmem_kb: Option<u64>, pub vm_swap_kb: Option<u64>, pub vm_locked_kb: Option<u64>, pub vm_hwm_kb: Option<u64>, pub oom_score_adj: Option<i64>, pub is_peak_rss_resettable: Option<bool>, pub chrome_private_footprint_kb: Option<u32>, pub chrome_peak_resident_set_kb: Option<u32>, pub fds: Vec<FdInfo>, pub smr_rss_kb: Option<u64>, pub smr_pss_kb: Option<u64>, pub smr_pss_anon_kb: Option<u64>, pub smr_pss_file_kb: Option<u64>, pub smr_pss_shmem_kb: Option<u64>, pub smr_swap_pss_kb: Option<u64>, pub runtime_user_mode: Option<u64>, pub runtime_kernel_mode: Option<u64>,
}

Fields§

§pid: Option<i32>§threads: Vec<Thread>§vm_size_kb: Option<u64>

See /proc/[pid]/status in man 5 proc for a description of these fields.

§vm_rss_kb: Option<u64>§rss_anon_kb: Option<u64>§rss_file_kb: Option<u64>§rss_shmem_kb: Option<u64>§vm_swap_kb: Option<u64>§vm_locked_kb: Option<u64>§vm_hwm_kb: Option<u64>

When adding a new field remember to update kProcMemCounterSize in the trace processor.

§oom_score_adj: Option<i64>§is_peak_rss_resettable: Option<bool>

The peak resident set size is resettable in newer Posix kernels. This field specifies if reset is supported and if the writer had reset the peaks after each process stats recording.

§chrome_private_footprint_kb: Option<u32>

Private, shared and swap footprint of the process as measured by Chrome. To know more about these metrics refer to: https://docs.google.com/document/d/1_WmgE1F5WUrhwkPqJis3dWyOiUmQKvpXp5cd4w86TvA

§chrome_peak_resident_set_kb: Option<u32>§fds: Vec<FdInfo>§smr_rss_kb: Option<u64>

These fields are set only when scan_smaps_rollup=true

§smr_pss_kb: Option<u64>§smr_pss_anon_kb: Option<u64>§smr_pss_file_kb: Option<u64>§smr_pss_shmem_kb: Option<u64>§smr_swap_pss_kb: Option<u64>§runtime_user_mode: Option<u64>

Time spent scheduled in user mode in nanoseconds. Parsed from utime in /proc/pid/stat. Recorded if record_process_runtime config option is set. Resolution of “clock ticks”, usually 10ms.

§runtime_kernel_mode: Option<u64>

Time spent scheduled in kernel mode in nanoseconds. Parsed from stime in /proc/pid/stat. Recorded if record_process_runtime config option is set. Resolution of “clock ticks”, usually 10ms.

Implementations§

Source§

impl Process

Source

pub fn pid(&self) -> i32

Returns the value of pid, or the default value if pid is unset.

Source

pub fn vm_size_kb(&self) -> u64

Returns the value of vm_size_kb, or the default value if vm_size_kb is unset.

Source

pub fn vm_rss_kb(&self) -> u64

Returns the value of vm_rss_kb, or the default value if vm_rss_kb is unset.

Source

pub fn rss_anon_kb(&self) -> u64

Returns the value of rss_anon_kb, or the default value if rss_anon_kb is unset.

Source

pub fn rss_file_kb(&self) -> u64

Returns the value of rss_file_kb, or the default value if rss_file_kb is unset.

Source

pub fn rss_shmem_kb(&self) -> u64

Returns the value of rss_shmem_kb, or the default value if rss_shmem_kb is unset.

Source

pub fn vm_swap_kb(&self) -> u64

Returns the value of vm_swap_kb, or the default value if vm_swap_kb is unset.

Source

pub fn vm_locked_kb(&self) -> u64

Returns the value of vm_locked_kb, or the default value if vm_locked_kb is unset.

Source

pub fn vm_hwm_kb(&self) -> u64

Returns the value of vm_hwm_kb, or the default value if vm_hwm_kb is unset.

Source

pub fn oom_score_adj(&self) -> i64

Returns the value of oom_score_adj, or the default value if oom_score_adj is unset.

Source

pub fn is_peak_rss_resettable(&self) -> bool

Returns the value of is_peak_rss_resettable, or the default value if is_peak_rss_resettable is unset.

Source

pub fn chrome_private_footprint_kb(&self) -> u32

Returns the value of chrome_private_footprint_kb, or the default value if chrome_private_footprint_kb is unset.

Source

pub fn chrome_peak_resident_set_kb(&self) -> u32

Returns the value of chrome_peak_resident_set_kb, or the default value if chrome_peak_resident_set_kb is unset.

Source

pub fn smr_rss_kb(&self) -> u64

Returns the value of smr_rss_kb, or the default value if smr_rss_kb is unset.

Source

pub fn smr_pss_kb(&self) -> u64

Returns the value of smr_pss_kb, or the default value if smr_pss_kb is unset.

Source

pub fn smr_pss_anon_kb(&self) -> u64

Returns the value of smr_pss_anon_kb, or the default value if smr_pss_anon_kb is unset.

Source

pub fn smr_pss_file_kb(&self) -> u64

Returns the value of smr_pss_file_kb, or the default value if smr_pss_file_kb is unset.

Source

pub fn smr_pss_shmem_kb(&self) -> u64

Returns the value of smr_pss_shmem_kb, or the default value if smr_pss_shmem_kb is unset.

Source

pub fn runtime_user_mode(&self) -> u64

Returns the value of runtime_user_mode, or the default value if runtime_user_mode is unset.

Source

pub fn runtime_kernel_mode(&self) -> u64

Returns the value of runtime_kernel_mode, or the default value if runtime_kernel_mode is unset.

Source

pub fn smr_swap_pss_kb(&self) -> u64

Returns the value of smr_swap_pss_kb, or the default value if smr_swap_pss_kb is unset.

Trait Implementations§

Source§

impl Clone for Process

Source§

fn clone(&self) -> Process

Returns a copy 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 Process

Source§

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

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

impl Default for Process

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Message for Process

Source§

fn encoded_len(&self) -> usize

Returns the encoded length of the message without a length delimiter.
Source§

fn clear(&mut self)

Clears the message, resetting all fields to their default.
Source§

fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
where B: BufMut, Self: Sized,

Encodes the message to a buffer. Read more
Source§

fn encode_to_vec(&self) -> Vec<u8>
where Self: Sized,

Encodes the message to a newly allocated buffer.
Source§

fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
where B: BufMut, Self: Sized,

Encodes the message with a length-delimiter to a buffer. Read more
Source§

fn encode_length_delimited_to_vec(&self) -> Vec<u8>
where Self: Sized,

Encodes the message with a length-delimiter to a newly allocated buffer.
Source§

fn decode<B>(buf: B) -> Result<Self, DecodeError>
where B: Buf, Self: Default,

Decodes an instance of the message from a buffer. Read more
Source§

fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
where B: Buf, Self: Default,

Decodes a length-delimited instance of the message from the buffer.
Source§

fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
where B: Buf, Self: Sized,

Decodes an instance of the message from a buffer, and merges it into self. Read more
Source§

fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
where B: Buf, Self: Sized,

Decodes a length-delimited instance of the message from buffer, and merges it into self.
Source§

impl PartialEq for Process

Source§

fn eq(&self, other: &Process) -> 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 StructuralPartialEq for Process

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, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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.