From 68ea07add73001ba6c1d767c956753fd3b037fb5 Mon Sep 17 00:00:00 2001 From: Frank Chen Date: Fri, 12 Jun 2026 15:03:40 +0800 Subject: [PATCH] Rate limit trace exporter warnings --- .../agent/exporter/brpc/BrpcTraceMessageExporter.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/agent/agent-exporter-brpc/src/main/java/org/bithon/agent/exporter/brpc/BrpcTraceMessageExporter.java b/agent/agent-exporter-brpc/src/main/java/org/bithon/agent/exporter/brpc/BrpcTraceMessageExporter.java index 17d5162c46..592122a6f0 100644 --- a/agent/agent-exporter-brpc/src/main/java/org/bithon/agent/exporter/brpc/BrpcTraceMessageExporter.java +++ b/agent/agent-exporter-brpc/src/main/java/org/bithon/agent/exporter/brpc/BrpcTraceMessageExporter.java @@ -33,6 +33,7 @@ import org.bithon.component.brpc.exception.ServiceInvocationException; import org.bithon.component.commons.logging.ILogAdaptor; import org.bithon.component.commons.logging.LoggerFactory; +import org.bithon.component.commons.logging.RateLimitedLogger; import java.time.Duration; import java.util.List; @@ -45,6 +46,7 @@ */ public class BrpcTraceMessageExporter implements IMessageExporter { private static final ILogAdaptor LOG = LoggerFactory.getLogger(BrpcTraceMessageExporter.class); + private static final RateLimitedLogger RATE_LIMITED_LOG = new RateLimitedLogger(LOG, Duration.ofMinutes(1)); private final ExporterConfig exporterConfig; private final BrpcClient brpcClient; @@ -90,7 +92,9 @@ public void export(Object message) { try { this.traceCollector = this.brpcClient.getRemoteService(ITraceCollector.class); } catch (ServiceInvocationException e) { - LOG.warn("Unable to get remote ITraceCollector service: {}", e.getMessage()); + RATE_LIMITED_LOG.warn("trace-collector-init:" + e.getMessage(), + "Unable to get remote ITraceCollector service: {}", + e.getMessage()); return; } } @@ -123,7 +127,9 @@ public void export(Object message) { (List) message); } catch (CallerSideException e) { //suppress client exception - LOG.warn("Failed to send tracing: {}", e.getMessage()); + RATE_LIMITED_LOG.warn("trace-send:" + e.getMessage(), + "Failed to send tracing: {}", + e.getMessage()); } }