From 96cc1ccc795c04887cb8b35c731c0e68be674eab Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Sun, 21 Aug 2016 19:04:50 -0700 Subject: manager: measure execution speed starting from first VM connect Currently execution speed is considerably skewed on start because we take into account VM boot time. --- syz-manager/html.go | 5 ++++- syz-manager/manager.go | 5 +++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/syz-manager/html.go b/syz-manager/html.go index f53791f2b..ae8a6e088 100644 --- a/syz-manager/html.go +++ b/syz-manager/html.go @@ -57,7 +57,10 @@ func (mgr *Manager) httpInfo(w http.ResponseWriter, r *http.Request) { data.CallCoverMem += len(cov) * int(unsafe.Sizeof(cov[0])) } - secs := uint64(uptime) / 1e9 + secs := uint64(1) + if !mgr.firstConnect.IsZero() { + secs = uint64(time.Since(mgr.firstConnect))/1e9 + 1 + } for k, v := range mgr.stats { val := fmt.Sprintf("%v", v) if x := v / secs; x >= 10 { diff --git a/syz-manager/manager.go b/syz-manager/manager.go index 0c80de938..a5975379a 100644 --- a/syz-manager/manager.go +++ b/syz-manager/manager.go @@ -46,6 +46,7 @@ type Manager struct { port int persistentCorpus *PersistentSet startTime time.Time + firstConnect time.Time stats map[string]uint64 shutdown uint32 @@ -439,6 +440,10 @@ func (mgr *Manager) Connect(a *ConnectArgs, r *ConnectRes) error { mgr.mu.Lock() defer mgr.mu.Unlock() + if mgr.firstConnect.IsZero() { + mgr.firstConnect = time.Now() + } + mgr.stats["vm restarts"]++ mgr.minimizeCorpus() mgr.fuzzers[a.Name] = &Fuzzer{ -- cgit mrf-deployment