From cc22dbc07bad49c50ec1e62abba25998c681f4d0 Mon Sep 17 00:00:00 2001 From: Alexander Potapenko Date: Wed, 26 Feb 2025 15:54:22 +0100 Subject: pkg/fuzzer: add stats for overflowed coverage/comps --- pkg/fuzzer/fuzzer.go | 2 ++ pkg/fuzzer/stats.go | 6 ++++++ 2 files changed, 8 insertions(+) (limited to 'pkg') diff --git a/pkg/fuzzer/fuzzer.go b/pkg/fuzzer/fuzzer.go index 17c5af47b..0c0119e71 100644 --- a/pkg/fuzzer/fuzzer.go +++ b/pkg/fuzzer/fuzzer.go @@ -250,8 +250,10 @@ func (fuzzer *Fuzzer) handleCallInfo(req *queue.Request, info *flatrpc.CallInfo, stat := &fuzzer.Syscalls[syscallIdx] if req.ExecOpts.ExecFlags&flatrpc.ExecFlagCollectComps != 0 { stat.CompsOverflows.Add(1) + fuzzer.statCompsOverflows.Add(1) } else { stat.CoverOverflows.Add(1) + fuzzer.statCoverOverflows.Add(1) } } diff --git a/pkg/fuzzer/stats.go b/pkg/fuzzer/stats.go index 40c71d309..2eda11107 100644 --- a/pkg/fuzzer/stats.go +++ b/pkg/fuzzer/stats.go @@ -33,6 +33,8 @@ type Stats struct { statExecHint *stat.Val statExecSeed *stat.Val statExecCollide *stat.Val + statCoverOverflows *stat.Val + statCompsOverflows *stat.Val } type SyscallStats struct { @@ -80,5 +82,9 @@ func newStats(target *prog.Target) Stats { stat.Rate{}, stat.StackedGraph("exec")), statExecCollide: stat.New("exec collide", "Executions of programs in collide mode", stat.Rate{}, stat.StackedGraph("exec")), + statCoverOverflows: stat.New("cover overflows", "Number of times the coverage buffer overflowed", + stat.Rate{}, stat.NoGraph), + statCompsOverflows: stat.New("comps overflows", "Number of times the comparisons buffer overflowed", + stat.Rate{}, stat.NoGraph), } } -- cgit mrf-deployment