pub struct CompressionMetrics {Show 13 fields
pub original_size: usize,
pub compressed_size: usize,
pub compression_ratio: f64,
pub space_saved: usize,
pub space_saved_percent: f64,
pub compression_time: Duration,
pub decompression_time: Option<Duration>,
pub throughput_mbps: f64,
pub algorithm: CompressionAlgorithm,
pub level: CompressionLevel,
pub total_operations: u64,
pub total_bytes_processed: u64,
pub avg_compression_ratio: f64,
}Expand description
Compression metrics for tracking performance and effectiveness
Fields§
§original_size: usizeOriginal data size in bytes
compressed_size: usizeCompressed data size in bytes
compression_ratio: f64Compression ratio (original/compressed)
space_saved: usizeSpace saved in bytes
space_saved_percent: f64Space saved as percentage
compression_time: DurationCompression duration
decompression_time: Option<Duration>Decompression duration (optional)
throughput_mbps: f64Throughput in MB/s
algorithm: CompressionAlgorithmCompression algorithm used
level: CompressionLevelCompression level used
total_operations: u64Total number of compression operations
total_bytes_processed: u64Total bytes processed
avg_compression_ratio: f64Average compression ratio across all operations
Implementations§
Source§impl CompressionMetrics
impl CompressionMetrics
Sourcepub fn from_sizes(original_size: usize, compressed_size: usize) -> Self
pub fn from_sizes(original_size: usize, compressed_size: usize) -> Self
Create metrics from size information (backward compatibility)
Sourcepub fn record_compression(
&mut self,
original: &[u8],
compressed: &[u8],
duration: Duration,
algorithm: CompressionAlgorithm,
level: CompressionLevel,
)
pub fn record_compression( &mut self, original: &[u8], compressed: &[u8], duration: Duration, algorithm: CompressionAlgorithm, level: CompressionLevel, )
Record a compression operation
Sourcepub fn record_decompression(&mut self, duration: Duration)
pub fn record_decompression(&mut self, duration: Duration)
Record a decompression operation
Sourcepub fn to_prometheus_metrics(&self) -> String
pub fn to_prometheus_metrics(&self) -> String
Export metrics in Prometheus format
Sourcepub fn compression_ratio_legacy(&self) -> f64
pub fn compression_ratio_legacy(&self) -> f64
Calculate compression ratio (compressed / original) - backward compatibility
Sourcepub fn bytes_saved(&self) -> i64
pub fn bytes_saved(&self) -> i64
Calculate bytes saved - backward compatibility
Sourcepub fn savings_percentage(&self) -> f64
pub fn savings_percentage(&self) -> f64
Calculate savings percentage - backward compatibility
Sourcepub fn compression_throughput(&self) -> Option<f64>
pub fn compression_throughput(&self) -> Option<f64>
Calculate compression throughput (bytes/second) - backward compatibility
Sourcepub fn decompression_throughput(&self) -> Option<f64>
pub fn decompression_throughput(&self) -> Option<f64>
Calculate decompression throughput (bytes/second) - backward compatibility
Sourcepub fn format_summary(&self) -> String
pub fn format_summary(&self) -> String
Format metrics as a readable string - backward compatibility