From 95e2353294f666d15a52fb1a0c3b396d2ab21ece Mon Sep 17 00:00:00 2001 From: Brad Fitzpatrick Date: Mon, 3 Feb 2025 09:59:07 -0800 Subject: [PATCH] wgengine/wgcfg/nmcfg: coalesce, limit some debug logs Updates #14881 Change-Id: I708d29244fe901ab037203a5d7c2cae3c77e4c78 Signed-off-by: Brad Fitzpatrick --- wgengine/wgcfg/nmcfg/nmcfg.go | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/wgengine/wgcfg/nmcfg/nmcfg.go b/wgengine/wgcfg/nmcfg/nmcfg.go index 45c235b4d..1add608e4 100644 --- a/wgengine/wgcfg/nmcfg/nmcfg.go +++ b/wgengine/wgcfg/nmcfg/nmcfg.go @@ -81,8 +81,8 @@ func WGCfg(nm *netmap.NetworkMap, logf logger.Logf, flags netmap.WGConfigFlags, // Logging buffers skippedUnselected := new(bytes.Buffer) - skippedIPs := new(bytes.Buffer) skippedSubnets := new(bytes.Buffer) + skippedExpired := new(bytes.Buffer) for _, peer := range nm.Peers { if peer.DiscoKey().IsZero() && peer.HomeDERP() == 0 && !peer.IsWireGuardOnly() { @@ -95,7 +95,16 @@ func WGCfg(nm *netmap.NetworkMap, logf logger.Logf, flags netmap.WGConfigFlags, // anyway, since control intentionally breaks node keys for // expired peers so that we can't discover endpoints via DERP. if peer.Expired() { - logf("[v1] wgcfg: skipped expired peer %s", peer.Key().ShortString()) + if skippedExpired.Len() >= 1<<10 { + if !bytes.HasSuffix(skippedExpired.Bytes(), []byte("...")) { + skippedExpired.WriteString("...") + } + } else { + if skippedExpired.Len() > 0 { + skippedExpired.WriteString(", ") + } + fmt.Fprintf(skippedExpired, "%s/%v", peer.StableID(), peer.Key().ShortString()) + } continue } @@ -137,12 +146,11 @@ func WGCfg(nm *netmap.NetworkMap, logf logger.Logf, flags netmap.WGConfigFlags, if skippedUnselected.Len() > 0 { logf("[v1] wgcfg: skipped unselected default routes from: %s", skippedUnselected.Bytes()) } - if skippedIPs.Len() > 0 { - logf("[v1] wgcfg: skipped node IPs: %s", skippedIPs) - } if skippedSubnets.Len() > 0 { logf("[v1] wgcfg: did not accept subnet routes: %s", skippedSubnets) } - + if skippedExpired.Len() > 0 { + logf("[v1] wgcfg: skipped expired peer: %s", skippedExpired) + } return cfg, nil }