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, Vec<NodeId>>.
type_index_bytes: usizerelationships_by_type: BTreeMap<String, Vec<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.
pub fn bytes_per_live_relationship(&self) -> f64
Trait Implementations§
Source§impl Clone for MemoryReport
impl Clone for MemoryReport
Source§fn clone(&self) -> MemoryReport
fn clone(&self) -> MemoryReport
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for MemoryReport
impl Debug for MemoryReport
Source§impl Default for MemoryReport
impl Default for MemoryReport
Source§fn default() -> MemoryReport
fn default() -> MemoryReport
Source§impl<'de> Deserialize<'de> for MemoryReport
impl<'de> Deserialize<'de> for MemoryReport
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for MemoryReport
impl PartialEq for MemoryReport
Source§fn eq(&self, other: &MemoryReport) -> bool
fn eq(&self, other: &MemoryReport) -> bool
self and other values to be equal, and is used by ==.