derp/derpserver: fix locking in a few expvar.Func metrics (#19031)

Fixes #19030
Fixes tailscale/corp#38782

Change-Id: I53082059d4012b9765b5596f7023717282132888

Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:
Brad Fitzpatrick
2026-03-18 11:26:01 -07:00
committed by GitHub
parent 31d65a909d
commit 156d97c549
+3 -3
View File
@@ -2213,9 +2213,9 @@ func (s *Server) ExpVar() expvar.Var {
m.Set("gauge_current_connections", &s.curClients)
m.Set("gauge_current_home_connections", &s.curHomeClients)
m.Set("gauge_current_notideal_connections", &s.curClientsNotIdeal)
m.Set("gauge_clients_total", expvar.Func(func() any { return len(s.clientsMesh) }))
m.Set("gauge_clients_local", expvar.Func(func() any { return len(s.clients) }))
m.Set("gauge_clients_remote", expvar.Func(func() any { return len(s.clientsMesh) - len(s.clients) }))
m.Set("gauge_clients_total", s.expVarFunc(func() any { return len(s.clientsMesh) }))
m.Set("gauge_clients_local", s.expVarFunc(func() any { return len(s.clients) }))
m.Set("gauge_clients_remote", s.expVarFunc(func() any { return len(s.clientsMesh) - len(s.clients) }))
m.Set("gauge_current_dup_client_keys", &s.dupClientKeys)
m.Set("gauge_current_dup_client_conns", &s.dupClientConns)
m.Set("counter_total_dup_client_conns", &s.dupClientConnTotal)