pub struct MemoryReport {Show 18 fields
pub live_node_count: usize,
pub live_relationship_count: usize,
pub node_tombstone_count: usize,
pub relationship_tombstone_count: usize,
pub nodes_bytes: usize,
pub relationships_bytes: usize,
pub outgoing_bytes: usize,
pub incoming_bytes: usize,
pub label_index_bytes: usize,
pub type_index_bytes: usize,
pub property_index_bytes: usize,
pub sorted_index_bytes: usize,
pub text_index_bytes: usize,
pub point_index_bytes: usize,
pub fulltext_index_bytes: usize,
pub vector_index_bytes: usize,
pub index_catalog_bytes: usize,
pub constraint_catalog_bytes: usize,
}Expand description
Aggregated retained-heap breakdown of an [InMemoryGraph].
All fields are in bytes. usize was chosen over u64 so call
sites can use cargo bench reports and pretty-print without casts;
on 32-bit hosts a graph that overflowed this would already have
failed earlier.
Fields§
§live_node_count: usize§live_relationship_count: usize§node_tombstone_count: usize§relationship_tombstone_count: usize§nodes_bytes: usizenodes: Vec<Option<Arc<NodeRecord>>> — slot vector plus the
Arc headers plus deep payload of each live record (labels,
properties — see property_value_heap_bytes).
relationships_bytes: usizerelationships: Vec<Option<Arc<RelationshipRecord>>>.
outgoing_bytes: usizeoutgoing: Vec<Vec<RelationshipId>> — outer Vec capacity plus
the sum of each inner Vec’s capacity in bytes.
incoming_bytes: usizeSame for incoming.
label_index_bytes: usizenodes_by_label: BTreeMap<String, ChunkedVec<NodeId>>.
type_index_bytes: usizerelationships_by_type: BTreeMap<String, ChunkedVec<RelationshipId>>.
property_index_bytes: usizeHash-bucket property registry (find_*_by_property).
sorted_index_bytes: usizeSorted-range property index (RANGE catalog entries).
text_index_bytes: usizeTrigram TEXT indexes.
point_index_bytes: usizeSpatial grid POINT indexes.
fulltext_index_bytes: usizeFULLTEXT inverted indexes.
vector_index_bytes: usizeVECTOR indexes (Flat and HNSW backends).
index_catalog_bytes: usize§constraint_catalog_bytes: usizeImplementations§
Source§impl MemoryReport
impl MemoryReport
Sourcepub fn graph_core_bytes(&self) -> usize
pub fn graph_core_bytes(&self) -> usize
Bytes attributable to the core graph shape: slabs, adjacency, and the label/type indexes. This is the floor every workload pays regardless of which secondary indexes are installed.
Sourcepub fn secondary_index_bytes(&self) -> usize
pub fn secondary_index_bytes(&self) -> usize
Bytes attributable to secondary indexes — the amount that would be reclaimed by dropping every index.
pub fn catalog_bytes(&self) -> usize
pub fn total_bytes(&self) -> usize
Sourcepub fn bytes_per_live_node(&self) -> f64
pub fn bytes_per_live_node(&self) -> f64
Average retained bytes per live node, including its share of the slab tombstone overhead. Returns 0 when there are no nodes.