diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2024-11-07 16:01:01 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2024-11-07 16:50:40 +0000 |
| commit | 179b040e9d2068ccf2d0e0d3b084dd2293d85e04 (patch) | |
| tree | 0817c1661fd4fc28eedaa7ccdc1a81bd4177414b /pkg/rpcserver | |
| parent | 6410b21bc162fd5f9527bda7484828c53cd872d0 (diff) | |
pkg/rpcserver: export modules stat
We have a /modules link in the manager, but it's not exposed anywhere.
Add a stat with this link.
Diffstat (limited to 'pkg/rpcserver')
| -rw-r--r-- | pkg/rpcserver/rpcserver.go | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/pkg/rpcserver/rpcserver.go b/pkg/rpcserver/rpcserver.go index 10455cee7..69fd9e179 100644 --- a/pkg/rpcserver/rpcserver.go +++ b/pkg/rpcserver/rpcserver.go @@ -101,6 +101,7 @@ type Stats struct { StatExecs *stat.Val StatNumFuzzing *stat.Val StatVMRestarts *stat.Val + StatModules *stat.Val } func NewStats() Stats { @@ -108,13 +109,10 @@ func NewStats() Stats { } func NewNamedStats(name string) Stats { - suffix := name - if suffix != "" { - suffix = " [" + suffix + "]" - } - vmsLink := "/vms" + suffix, linkSuffix := "", "" if name != "" { - vmsLink += "?pool=" + url.QueryEscape(name) + suffix = " [" + name + "]" + linkSuffix = "?pool=" + url.QueryEscape(name) } return Stats{ StatExecs: stat.New("exec total"+suffix, "Total test program executions", @@ -122,10 +120,12 @@ func NewNamedStats(name string) Stats { ), StatNumFuzzing: stat.New("fuzzing VMs"+suffix, "Number of VMs that are currently fuzzing", stat.Graph("fuzzing VMs"), - stat.Link(vmsLink), + stat.Link("/vms"+linkSuffix), ), StatVMRestarts: stat.New("vm restarts"+suffix, "Total number of VM starts", stat.Rate{}, stat.NoGraph), + StatModules: stat.New("modules"+suffix, "Number of loaded kernel modules", + stat.NoGraph, stat.Link("/modules"+linkSuffix)), } } @@ -306,6 +306,7 @@ func (serv *server) handleMachineInfo(infoReq *flatrpc.InfoRequestRawT) (handsha return handshakeResult{}, errors.New("machine check failed") } serv.infoOnce.Do(func() { + serv.StatModules.Add(len(modules)) serv.canonicalModules = cover.NewCanonicalizer(modules, serv.cfg.Cover) serv.coverFilter = serv.mgr.CoverageFilter(modules) globs := make(map[string][]string) |
