pub struct AppTimelineRecord {
pub app_id: i32,
pub user_id: i32,
pub timestamp: DateTime<Utc>,
pub focus_time_ms: u64,
pub user_input_time_ms: u64,
}Expand description
One SRUM Application Timeline record: active engagement time per app per ~1-hour interval.
Forensic value: distinguishes passive background execution (high CPU in AppUsage, zero focus_time_ms here) from active user interaction. A shell spawned by malware shows CPU cycles in AppUsage but no focus or input time here.
Fields§
§app_id: i32Integer ID of the application (look up in crate::IdMapEntry).
user_id: i32Integer ID of the user account (look up in crate::IdMapEntry).
timestamp: DateTime<Utc>UTC timestamp of the measurement interval start.
focus_time_ms: u64Milliseconds the application window had foreground focus.
user_input_time_ms: u64Milliseconds the user actively provided input to the application.
Trait Implementations§
Source§impl Clone for AppTimelineRecord
impl Clone for AppTimelineRecord
Source§fn clone(&self) -> AppTimelineRecord
fn clone(&self) -> AppTimelineRecord
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 AppTimelineRecord
impl Debug for AppTimelineRecord
Source§impl<'de> Deserialize<'de> for AppTimelineRecord
impl<'de> Deserialize<'de> for AppTimelineRecord
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 AppTimelineRecord
impl RefUnwindSafe for AppTimelineRecord
impl Send for AppTimelineRecord
impl Sync for AppTimelineRecord
impl Unpin for AppTimelineRecord
impl UnsafeUnpin for AppTimelineRecord
impl UnwindSafe for AppTimelineRecord
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