#[non_exhaustive]pub struct IndexStats {
pub entries: u64,
pub approx_bytes: u64,
pub coerce_failures: u64,
pub duplicates: u64,
}Expand description
Sizing + health counters (IDX.LIST / memory formula).
use kevy_index::{Segment, SegmentStats};
let s = Segment::new().stats();
assert_eq!((s.entries, s.duplicates), (0, SegmentStats::default().duplicates));Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.entries: u64Live entries.
let mut s = Segment::new();
s.apply(b"a", None, Some(IndexValue::I64(1)));
s.apply(b"a", Some(&IndexValue::I64(1)), Some(IndexValue::I64(2)));
assert_eq!(s.stats().entries, 1, "a key holds one entry");approx_bytes: u64Approximate heap bytes (the measured side of the documented memory formula).
let mut s = Segment::new();
s.apply(b"a", None, Some(IndexValue::Str(vec![b'x'; 1000])));
assert!(s.stats().approx_bytes >= 1000);coerce_failures: u64Rows excluded because the field failed coercion / was missing.
let mut s = Segment::new();
s.apply(b"a", None, IndexValue::coerce(ValType::I64, b"not a number"));
assert_eq!(s.stats().coerce_failures, 1);duplicates: u64Values currently held by more than one key (unique fence).
let mut s = Segment::new();
s.apply(b"a", None, Some(IndexValue::I64(7)));
s.apply(b"b", None, Some(IndexValue::I64(7)));
assert_eq!(s.stats().duplicates, 1);Trait Implementations§
Source§impl Clone for SegmentStats
impl Clone for SegmentStats
Source§fn clone(&self) -> SegmentStats
fn clone(&self) -> SegmentStats
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for SegmentStats
Source§impl Debug for SegmentStats
impl Debug for SegmentStats
Source§impl Default for SegmentStats
impl Default for SegmentStats
Source§fn default() -> SegmentStats
fn default() -> SegmentStats
Returns the “default value” for a type. Read more
impl Eq for SegmentStats
Source§impl Hash for SegmentStats
impl Hash for SegmentStats
Source§impl PartialEq for SegmentStats
impl PartialEq for SegmentStats
impl StructuralPartialEq for SegmentStats
Auto Trait Implementations§
impl Freeze for SegmentStats
impl RefUnwindSafe for SegmentStats
impl Send for SegmentStats
impl Sync for SegmentStats
impl Unpin for SegmentStats
impl UnsafeUnpin for SegmentStats
impl UnwindSafe for SegmentStats
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more