From 179b040e9d2068ccf2d0e0d3b084dd2293d85e04 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Thu, 7 Nov 2024 16:01:01 +0100 Subject: 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. --- pkg/rpcserver/rpcserver.go | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'pkg/rpcserver') 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) -- cgit mrf-deployment