mirror of
https://github.com/tailscale/tailscale.git
synced 2025-08-11 21:27:31 +00:00
net/netmon, net/tsdial: add some link change metrics
Updates #9040 Change-Id: I2c87572d79d2118bcf1f0122eccfe712c1bea9d5 Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:

committed by
Brad Fitzpatrick

parent
8683ce78c2
commit
1262df0578
@@ -16,6 +16,7 @@ import (
|
||||
|
||||
"tailscale.com/net/interfaces"
|
||||
"tailscale.com/types/logger"
|
||||
"tailscale.com/util/clientmetric"
|
||||
"tailscale.com/util/set"
|
||||
)
|
||||
|
||||
@@ -369,6 +370,13 @@ func (m *Monitor) debounce() {
|
||||
}
|
||||
}
|
||||
|
||||
var (
|
||||
metricChangeEq = clientmetric.NewCounter("netmon_link_change_eq")
|
||||
metricChange = clientmetric.NewCounter("netmon_link_change")
|
||||
metricChangeTimeJump = clientmetric.NewCounter("netmon_link_change_timejump")
|
||||
metricChangeMajor = clientmetric.NewCounter("netmon_link_change_major")
|
||||
)
|
||||
|
||||
// handlePotentialChange considers whether newState is different enough to wake
|
||||
// up callers and updates the monitor's state if so.
|
||||
//
|
||||
@@ -380,6 +388,7 @@ func (m *Monitor) handlePotentialChange(newState *interfaces.State, forceCallbac
|
||||
timeJumped := shouldMonitorTimeJump && m.checkWallTimeAdvanceLocked()
|
||||
if !timeJumped && !forceCallbacks && oldState.Equal(newState) {
|
||||
// Exactly equal. Nothing to do.
|
||||
metricChangeEq.Add(1)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -410,6 +419,13 @@ func (m *Monitor) handlePotentialChange(newState *interfaces.State, forceCallbac
|
||||
delta.Major = true
|
||||
}
|
||||
}
|
||||
metricChange.Add(1)
|
||||
if delta.Major {
|
||||
metricChangeMajor.Add(1)
|
||||
}
|
||||
if delta.TimeJumped {
|
||||
metricChangeTimeJump.Add(1)
|
||||
}
|
||||
for _, cb := range m.cbs {
|
||||
go cb(delta)
|
||||
}
|
||||
|
Reference in New Issue
Block a user