pub struct VitalSigns {Show 28 fields
pub dead_file_pct: Option<f64>,
pub dead_export_pct: Option<f64>,
pub avg_cyclomatic: f64,
pub critical_complexity_pct: Option<f64>,
pub p90_cyclomatic: u32,
pub cyclomatic_population: Option<CyclomaticPopulation>,
pub duplication_pct: Option<f64>,
pub hotspot_count: Option<u32>,
pub hotspot_top_pct_count: Option<u32>,
pub maintainability_avg: Option<f64>,
pub maintainability_low_pct: Option<f64>,
pub unused_dep_count: Option<u32>,
pub unused_deps_per_k_files: Option<f64>,
pub circular_dep_count: Option<u32>,
pub circular_deps_per_k_files: Option<f64>,
pub counts: Option<VitalSignsCounts>,
pub unit_size_profile: Option<RiskProfile>,
pub functions_over_60_loc_per_k: Option<f64>,
pub unit_interfacing_profile: Option<RiskProfile>,
pub p95_fan_in: Option<u32>,
pub coupling_high_pct: Option<f64>,
pub prop_drilling_chain_count: Option<u32>,
pub prop_drilling_max_depth: Option<u32>,
pub p95_render_fan_in: Option<u32>,
pub render_fan_in_high_pct: Option<f64>,
pub max_render_fan_in: Option<u32>,
pub top_render_fan_in: Vec<RenderFanInTopComponent>,
pub total_loc: u64,
}Expand description
Project-wide vital signs: a fixed set of metrics for trend tracking.
Metrics are Option when the data source was not available in the current run
(e.g., duplication_pct is None unless the duplication pipeline was run,
hotspot_count is None without git history).
Fields§
§dead_file_pct: Option<f64>Percentage of files not reachable from any entry point.
dead_export_pct: Option<f64>Percentage of exports never imported by other modules.
avg_cyclomatic: f64Average cyclomatic complexity across authored functions, module-scope
units, and template units. See cyclomatic_population for the denominator.
critical_complexity_pct: Option<f64>Percentage of complexity units at or above the critical cyclomatic threshold. Used by the scale-invariant health score.
p90_cyclomatic: u3290th percentile cyclomatic complexity across the same unit population.
cyclomatic_population: Option<CyclomaticPopulation>Population behind the cyclomatic mean, percentile, and critical share. Present on current analyses; absent on older saved snapshots.
duplication_pct: Option<f64>Code duplication percentage (None if duplication pipeline was not run).
hotspot_count: Option<u32>Number of hotspot files (score >= 50). None if git history unavailable.
hotspot_top_pct_count: Option<u32>Number of files in the top 1% of the within-project hotspot ranking.
maintainability_avg: Option<f64>Average maintainability index across all scored files (0-100).
maintainability_low_pct: Option<f64>Percentage of scored files with maintainability index below 70. Null if file scores were not computed.
unused_dep_count: Option<u32>Number of unused dependencies (dependencies + devDependencies + optional).
unused_deps_per_k_files: Option<f64>Unused dependencies per 1,000 files. Null if dead code analysis did not run.
circular_dep_count: Option<u32>Number of circular dependency chains.
circular_deps_per_k_files: Option<f64>Circular dependency chains per 1,000 files. Null if dead code analysis did not run.
counts: Option<VitalSignsCounts>Raw counts backing the percentages (for orientation header display).
unit_size_profile: Option<RiskProfile>Function size risk profile: percentage of functions in each size bin.
functions_over_60_loc_per_k: Option<f64>Functions above 60 LOC per 1,000 functions. Null if no functions analyzed.
unit_interfacing_profile: Option<RiskProfile>Parameter count risk profile: percentage of functions in each param bin.
p95_fan_in: Option<u32>95th percentile fan-in across all files. Null if file scores not computed.
coupling_high_pct: Option<f64>Percentage of files with fan-in above the project’s p95 threshold.
prop_drilling_chain_count: Option<u32>Number of located prop-drilling chains (React/Preact props forwarded
unchanged through 3+ pass-through components). None unless the opt-in
prop-drilling rule is enabled (it defaults to off), so the small capped
penalty and the hotspot surface are dormant by default.
prop_drilling_max_depth: Option<u32>The deepest located prop-drilling chain’s depth (forwarding hops). None
when no chains were found or the rule is off. Descriptive context only.
p95_render_fan_in: Option<u32>95th-percentile DISTINCT-PARENTS render fan-in across React/Preact
components (the component-graph analogue of p95_fan_in, which percentiles
per-FILE module fan-in). None on non-React runs. Descriptive
blast-radius context, NOT a gate. Mirrors compute_coupling_concentration.
render_fan_in_high_pct: Option<f64>Percentage of components whose render fan-in exceeds the project’s
max(p95, 10) threshold (reuses the coupling-concentration floor; NO new
tunable constant). None on non-React runs. Mirrors coupling_high_pct.
max_render_fan_in: Option<u32>The single highest DISTINCT-PARENTS count across all components (the
headline blast-radius number: the most distinct render LOCATIONS any one
component is rendered from, the honest edit-ripple count). render_sites
(incl. repeats) is secondary per-component context, never the headline.
None on non-React runs. Descriptive context, no threshold.
top_render_fan_in: Vec<RenderFanInTopComponent>The highest-fan-in React/Preact components, located (component name +
project-relative path + render-site / distinct-parent counts), sorted by
distinct parents (the honest headline axis) descending, tie-broken on
render sites descending, and capped at a small N. Lets a consumer see
WHICH component carries the headline max_render_fan_in, not just the
number. Empty (and omitted from JSON) on non-React runs, so the contract
stays byte-identical there. Descriptive blast-radius context, NOT a gate.
total_loc: u64Total lines of code across all parsed modules.