pub struct EvaluationMetadata {
pub file_size: u64,
pub evaluation_time_ms: f64,
pub rules_evaluated: u32,
pub rules_matched: u32,
}Expand description
Metadata about the evaluation process
Provides diagnostic information about how the evaluation was performed, including performance metrics and statistics about rule processing.
Fields§
§file_size: u64Size of the analyzed file in bytes
evaluation_time_ms: f64Time taken for evaluation in milliseconds
rules_evaluated: u32Total number of rules that were evaluated
This includes rules that were tested but did not match.
rules_matched: u32Number of rules that successfully matched
Implementations§
Source§impl EvaluationMetadata
impl EvaluationMetadata
Sourcepub fn new(
file_size: u64,
evaluation_time_ms: f64,
rules_evaluated: u32,
rules_matched: u32,
) -> Self
pub fn new( file_size: u64, evaluation_time_ms: f64, rules_evaluated: u32, rules_matched: u32, ) -> Self
Create new evaluation metadata
§Arguments
file_size- Size of the analyzed file in bytesevaluation_time_ms- Time taken for evaluation in millisecondsrules_evaluated- Number of rules that were testedrules_matched- Number of rules that matched
§Examples
use libmagic_rs::output::EvaluationMetadata;
let metadata = EvaluationMetadata::new(2048, 3.7, 25, 3);
assert_eq!(metadata.file_size, 2048);
assert_eq!(metadata.evaluation_time_ms, 3.7);
assert_eq!(metadata.rules_evaluated, 25);
assert_eq!(metadata.rules_matched, 3);Sourcepub fn match_rate(&self) -> f64
pub fn match_rate(&self) -> f64
Get the match rate as a percentage
Returns the percentage of evaluated rules that resulted in matches.
§Examples
use libmagic_rs::output::EvaluationMetadata;
let metadata = EvaluationMetadata::new(1024, 1.0, 20, 5);
assert_eq!(metadata.match_rate(), 25.0);
let no_rules = EvaluationMetadata::new(1024, 1.0, 0, 0);
assert_eq!(no_rules.match_rate(), 0.0);Trait Implementations§
Source§impl Clone for EvaluationMetadata
impl Clone for EvaluationMetadata
Source§fn clone(&self) -> EvaluationMetadata
fn clone(&self) -> EvaluationMetadata
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for EvaluationMetadata
impl Debug for EvaluationMetadata
Source§impl<'de> Deserialize<'de> for EvaluationMetadata
impl<'de> Deserialize<'de> for EvaluationMetadata
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for EvaluationMetadata
impl RefUnwindSafe for EvaluationMetadata
impl Send for EvaluationMetadata
impl Sync for EvaluationMetadata
impl Unpin for EvaluationMetadata
impl UnsafeUnpin for EvaluationMetadata
impl UnwindSafe for EvaluationMetadata
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