Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ public class ApiSecurityDownstreamSamplerImpl implements ApiSecurityDownstreamSa
private final double threshold;

public ApiSecurityDownstreamSamplerImpl() {
this(Config.get().getApiSecurityDownstreamRequestAnalysisSampleRate());
this(Config.get().getApiSecurityDownstreamRequestBodyAnalysisSampleRate());
}

public ApiSecurityDownstreamSamplerImpl(final double rate) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ abstract class AbstractAppSecServerSmokeTest extends AbstractServerSmokeTest {
// disable AppSec rate limit
"-Ddd.appsec.trace.rate.limit=-1",
// disable http client sampling
"-Ddd.api-security.downstream.request.analysis.sample_rate=1"
"-Ddd.api-security.downstream.request.body.analysis.sample_rate=1"
] + (System.getProperty('smoke_test.appsec.enabled') == 'inactive' ?
// enable remote config so that appsec is partially enabled (rc is now enabled by default)
[
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ public final class ConfigDefaults {
static final float DEFAULT_API_SECURITY_SAMPLE_DELAY = 30.0f;
static final boolean DEFAULT_API_SECURITY_ENDPOINT_COLLECTION_ENABLED = true;
static final int DEFAULT_API_SECURITY_ENDPOINT_COLLECTION_MESSAGE_LIMIT = 300;
static final double DEFAULT_API_SECURITY_DOWNSTREAM_REQUEST_ANALYSIS_SAMPLE_RATE = 0.5D;
static final double DEFAULT_API_SECURITY_DOWNSTREAM_REQUEST_BODY_ANALYSIS_SAMPLE_RATE = 0.5D;
static final int DEFAULT_API_SECURITY_MAX_DOWNSTREAM_REQUEST_BODY_ANALYSIS = 1;
static final boolean DEFAULT_APPSEC_RASP_ENABLED = true;
static final boolean DEFAULT_APPSEC_STACK_TRACE_ENABLED = true;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ public final class AppSecConfig {
"api-security.endpoint.collection.message.limit";
public static final String API_SECURITY_DOWNSTREAM_REQUEST_ANALYSIS_SAMPLE_RATE =
"api-security.downstream.request.analysis.sample_rate";
public static final String API_SECURITY_DOWNSTREAM_REQUEST_BODY_ANALYSIS_SAMPLE_RATE =
"api-security.downstream.request.body.analysis.sample_rate";
public static final String API_SECURITY_MAX_DOWNSTREAM_REQUEST_BODY_ANALYSIS =
"api-security.max.downstream.request.body.analysis";

Expand Down
17 changes: 9 additions & 8 deletions internal-api/src/main/java/datadog/trace/api/Config.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import static datadog.trace.api.ConfigDefaults.DEFAULT_AGENT_TIMEOUT;
import static datadog.trace.api.ConfigDefaults.DEFAULT_AGENT_WRITER_TYPE;
import static datadog.trace.api.ConfigDefaults.DEFAULT_ANALYTICS_SAMPLE_RATE;
import static datadog.trace.api.ConfigDefaults.DEFAULT_API_SECURITY_DOWNSTREAM_REQUEST_ANALYSIS_SAMPLE_RATE;
import static datadog.trace.api.ConfigDefaults.DEFAULT_API_SECURITY_DOWNSTREAM_REQUEST_BODY_ANALYSIS_SAMPLE_RATE;
import static datadog.trace.api.ConfigDefaults.DEFAULT_API_SECURITY_ENABLED;
import static datadog.trace.api.ConfigDefaults.DEFAULT_API_SECURITY_ENDPOINT_COLLECTION_ENABLED;
import static datadog.trace.api.ConfigDefaults.DEFAULT_API_SECURITY_ENDPOINT_COLLECTION_MESSAGE_LIMIT;
Expand Down Expand Up @@ -195,7 +195,7 @@
import static datadog.trace.api.config.AIGuardConfig.DEFAULT_AI_GUARD_MAX_CONTENT_SIZE;
import static datadog.trace.api.config.AIGuardConfig.DEFAULT_AI_GUARD_MAX_MESSAGES_LENGTH;
import static datadog.trace.api.config.AIGuardConfig.DEFAULT_AI_GUARD_TIMEOUT;
import static datadog.trace.api.config.AppSecConfig.API_SECURITY_DOWNSTREAM_REQUEST_ANALYSIS_SAMPLE_RATE;
import static datadog.trace.api.config.AppSecConfig.API_SECURITY_DOWNSTREAM_REQUEST_BODY_ANALYSIS_SAMPLE_RATE;
import static datadog.trace.api.config.AppSecConfig.API_SECURITY_ENABLED;
import static datadog.trace.api.config.AppSecConfig.API_SECURITY_ENABLED_EXPERIMENTAL;
import static datadog.trace.api.config.AppSecConfig.API_SECURITY_ENDPOINT_COLLECTION_ENABLED;
Expand Down Expand Up @@ -967,7 +967,7 @@ public static String getHostName() {
private final boolean apiSecurityEndpointCollectionEnabled;
private final int apiSecurityEndpointCollectionMessageLimit;
private final int apiSecurityMaxDownstreamRequestBodyAnalysis;
private final double apiSecurityDownstreamRequestAnalysisSampleRate;
private final double apiSecurityDownstreamRequestBodyAnalysisSampleRate;

private final IastDetectionMode iastDetectionMode;
private final int iastMaxConcurrentRequests;
Expand Down Expand Up @@ -2132,10 +2132,11 @@ PROFILING_DATADOG_PROFILER_ENABLED, isDatadogProfilerSafeInCurrentEnvironment())
configProvider.getInteger(
API_SECURITY_MAX_DOWNSTREAM_REQUEST_BODY_ANALYSIS,
DEFAULT_API_SECURITY_MAX_DOWNSTREAM_REQUEST_BODY_ANALYSIS);
apiSecurityDownstreamRequestAnalysisSampleRate =
apiSecurityDownstreamRequestBodyAnalysisSampleRate =
configProvider.getDouble(
API_SECURITY_DOWNSTREAM_REQUEST_ANALYSIS_SAMPLE_RATE,
DEFAULT_API_SECURITY_DOWNSTREAM_REQUEST_ANALYSIS_SAMPLE_RATE);
API_SECURITY_DOWNSTREAM_REQUEST_BODY_ANALYSIS_SAMPLE_RATE,
DEFAULT_API_SECURITY_DOWNSTREAM_REQUEST_BODY_ANALYSIS_SAMPLE_RATE,
API_SECURITY_DOWNSTREAM_REQUEST_BODY_ANALYSIS_SAMPLE_RATE);

iastDebugEnabled = configProvider.getBoolean(IAST_DEBUG_ENABLED, DEFAULT_IAST_DEBUG_ENABLED);

Expand Down Expand Up @@ -3647,8 +3648,8 @@ public int getApiSecurityMaxDownstreamRequestBodyAnalysis() {
return apiSecurityMaxDownstreamRequestBodyAnalysis;
}

public double getApiSecurityDownstreamRequestAnalysisSampleRate() {
return apiSecurityDownstreamRequestAnalysisSampleRate;
public double getApiSecurityDownstreamRequestBodyAnalysisSampleRate() {
return apiSecurityDownstreamRequestBodyAnalysisSampleRate;
}

public boolean isApiSecurityEndpointCollectionEnabled() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -248,6 +248,10 @@ public double getDouble(String key, double defaultValue) {
return get(key, defaultValue, Double.class);
}

public double getDouble(String key, double defaultValue, String... aliases) {
return get(key, defaultValue, Double.class, aliases);
}

private <T> T get(String key, T defaultValue, Class<T> type, String... aliases) {
if (collectConfig) {
reportDefault(key, defaultValue);
Expand Down