#[non_exhaustive]pub struct KevyTierCompression {
pub vlog_raw_bytes: u64,
pub vlog_payload_bytes: u64,
pub vlog_frame_header_bytes: u64,
pub vlog_dict_bytes: u64,
}Expand description
The value log’s compression accounting, summed across shards; field
names mirror the last four lines of the server’s INFO # Tiering.
Payload plus frame headers against raw bytes is the ratio; the
dictionaries are memory, one per vlog file.
§Examples
use kevy_embedded::{Config, Store};
// untiered: the section does not exist, so neither do its terms
let s = Store::open(Config::default()).unwrap();
assert!(s.tier_compression().is_none());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.vlog_raw_bytes: u64Value bytes before encoding, over the vlog files on disk.
assert_eq!(s.tier_compression().unwrap().vlog_raw_bytes, 4096);vlog_payload_bytes: u64Encoded payload bytes on disk, frame headers excluded.
let c = s.tier_compression().unwrap();
assert!(c.vlog_payload_bytes < c.vlog_raw_bytes); // compressedvlog_frame_header_bytes: u64Frame header bytes on disk (tag + LEB128 length per record).
// a tag byte, and 4096 as two LEB128 bytes
assert_eq!(s.tier_compression().unwrap().vlog_frame_header_bytes, 3);vlog_dict_bytes: u64Dictionary bytes in memory.
// the first file has nothing to train a dictionary on
assert_eq!(s.tier_compression().unwrap().vlog_dict_bytes, 0);Trait Implementations§
Source§impl Clone for KevyTierCompression
impl Clone for KevyTierCompression
impl Copy for KevyTierCompression
Source§impl Debug for KevyTierCompression
impl Debug for KevyTierCompression
Source§impl Default for KevyTierCompression
impl Default for KevyTierCompression
impl Eq for KevyTierCompression
Source§impl PartialEq for KevyTierCompression
impl PartialEq for KevyTierCompression
impl StructuralPartialEq for KevyTierCompression
Auto Trait Implementations§
impl Freeze for KevyTierCompression
impl RefUnwindSafe for KevyTierCompression
impl Send for KevyTierCompression
impl Sync for KevyTierCompression
impl Unpin for KevyTierCompression
impl UnsafeUnpin for KevyTierCompression
impl UnwindSafe for KevyTierCompression
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