aboutsummaryrefslogtreecommitdiffstats
path: root/syz-manager/stats.go
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2024-04-15 11:15:51 +0200
committerDmitry Vyukov <dvyukov@google.com>2024-04-15 10:17:59 +0000
commitf44873e33df5bb834265aeced37ef199ce0717c7 (patch)
treead7ffedce387480c457d3ff8dbb82bdafc2b57d5 /syz-manager/stats.go
parent011dbba622c6133a460ca0757a71169345ed06d6 (diff)
syz-fuzzer: don't sleep after transient executor errors
There is non-0 rate of transient executor errors. Currently we do full GC, free OS memory and sleep for a second after then. This was more meaningful when the fuzzer was in the VM as the fuzzer process consumed lots of memory. Now it consumes only ~20MB, any OOMs are likely not due to the fuzzer process. So instead sleep briefly and only after several retries (I would assume most errors are fixed after 1 retry).
Diffstat (limited to 'syz-manager/stats.go')
-rw-r--r--syz-manager/stats.go6
1 files changed, 5 insertions, 1 deletions
diff --git a/syz-manager/stats.go b/syz-manager/stats.go
index c3d37d391..b8e53e8f7 100644
--- a/syz-manager/stats.go
+++ b/syz-manager/stats.go
@@ -76,7 +76,11 @@ func (mgr *Manager) initStats() {
})
// Stats imported from the fuzzer (names must match the the fuzzer names).
- stats.Create("executor restarts", "Number of times executor process was restarted", stats.Rate{})
+ stats.Create("executor restarts", "Number of times executor process was restarted",
+ stats.Rate{}, stats.Graph("executor"))
+ stats.Create("exec retries",
+ "Number of times a test program was restarted because the first run failed",
+ stats.Rate{}, stats.Graph("executor"))
stats.Create("buffer too small", "Program serialization overflowed exec buffer", stats.NoGraph)
stats.Create("no exec requests", "Number of times fuzzer was stalled with no exec requests", stats.Rate{})
stats.Create("no exec duration", "Total duration fuzzer was stalled with no exec requests (ns/sec)", stats.Rate{})