diff --git a/dd-java-agent/appsec/src/main/java/com/datadog/appsec/gateway/AppSecRequestContext.java b/dd-java-agent/appsec/src/main/java/com/datadog/appsec/gateway/AppSecRequestContext.java index dc4e3c28f70..1ecdb7545d0 100644 --- a/dd-java-agent/appsec/src/main/java/com/datadog/appsec/gateway/AppSecRequestContext.java +++ b/dd-java-agent/appsec/src/main/java/com/datadog/appsec/gateway/AppSecRequestContext.java @@ -118,7 +118,7 @@ public class AppSecRequestContext implements DataBundle, Closeable { // set after additive is set private volatile PowerwafMetrics wafMetrics; private volatile PowerwafMetrics raspMetrics; - private AtomicInteger raspMetricsCounter; + private final AtomicInteger raspMetricsCounter = new AtomicInteger(0); private volatile boolean blocked; private volatile int timeouts; @@ -182,7 +182,6 @@ public Additive getOrCreateAdditive(PowerwafContext ctx, boolean createMetrics, } if (isRasp && raspMetrics == null) { this.raspMetrics = ctx.createMetrics(); - this.raspMetricsCounter = new AtomicInteger(0); } } diff --git a/dd-java-agent/appsec/src/main/java/com/datadog/appsec/powerwaf/PowerWAFStatsReporter.java b/dd-java-agent/appsec/src/main/java/com/datadog/appsec/powerwaf/PowerWAFStatsReporter.java index 073aea73d03..e2fdb7de5d5 100644 --- a/dd-java-agent/appsec/src/main/java/com/datadog/appsec/powerwaf/PowerWAFStatsReporter.java +++ b/dd-java-agent/appsec/src/main/java/com/datadog/appsec/powerwaf/PowerWAFStatsReporter.java @@ -35,7 +35,10 @@ public void processTraceSegment( segment.setTagTop(RASP_TOTAL_DURATION_US_TAG, raspMetrics.getTotalRunTimeNs() / 1000L); segment.setTagTop( RASP_TOTAL_DDWAF_RUN_DURATION_US_TAG, raspMetrics.getTotalDdwafRunTimeNs() / 1000L); - segment.setTagTop(RASP_RULE_EVAL, ctx.getRaspMetricsCounter().get()); + final int raspCount = ctx.getRaspMetricsCounter().get(); + if (raspCount > 0) { + segment.setTagTop(RASP_RULE_EVAL, raspCount); + } } String rulesVersion = this.rulesVersion;