MCPcopy Create free account
hub / github.com/MultiFuzz/MultiFuzz / Monitor

Class Monitor

hail-fuzz/src/monitor.rs:20–65  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

18
19#[derive(Copy, Clone)]
20pub(crate) struct Monitor {
21 /// The total number of executions that the fuzzer has done
22 pub total_executions: u64,
23
24 /// The number of crashes that the fuzzer has seen
25 pub crashes: u64,
26
27 /// The number of times a timeout has been hit
28 pub timeouts: u64,
29
30 /// The number of unique blocks that the fuzzer has seen with any input
31 pub blocks_seen: u64,
32
33 /// An instant that keeps track of when the fuzzer start.
34 pub start_time: Instant,
35
36 /// The last time we wrote the stats to a file.
37 pub last_log_time: Instant,
38
39 /// The amount of time to wait before writing current stats to a file.
40 pub log_rate: Duration,
41
42 /// The time it took to execute the slowest input.
43 pub max_duration: Duration,
44
45 /// The maximum number of instructions executed by a single test case.
46 pub max_instructions: u64,
47
48 /// The last point in time that we got new coverage
49 pub last_coverage_increase: Instant,
50
51 /// The last time that we displayed output.
52 pub last_report: Instant,
53
54 /// The total executions the last time we displayed output.
55 pub last_exec_count: u64,
56
57 /// The total number of dictionary items the last time we saved the fuzzer dictionary.
58 pub last_dict_items: usize,
59
60 /// The ID of the current input.
61 pub input_id: usize,
62
63 /// The current stage.
64 pub stage: Stage,
65}
66
67impl Monitor {
68 pub fn new() -> Self {

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected