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>
main
Brad Fitzpatrick 1 month ago committed by GitHub
parent 31d65a909d
commit 156d97c549
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 6
      derp/derpserver/derpserver.go

@ -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)

Loading…
Cancel
Save