summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJames Tucker <james@tailscale.com>2025-01-24 13:29:10 -0800
committerJames Tucker <james@tailscale.com>2025-01-24 13:37:41 -0800
commit6a69c05c0472a040a0dab3cb85c1255e02f0e2cf (patch)
tree9762404b5403a2fbaf4fddd43d1ba70f80b9f703
parenta62fb13b637e2f05bcf28e06937507c6e7ae540c (diff)
downloadtailscale-raggi/hello-temp.tar.xz
tailscale-raggi/hello-temp.zip
control/controlclient: add debug netmap refcountraggi/hello-temp
Signed-off-by: Brad Fitzpatrick <brad@tailscale.com> Signed-off-by: James Tucker <james@tailscale.com>
-rw-r--r--control/controlclient/map.go7
1 files changed, 7 insertions, 0 deletions
diff --git a/control/controlclient/map.go b/control/controlclient/map.go
index 1a54fc543..f8a8a7554 100644
--- a/control/controlclient/map.go
+++ b/control/controlclient/map.go
@@ -15,6 +15,7 @@ import (
"slices"
"strconv"
"sync"
+ "sync/atomic"
"time"
"tailscale.com/control/controlknobs"
@@ -817,6 +818,8 @@ func (ms *mapSession) sortedPeers() []tailcfg.NodeView {
return ret
}
+var numNetmaps atomic.Int64
+
// netmap returns a fully populated NetworkMap from the last state seen from
// a call to updateStateFromResponse, filling in omitted
// information from prior MapResponse values.
@@ -841,6 +844,10 @@ func (ms *mapSession) netmap() *netmap.NetworkMap {
TKAEnabled: ms.lastTKAInfo != nil && !ms.lastTKAInfo.Disabled,
MaxKeyDuration: ms.lastMaxExpiry,
}
+ ms.logf("XXX NetMap++ => %v", numNetmaps.Add(1))
+ runtime.SetFinalizer(nm, func(nm *netmap.NetworkMap) {
+ ms.logf("XXX NetMap-- => %v", numNetmaps.Add(-1))
+ })
if ms.lastTKAInfo != nil && ms.lastTKAInfo.Head != "" {
if err := nm.TKAHead.UnmarshalText([]byte(ms.lastTKAInfo.Head)); err != nil {