pub struct NodeProfile {
pub path: String,
pub type: String,
pub status: String,
pub subscriber_count: usize,
pub dep_count: usize,
pub is_orphan_effect: bool,
pub orphan_kind: Option<OrphanKind>,
}Expand description
Per-node profile entry. Mirrors the post-D284 narrower
packages/parity-tests/impls/types.ts
ImplNodeProfile shape exactly (no valueSizeBytes).
JSON field names are camelCase to match the cross-arm parity wire
contract (subscriberCount / depCount / isOrphanEffect /
orphanKind) — the parity scenarios in
scenarios/graph/resource-profile.test.ts assert on those keys.
Fields§
§path: StringQualified path within the graph (local — recursive mount-walking is not in scope per R3.6.3’s snapshot framing).
type: StringNode type: "state" / "derived" / "dynamic" / "producer" /
"effect".
status: StringLifecycle status as a string (matches canonical Appendix B).
subscriber_count: usizeNumber of downstream external subscribers (sinks added via
Core::subscribe). Computed via CoreFull::sink_count_of.
dep_count: usizeNumber of upstream dependencies (length of the node’s _deps
array; recovered from describe() output).
is_orphan_effect: boolTrue if this is an effect node with no external subscribers —
the classic leak pattern (pre-existing pure-ts class kept
separately from the broader orphan_kind categorization for
back-compat with orphan_effects consumers).
orphan_kind: Option<OrphanKind>Orphan category — None when the node has subscribers OR when
it is a state node (state has no fn ⇒ can never be “idle”).
Trait Implementations§
Source§impl Clone for NodeProfile
impl Clone for NodeProfile
Source§fn clone(&self) -> NodeProfile
fn clone(&self) -> NodeProfile
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more