Skip to content

Commit dac1cf6

Browse files
Make better use of config options
1 parent 382342c commit dac1cf6

File tree

3 files changed

+31
-23
lines changed

3 files changed

+31
-23
lines changed

dd-java-agent/instrumentation/spring-webmvc-3.1/src/main/java/datadog/trace/instrumentation/springweb/AppSecDispatcherServletInstrumentation.java

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -57,22 +57,25 @@ public void methodAdvice(MethodTransformer transformer) {
5757
AppSecDispatcherServletInstrumentation.class.getName() + "$AppSecHandlerMappingAdvice");
5858
}
5959

60+
@Override
61+
public boolean isEnabled() {
62+
return super.isEnabled() && Config.get().isApiSecurityEndpointCollectionEnabled();
63+
}
64+
6065
public static class AppSecHandlerMappingAdvice {
6166

6267
@Advice.OnMethodExit(suppress = Throwable.class)
6368
public static void afterRefresh(@Advice.Argument(0) final ApplicationContext springCtx) {
64-
if (Config.get().isApiSecurityEndpointCollectionEnabled()) {
65-
final RequestMappingHandlerMapping handler =
66-
springCtx.getBean(RequestMappingHandlerMapping.class);
67-
if (handler == null) {
68-
return;
69-
}
70-
final Map<RequestMappingInfo, HandlerMethod> mappings = handler.getHandlerMethods();
71-
if (mappings == null || mappings.isEmpty()) {
72-
return;
73-
}
74-
EndpointCollector.get().supplier(new RequestMappingInfoIterator(mappings));
69+
final RequestMappingHandlerMapping handler =
70+
springCtx.getBean(RequestMappingHandlerMapping.class);
71+
if (handler == null) {
72+
return;
73+
}
74+
final Map<RequestMappingInfo, HandlerMethod> mappings = handler.getHandlerMethods();
75+
if (mappings == null || mappings.isEmpty()) {
76+
return;
7577
}
78+
EndpointCollector.get().supplier(new RequestMappingInfoIterator(mappings));
7679
}
7780
}
7881
}

dd-java-agent/instrumentation/spring-webmvc-5.3/src/main/java/datadog/trace/instrumentation/springweb/AppSecDispatcherServletWithPathPatternsInstrumentation.java

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -57,22 +57,25 @@ public void methodAdvice(MethodTransformer transformer) {
5757
+ "$AppSecHandlerMappingAdvice");
5858
}
5959

60+
@Override
61+
public boolean isEnabled() {
62+
return super.isEnabled() && Config.get().isApiSecurityEndpointCollectionEnabled();
63+
}
64+
6065
public static class AppSecHandlerMappingAdvice {
6166

6267
@Advice.OnMethodExit(suppress = Throwable.class)
6368
public static void afterRefresh(@Advice.Argument(0) final ApplicationContext springCtx) {
64-
if (Config.get().isApiSecurityEndpointCollectionEnabled()) {
65-
final RequestMappingHandlerMapping handler =
66-
springCtx.getBean(RequestMappingHandlerMapping.class);
67-
if (handler == null) {
68-
return;
69-
}
70-
final Map<RequestMappingInfo, HandlerMethod> mappings = handler.getHandlerMethods();
71-
if (mappings == null || mappings.isEmpty()) {
72-
return;
73-
}
74-
EndpointCollector.get().supplier(new RequestMappingInfoWithPathPatternsIterator(mappings));
69+
final RequestMappingHandlerMapping handler =
70+
springCtx.getBean(RequestMappingHandlerMapping.class);
71+
if (handler == null) {
72+
return;
73+
}
74+
final Map<RequestMappingInfo, HandlerMethod> mappings = handler.getHandlerMethods();
75+
if (mappings == null || mappings.isEmpty()) {
76+
return;
7577
}
78+
EndpointCollector.get().supplier(new RequestMappingInfoWithPathPatternsIterator(mappings));
7679
}
7780
}
7881
}

telemetry/src/main/java/datadog/telemetry/TelemetryRequest.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,8 +235,10 @@ public void writeEndpoints() {
235235
log.debug("Writing endpoints");
236236
requestBody.beginEndpoints();
237237
boolean first = false;
238-
while (eventSource.hasEndpoint()) {
238+
int remaining = Config.get().getApiSecurityEndpointCollectionMessageLimit();
239+
while (eventSource.hasEndpoint() && remaining > 0) {
239240
final Endpoint event = eventSource.nextEndpoint();
241+
remaining--;
240242
if (event.isFirst()) {
241243
first = true;
242244
}

0 commit comments

Comments
 (0)