diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2024-05-29 11:28:03 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2024-06-03 15:04:36 +0000 |
| commit | 2addfcda6297288cd48c399dfbef1f5752162011 (patch) | |
| tree | 30a7d6f2f7d3bea992ebe1c38e698d1862ec44be /pkg/fuzzer/stats.go | |
| parent | f0e94da92f1381e56ecd1c28575aaac54cdfc79d (diff) | |
syz-manager: add corpus triage mode
Add corpus triage mode and support it in testbed.
This is useful to benchmark just the triage phase
w/o any subsequent fuzzing. First, fuzzing is more random.
Second, if triage duration is different in different versions,
then they will do different amount of fuzzing in fixed testbed time.
Diffstat (limited to 'pkg/fuzzer/stats.go')
| -rw-r--r-- | pkg/fuzzer/stats.go | 43 |
1 files changed, 23 insertions, 20 deletions
diff --git a/pkg/fuzzer/stats.go b/pkg/fuzzer/stats.go index c860b8bb9..2129c048a 100644 --- a/pkg/fuzzer/stats.go +++ b/pkg/fuzzer/stats.go @@ -6,35 +6,38 @@ package fuzzer import "github.com/google/syzkaller/pkg/stats" type Stats struct { - StatCandidates *stats.Val - statNewInputs *stats.Val - statJobs *stats.Val - statJobsTriage *stats.Val - statJobsSmash *stats.Val - statJobsHints *stats.Val - statExecTime *stats.Val - statExecGenerate *stats.Val - statExecFuzz *stats.Val - statExecCandidate *stats.Val - statExecTriage *stats.Val - statExecMinimize *stats.Val - statExecSmash *stats.Val - statExecHint *stats.Val - statExecSeed *stats.Val - statExecCollide *stats.Val + statCandidates *stats.Val + statNewInputs *stats.Val + statJobs *stats.Val + statJobsTriage *stats.Val + statJobsTriageCandidate *stats.Val + statJobsSmash *stats.Val + statJobsHints *stats.Val + statExecTime *stats.Val + statExecGenerate *stats.Val + statExecFuzz *stats.Val + statExecCandidate *stats.Val + statExecTriage *stats.Val + statExecMinimize *stats.Val + statExecSmash *stats.Val + statExecHint *stats.Val + statExecSeed *stats.Val + statExecCollide *stats.Val } func newStats() Stats { return Stats{ - StatCandidates: stats.Create("candidates", "Number of candidate programs in triage queue", + statCandidates: stats.Create("candidates", "Number of candidate programs in triage queue", stats.Console, stats.Graph("corpus")), statNewInputs: stats.Create("new inputs", "Potential untriaged corpus candidates", stats.Graph("corpus")), statJobs: stats.Create("fuzzer jobs", "Total running fuzzer jobs", stats.NoGraph), statJobsTriage: stats.Create("triage jobs", "Running triage jobs", stats.StackedGraph("jobs")), - statJobsSmash: stats.Create("smash jobs", "Running smash jobs", stats.StackedGraph("jobs")), - statJobsHints: stats.Create("hints jobs", "Running hints jobs", stats.StackedGraph("jobs")), - statExecTime: stats.Create("prog exec time", "Test program execution time (ms)", stats.Distribution{}), + statJobsTriageCandidate: stats.Create("candidate triage jobs", "Running candidate triage jobs", + stats.StackedGraph("jobs")), + statJobsSmash: stats.Create("smash jobs", "Running smash jobs", stats.StackedGraph("jobs")), + statJobsHints: stats.Create("hints jobs", "Running hints jobs", stats.StackedGraph("jobs")), + statExecTime: stats.Create("prog exec time", "Test program execution time (ms)", stats.Distribution{}), statExecGenerate: stats.Create("exec gen", "Executions of generated programs", stats.Rate{}, stats.StackedGraph("exec")), statExecFuzz: stats.Create("exec fuzz", "Executions of mutated programs", |
