diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2016-08-21 19:04:50 -0700 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2016-08-21 19:04:50 -0700 |
| commit | 96cc1ccc795c04887cb8b35c731c0e68be674eab (patch) | |
| tree | e2a8b6c7f57d8c9c5d3faaf9e4d5946bcd049b1f | |
| parent | f0d0cfcbd6109dd969a9f29b2357c312cf9e884a (diff) | |
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.
| -rw-r--r-- | syz-manager/html.go | 5 | ||||
| -rw-r--r-- | syz-manager/manager.go | 5 |
2 files changed, 9 insertions, 1 deletions
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{ |
