mirror of
https://github.com/tailscale/tailscale.git
synced 2025-12-22 16:46:29 +00:00
net/udprelay: remove tailscaled_peer_relay_endpoints_total (#18254)
This gauge will be reworked to include endpoint state in future. Updates tailscale/corp#30820 Change-Id: I66f349d89422b46eec4ecbaf1a99ad656c7301f9 Signed-off-by: Alex Valiushko <alexvaliushko@tailscale.com>
This commit is contained in:
@@ -22,10 +22,6 @@ var (
|
||||
cMetricForwarded46Bytes = clientmetric.NewAggregateCounter("udprelay_forwarded_bytes_udp4_udp6")
|
||||
cMetricForwarded64Bytes = clientmetric.NewAggregateCounter("udprelay_forwarded_bytes_udp6_udp4")
|
||||
cMetricForwarded66Bytes = clientmetric.NewAggregateCounter("udprelay_forwarded_bytes_udp6_udp6")
|
||||
|
||||
// [clientmetric.Gauge] does not let us embed existing counters,
|
||||
// [metrics.addEndpoints] records data into client and user gauges independently.
|
||||
cMetricEndpoints = clientmetric.NewGauge("udprelay_endpoints")
|
||||
)
|
||||
|
||||
type transport string
|
||||
@@ -40,9 +36,6 @@ type forwardedLabel struct {
|
||||
transportOut transport `prom:"transport_out"`
|
||||
}
|
||||
|
||||
type endpointLabel struct {
|
||||
}
|
||||
|
||||
type metrics struct {
|
||||
forwarded44Packets expvar.Int
|
||||
forwarded46Packets expvar.Int
|
||||
@@ -53,8 +46,6 @@ type metrics struct {
|
||||
forwarded46Bytes expvar.Int
|
||||
forwarded64Bytes expvar.Int
|
||||
forwarded66Bytes expvar.Int
|
||||
|
||||
endpoints expvar.Int
|
||||
}
|
||||
|
||||
// registerMetrics publishes user and client metric counters for peer relay server.
|
||||
@@ -74,12 +65,6 @@ func registerMetrics(reg *usermetric.Registry) *metrics {
|
||||
"counter",
|
||||
"Number of bytes forwarded via Peer Relay",
|
||||
)
|
||||
uMetricEndpoints = usermetric.NewMultiLabelMapWithRegistry[endpointLabel](
|
||||
reg,
|
||||
"tailscaled_peer_relay_endpoints_total",
|
||||
"gauge",
|
||||
"Number of allocated Peer Relay endpoints",
|
||||
)
|
||||
forwarded44 = forwardedLabel{transportIn: transportUDP4, transportOut: transportUDP4}
|
||||
forwarded46 = forwardedLabel{transportIn: transportUDP4, transportOut: transportUDP6}
|
||||
forwarded64 = forwardedLabel{transportIn: transportUDP6, transportOut: transportUDP4}
|
||||
@@ -98,8 +83,6 @@ func registerMetrics(reg *usermetric.Registry) *metrics {
|
||||
uMetricForwardedBytes.Set(forwarded64, &m.forwarded64Bytes)
|
||||
uMetricForwardedBytes.Set(forwarded66, &m.forwarded66Bytes)
|
||||
|
||||
uMetricEndpoints.Set(endpointLabel{}, &m.endpoints)
|
||||
|
||||
// Publish client metrics.
|
||||
cMetricForwarded44Packets.Register(&m.forwarded44Packets)
|
||||
cMetricForwarded46Packets.Register(&m.forwarded46Packets)
|
||||
@@ -113,13 +96,6 @@ func registerMetrics(reg *usermetric.Registry) *metrics {
|
||||
return m
|
||||
}
|
||||
|
||||
// addEndpoints updates the total endpoints gauge. Value can be negative.
|
||||
// It records two gauges independently, see [cMetricEndpoints] doc.
|
||||
func (m *metrics) addEndpoints(value int64) {
|
||||
m.endpoints.Add(value)
|
||||
cMetricEndpoints.Add(value)
|
||||
}
|
||||
|
||||
// countForwarded records user and client metrics according to the
|
||||
// inbound and outbound address families.
|
||||
func (m *metrics) countForwarded(in4, out4 bool, bytes, packets int64) {
|
||||
@@ -149,5 +125,4 @@ func deregisterMetrics() {
|
||||
cMetricForwarded46Bytes.UnregisterAll()
|
||||
cMetricForwarded64Bytes.UnregisterAll()
|
||||
cMetricForwarded66Bytes.UnregisterAll()
|
||||
cMetricEndpoints.Set(0)
|
||||
}
|
||||
|
||||
@@ -22,20 +22,11 @@ func TestMetrics(t *testing.T) {
|
||||
want := []string{
|
||||
"tailscaled_peer_relay_forwarded_packets_total",
|
||||
"tailscaled_peer_relay_forwarded_bytes_total",
|
||||
"tailscaled_peer_relay_endpoints_total",
|
||||
}
|
||||
slices.Sort(have)
|
||||
slices.Sort(want)
|
||||
c.Assert(have, qt.CmpEquals(), want)
|
||||
|
||||
// Validate addEndpoints.
|
||||
m.addEndpoints(1)
|
||||
c.Assert(m.endpoints.Value(), qt.Equals, int64(1))
|
||||
c.Assert(cMetricEndpoints.Value(), qt.Equals, int64(1))
|
||||
m.addEndpoints(-1)
|
||||
c.Assert(m.endpoints.Value(), qt.Equals, int64(0))
|
||||
c.Assert(cMetricEndpoints.Value(), qt.Equals, int64(0))
|
||||
|
||||
// Validate countForwarded.
|
||||
m.countForwarded(true, true, 1, 1)
|
||||
c.Assert(m.forwarded44Bytes.Value(), qt.Equals, int64(1))
|
||||
|
||||
@@ -673,7 +673,6 @@ func (s *Server) endpointGCLoop() {
|
||||
defer s.mu.Unlock()
|
||||
for k, v := range s.serverEndpointByDisco {
|
||||
if v.isExpired(now, s.bindLifetime, s.steadyStateLifetime) {
|
||||
s.metrics.addEndpoints(-1)
|
||||
delete(s.serverEndpointByDisco, k)
|
||||
s.serverEndpointByVNI.Delete(v.vni)
|
||||
}
|
||||
@@ -969,7 +968,6 @@ func (s *Server) AllocateEndpoint(discoA, discoB key.DiscoPublic) (endpoint.Serv
|
||||
s.serverEndpointByVNI.Store(e.vni, e)
|
||||
|
||||
s.logf("allocated endpoint vni=%d lamportID=%d disco[0]=%v disco[1]=%v", e.vni, e.lamportID, pair.Get()[0].ShortString(), pair.Get()[1].ShortString())
|
||||
s.metrics.addEndpoints(1)
|
||||
return endpoint.ServerEndpoint{
|
||||
ServerDisco: s.discoPublic,
|
||||
ClientDisco: pair.Get(),
|
||||
|
||||
Reference in New Issue
Block a user