#[non_exhaustive]pub struct SessionLifecycleCounters {Show 13 fields
pub opened_total: u64,
pub closed_total: u64,
pub relaunch_app_total: u64,
pub terminate_app_total: u64,
pub terminate_app_via_xcuiapplication: u64,
pub terminate_app_via_fallback: u64,
pub launch_app_total: u64,
pub launch_app_reached_foreground: u64,
pub launch_app_timed_out_before_foreground: u64,
pub reset_app_data_total: u64,
pub reset_app_data_timed_out: u64,
pub launch_app_reached_interactive: u64,
pub launch_app_timed_out_before_interactive: u64,
}Expand description
v1.0.11 §D3 / §D4 / §D5 — cumulative session lifecycle counters.
Unlike the instantaneous sessions: Vec<SessionSummary> view,
these are advanced on every mutation and survive close. Answers
insight’s v1.0.10 followup question “did clearAppData actually use
the cooperative pathway or fall back to SIGKILL” via the split
terminate_app_via_xcuiapplication / terminate_app_via_fallback
counters.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.opened_total: u64Total POST /session/open outcomes.
closed_total: u64Total POST /session/close outcomes (idempotent — includes closes
of unknown sessions).
relaunch_app_total: u64Total POST /session/relaunch-app outcomes.
terminate_app_total: u64Total POST /session/terminate-app outcomes.
terminate_app_via_xcuiapplication: u64Terminate calls that observed the target .notRunning before
the XCUIApplication timeout — cooperative pathway succeeded.
terminate_app_via_fallback: u64Terminate calls where XCUIApplication timed out and the runner
fell back to a hard-kill pathway. > 0 is the smoking-gun
insight asked us to expose in the v1.0.10 followup.
launch_app_total: u64Total POST /session/launch-app outcomes.
launch_app_reached_foreground: u64Launch calls that observed .runningForeground inside the
requested wait_for_foreground_ms window.
launch_app_timed_out_before_foreground: u64Launch calls that timed out waiting for foreground.
reset_app_data_total: u64v1.0.14 Cluster A — total resetAppData verbs dispatched
(URL-scheme JS-wipe pattern, separate from clearAppData’s
container-wipe pathway).
reset_app_data_timed_out: u64v1.0.14 Cluster A — resetAppData calls where the completion
signal (log-line pattern match on the metro log tail) never
arrived inside the timeout window. > 0 = the URL fired but
the app didn’t emit the expected [dev] reset-complete line.
launch_app_reached_interactive: u64v1.0.14 Cluster C — launch calls that observed the
interactive fingerprint (≥ minIdentifierCount non-ignored
ax-ids in the a11y tree) inside wait_for_interactive_ms.
Distinct from launch_app_reached_foreground which only
tracks process state, not tree probeability.
launch_app_timed_out_before_interactive: u64v1.0.14 Cluster C — launch calls that timed out waiting for the interactive fingerprint. Non-zero = “process foreground but tree unusable” = the case insight’s v1.0.11 followup observed on their bootstrap batch (SplashScreenLogo + all unknown descendants).
Trait Implementations§
Source§impl Clone for SessionLifecycleCounters
impl Clone for SessionLifecycleCounters
Source§fn clone(&self) -> SessionLifecycleCounters
fn clone(&self) -> SessionLifecycleCounters
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more