pub struct ProcessRecord {
pub pid: u32,
pub command: String,
pub args: Vec<String>,
pub started_at: DateTime<Utc>,
pub cgroup_path: Option<String>,
pub status: ProcessStatus,
pub cpu_usage_ns: Option<u64>,
pub memory_bytes: Option<u64>,
pub output: Option<Arc<CapturedOutput>>,
}Expand description
A single tracked process entry.
Fields§
§pid: u32Process ID.
command: StringCommand that was executed.
args: Vec<String>Arguments passed to the command.
started_at: DateTime<Utc>When the process was spawned.
cgroup_path: Option<String>Path to the agent’s cgroup (Linux only). Used to read live CPU/memory stats.
status: ProcessStatusCurrent lifecycle status.
cpu_usage_ns: Option<u64>Last observed CPU usage in nanoseconds (from cgroup cpu.stat).
memory_bytes: Option<u64>Last observed memory usage in bytes (from cgroup memory.current).
output: Option<Arc<CapturedOutput>>Captured stdout/stderr output directory (non-interactive processes only).
The TempDir inside is automatically deleted when the
last Arc is dropped.
Implementations§
Trait Implementations§
Source§impl Clone for ProcessRecord
impl Clone for ProcessRecord
Source§fn clone(&self) -> ProcessRecord
fn clone(&self) -> ProcessRecord
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ProcessRecord
impl Debug for ProcessRecord
Source§impl<'de> Deserialize<'de> for ProcessRecord
impl<'de> Deserialize<'de> for ProcessRecord
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ProcessRecord
impl RefUnwindSafe for ProcessRecord
impl Send for ProcessRecord
impl Sync for ProcessRecord
impl Unpin for ProcessRecord
impl UnsafeUnpin for ProcessRecord
impl UnwindSafe for ProcessRecord
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more