From 31514f26df6684b3b7359951754ef49e5f2e5994 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Sch=C3=A4fer?= Date: Wed, 8 Oct 2025 00:10:03 +0200 Subject: [PATCH] feat(proxy): add site_id (and optional region) to bytes attribute sets for tunnel metrics --- proxy/manager.go | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/proxy/manager.go b/proxy/manager.go index e2b7a79..2fd731e 100644 --- a/proxy/manager.go +++ b/proxy/manager.go @@ -111,10 +111,28 @@ func (pm *ProxyManager) SetTunnelID(id string) { pm.tunnels[id] = &tunnelEntry{} } e := pm.tunnels[id] - e.attrInTCP = attribute.NewSet(attribute.String("tunnel_id", id), attribute.String("direction", "in"), attribute.String("protocol", "tcp")) - e.attrOutTCP = attribute.NewSet(attribute.String("tunnel_id", id), attribute.String("direction", "out"), attribute.String("protocol", "tcp")) - e.attrInUDP = attribute.NewSet(attribute.String("tunnel_id", id), attribute.String("direction", "in"), attribute.String("protocol", "udp")) - e.attrOutUDP = attribute.NewSet(attribute.String("tunnel_id", id), attribute.String("direction", "out"), attribute.String("protocol", "udp")) + // include site labels if available + site := telemetry.SiteLabelKVs() + e.attrInTCP = attribute.NewSet(append(site, + attribute.String("tunnel_id", id), + attribute.String("direction", "in"), + attribute.String("protocol", "tcp"), + )...) + e.attrOutTCP = attribute.NewSet(append(site, + attribute.String("tunnel_id", id), + attribute.String("direction", "out"), + attribute.String("protocol", "tcp"), + )...) + e.attrInUDP = attribute.NewSet(append(site, + attribute.String("tunnel_id", id), + attribute.String("direction", "in"), + attribute.String("protocol", "udp"), + )...) + e.attrOutUDP = attribute.NewSet(append(site, + attribute.String("tunnel_id", id), + attribute.String("direction", "out"), + attribute.String("protocol", "udp"), + )...) } // ClearTunnelID clears cached attribute sets for the current tunnel.