aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/fuzzer
diff options
context:
space:
mode:
authorAlexander Potapenko <glider@google.com>2025-02-26 15:54:22 +0100
committerAlexander Potapenko <glider@google.com>2025-08-05 09:20:16 +0000
commitcc22dbc07bad49c50ec1e62abba25998c681f4d0 (patch)
treee9b238925c751f70182ecb8ee69c52c1db19655e /pkg/fuzzer
parent3d0f98e5c7c80888e1e8878002dc9d491bed4ef2 (diff)
pkg/fuzzer: add stats for overflowed coverage/comps
Diffstat (limited to 'pkg/fuzzer')
-rw-r--r--pkg/fuzzer/fuzzer.go2
-rw-r--r--pkg/fuzzer/stats.go6
2 files changed, 8 insertions, 0 deletions
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),
}
}