Skip to content

Commit f72ff0a

Browse files
committed
wip
1 parent 70e8c90 commit f72ff0a

File tree

6 files changed

+15
-12
lines changed

6 files changed

+15
-12
lines changed

dd-java-agent/agent-iast/src/main/java/com/datadog/iast/overhead/OverheadContext.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import static datadog.trace.api.iast.IastDetectionMode.UNLIMITED;
44

5-
import datadog.trace.util.NonBlockingSemaphore;
5+
import com.datadog.iast.util.NonBlockingSemaphore;
66

77
public class OverheadContext {
88

dd-java-agent/agent-iast/src/main/java/com/datadog/iast/overhead/OverheadController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import com.datadog.iast.IastRequestContext;
66
import com.datadog.iast.IastSystem;
7+
import com.datadog.iast.util.NonBlockingSemaphore;
78
import datadog.trace.api.Config;
89
import datadog.trace.api.gateway.RequestContext;
910
import datadog.trace.api.gateway.RequestContextSlot;
@@ -12,7 +13,6 @@
1213
import datadog.trace.bootstrap.instrumentation.api.AgentSpan;
1314
import datadog.trace.bootstrap.instrumentation.api.AgentTracer;
1415
import datadog.trace.util.AgentTaskScheduler;
15-
import datadog.trace.util.NonBlockingSemaphore;
1616
import java.util.concurrent.TimeUnit;
1717
import java.util.concurrent.atomic.AtomicLong;
1818
import javax.annotation.Nullable;

internal-api/src/main/java/datadog/trace/util/NonBlockingSemaphore.java renamed to dd-java-agent/agent-iast/src/main/java/com/datadog/iast/util/NonBlockingSemaphore.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package datadog.trace.util;
1+
package com.datadog.iast.util;
22

33
import java.util.concurrent.atomic.AtomicBoolean;
44
import java.util.concurrent.atomic.AtomicInteger;

internal-api/src/test/groovy/datadog/trace/util/NonBlockingSemaphoreTest.groovy renamed to dd-java-agent/agent-iast/src/test/groovy/com/datadog/iast/util/NonBlockingSemaphoreTest.groovy

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package datadog.trace.util
1+
package com.datadog.iast.util
22

33

44
import groovy.transform.CompileDynamic

dd-java-agent/appsec/src/main/java/com/datadog/appsec/api/security/ApiSecurityRequestSampler.java

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22

33
import com.datadog.appsec.gateway.AppSecRequestContext;
44
import datadog.trace.api.Config;
5-
import org.slf4j.LoggerFactory;
6-
import org.slf4j.Logger;
75
import datadog.trace.api.time.SystemTimeSource;
86
import datadog.trace.api.time.TimeSource;
9-
import datadog.trace.util.NonBlockingSemaphore;
107
import java.util.Deque;
118
import java.util.concurrent.ConcurrentHashMap;
129
import java.util.concurrent.ConcurrentLinkedDeque;
10+
import java.util.concurrent.Semaphore;
1311
import javax.annotation.Nonnull;
12+
import org.slf4j.Logger;
13+
import org.slf4j.LoggerFactory;
1414

1515
public class ApiSecurityRequestSampler {
1616

@@ -32,11 +32,13 @@ public class ApiSecurityRequestSampler {
3232
private final long expirationTimeInMs;
3333
private final int capacity;
3434
private final TimeSource timeSource;
35-
private final NonBlockingSemaphore counter =
36-
NonBlockingSemaphore.withPermitCount(MAX_POST_PROCESSING_TASKS);
35+
private final Semaphore counter = new Semaphore(MAX_POST_PROCESSING_TASKS);
3736

3837
public ApiSecurityRequestSampler() {
39-
this(MAX_SIZE, (long) (Config.get().getApiSecuritySampleDelay() * 1_000), SystemTimeSource.INSTANCE);
38+
this(
39+
MAX_SIZE,
40+
(long) (Config.get().getApiSecuritySampleDelay() * 1_000),
41+
SystemTimeSource.INSTANCE);
4042
}
4143

4244
public ApiSecurityRequestSampler(
@@ -75,7 +77,7 @@ public void preSampleRequest(final @Nonnull AppSecRequestContext ctx) {
7577
log.debug("API security sampling is not required for this request");
7678
return;
7779
}
78-
if (counter.acquire()) {
80+
if (counter.tryAcquire()) {
7981
log.debug("API security sampling is required for this request (presampled)");
8082
ctx.setKeepOpenForApiSecurityPostProcessing(true);
8183
}

internal-api/src/main/java/datadog/trace/api/Config.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1318,7 +1318,8 @@ PROFILING_DATADOG_PROFILER_ENABLED, isDatadogProfilerSafeInCurrentEnvironment())
13181318
apiSecurityRequestSampleRate =
13191319
configProvider.getFloat(
13201320
API_SECURITY_REQUEST_SAMPLE_RATE, DEFAULT_API_SECURITY_REQUEST_SAMPLE_RATE);
1321-
apiSecuritySampleDelay = configProvider.getFloat(API_SECURITY_SAMPLE_DELAY, DEFAULT_API_SECURITY_SAMPLE_DELAY);
1321+
apiSecuritySampleDelay =
1322+
configProvider.getFloat(API_SECURITY_SAMPLE_DELAY, DEFAULT_API_SECURITY_SAMPLE_DELAY);
13221323

13231324
iastDebugEnabled = configProvider.getBoolean(IAST_DEBUG_ENABLED, DEFAULT_IAST_DEBUG_ENABLED);
13241325

0 commit comments

Comments
 (0)