Skip to main content

CaptureQuality

Struct CaptureQuality 

Source
pub struct CaptureQuality {
    pub window_seconds: u64,
    pub instances_observed: u32,
    pub lazy_parse_warning: bool,
    pub untracked_ratio_percent: f64,
}
Expand description

Capture-quality telemetry surfaced alongside the aggregate summary.

First-touch local-mode captures (fallow health --production-coverage-dir) tend to produce short windows (minutes to an hour) against a single instance. Lazy-parsed scripts do not appear in V8 dumps unless they actually executed during the capture window, which a first-time user will read as “the tool is broken” rather than “the capture window is too short.” This struct gives the CLI enough information to explain the state honestly and to quantify what continuous cloud monitoring would add.

Added in protocol 0.3.0 per ADR 009 step 6b, deliverable 2 of 3.

Fields§

§window_seconds: u64

Total observation window in seconds. Finer-grained than Summary::period_days, which rounds up to whole days. A 12-minute local capture reports window_seconds: 720 and period_days: 1.

§instances_observed: u32

Number of distinct production instances that contributed to the dump. Matches Summary::deployments_seen in the typical case but is emitted separately so future captures can distinguish “one deployment seen across many instances” from “many deployments”.

§lazy_parse_warning: bool

True when the untracked-function ratio exceeds Self::LAZY_PARSE_THRESHOLD_PERCENT. Signals that the CLI should render a “short window” warning: many functions appearing as untracked most likely reflect lazy-parsed code rather than unreachable code, and the capture window is not long enough to distinguish the two.

§untracked_ratio_percent: f64

functions_untracked / functions_tracked as a percentage. Rounded to two decimal places for JSON reproducibility. Provided so the CLI can render the exact ratio that triggered the warning.

Implementations§

Source§

impl CaptureQuality

Source

pub const LAZY_PARSE_THRESHOLD_PERCENT: f64 = 30.0

Threshold above which Self::lazy_parse_warning fires. Chosen so a short window (minutes) against a typical Node app trips the warning, while a multi-day continuous capture does not.

Trait Implementations§

Source§

impl Clone for CaptureQuality

Source§

fn clone(&self) -> CaptureQuality

Returns a duplicate 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 CaptureQuality

Source§

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

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

impl<'de> Deserialize<'de> for CaptureQuality

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for CaptureQuality

Source§

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

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for CaptureQuality

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

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

Source§

type Output = T

Should always be Self
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.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,