|
|
|
|
@ -95,6 +95,7 @@ import ( |
|
|
|
|
"tailscale.com/types/preftype" |
|
|
|
|
"tailscale.com/types/ptr" |
|
|
|
|
"tailscale.com/types/views" |
|
|
|
|
"tailscale.com/util/clientmetric" |
|
|
|
|
"tailscale.com/util/deephash" |
|
|
|
|
"tailscale.com/util/dnsname" |
|
|
|
|
"tailscale.com/util/goroutines" |
|
|
|
|
@ -2863,6 +2864,9 @@ func (b *LocalBackend) WatchNotificationsAs(ctx context.Context, actor ipnauth.A |
|
|
|
|
mak.Set(&b.notifyWatchers, sessionID, session) |
|
|
|
|
b.mu.Unlock() |
|
|
|
|
|
|
|
|
|
metricCurrentWatchIPNBus.Add(1) |
|
|
|
|
defer metricCurrentWatchIPNBus.Add(-1) |
|
|
|
|
|
|
|
|
|
defer func() { |
|
|
|
|
b.mu.Lock() |
|
|
|
|
delete(b.notifyWatchers, sessionID) |
|
|
|
|
@ -7696,3 +7700,7 @@ func (b *LocalBackend) vipServicesFromPrefsLocked(prefs ipn.PrefsView) []*tailcf |
|
|
|
|
|
|
|
|
|
return slicesx.MapValues(services) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
var ( |
|
|
|
|
metricCurrentWatchIPNBus = clientmetric.NewGauge("localbackend_current_watch_ipn_bus") |
|
|
|
|
) |
|
|
|
|
|