MCPcopy Create free account
hub / github.com/NodeDB-Lab/nodedb / stats

Method stats

nodedb/src/engine/kv/engine_stats.rs:137–173  ·  view source on GitHub ↗

Comprehensive observability snapshot for this KV engine.

(&self)

Source from the content-addressed store, hash-verified

135
136 /// Comprehensive observability snapshot for this KV engine.
137 pub fn stats(&self) -> KvStats {
138 let mut total_entries = 0usize;
139 let mut total_mem = 0usize;
140 let mut total_index_entries = 0usize;
141 let mut is_rehashing = false;
142 let mut max_load_factor: f32 = 0.0;
143
144 for table in self.tables.values() {
145 total_entries += table.len();
146 total_mem += table.mem_usage();
147 if table.load_factor() > max_load_factor {
148 max_load_factor = table.load_factor();
149 }
150 if table.is_rehashing() {
151 is_rehashing = true;
152 }
153 }
154
155 for idx_set in self.indexes.values() {
156 for field in idx_set.indexed_fields() {
157 if let Some(idx) = idx_set.get_index(field) {
158 total_index_entries += idx.entry_count();
159 }
160 }
161 }
162
163 KvStats {
164 total_entries,
165 total_mem_bytes: total_mem,
166 collection_count: self.tables.len(),
167 max_load_factor,
168 is_rehashing,
169 total_index_entries,
170 expiry_queue_depth: self.expiry.len(),
171 expiry_backlog: self.expiry.backlog(),
172 }
173 }
174}

Callers 2

execute_vector_searchMethod · 0.45

Calls 8

mem_usageMethod · 0.80
load_factorMethod · 0.80
is_rehashingMethod · 0.80
indexed_fieldsMethod · 0.80
backlogMethod · 0.80
lenMethod · 0.45
get_indexMethod · 0.45
entry_countMethod · 0.45

Tested by

no test coverage detected