Skip to content

Commit f0a2f75

Browse files
committed
chore: Combine agent version check on version and client_drop_p0s
1 parent 110d9c9 commit f0a2f75

File tree

3 files changed

+5
-32
lines changed

3 files changed

+5
-32
lines changed

communication/src/main/java/datadog/communication/ddagent/DDAgentFeaturesDiscovery.java

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,6 @@ private static class State {
8686
String metricsEndpoint;
8787
String dataStreamsEndpoint;
8888
boolean supportsLongRunning;
89-
boolean supportsDropping;
9089
boolean supportsClientSideStats;
9190
String state;
9291
String configEndpoint;
@@ -166,7 +165,7 @@ private void doDiscovery(State newState) {
166165
errorQueryingEndpoint("info", error);
167166
}
168167
if (fallback) {
169-
newState.supportsDropping = false;
168+
newState.supportsClientSideStats = false;
170169
newState.supportsLongRunning = false;
171170
log.debug("Falling back to probing, client dropping will be disabled");
172171
// disable metrics unless the info endpoint is present, which prevents
@@ -185,10 +184,10 @@ private void doDiscovery(State newState) {
185184

186185
if (log.isDebugEnabled()) {
187186
log.debug(
188-
"discovered traceEndpoint={}, metricsEndpoint={}, supportsDropping={}, supportsLongRunning={}, dataStreamsEndpoint={}, configEndpoint={}, evpProxyEndpoint={}, telemetryProxyEndpoint={}",
187+
"discovered traceEndpoint={}, metricsEndpoint={}, supportsClientSideStats={}, supportsLongRunning={}, dataStreamsEndpoint={}, configEndpoint={}, evpProxyEndpoint={}, telemetryProxyEndpoint={}",
189188
newState.traceEndpoint,
190189
newState.metricsEndpoint,
191-
newState.supportsDropping,
190+
newState.supportsClientSideStats,
192191
newState.supportsLongRunning,
193192
newState.dataStreamsEndpoint,
194193
newState.configEndpoint,
@@ -310,7 +309,7 @@ private boolean processInfoResponse(State newState, String response) {
310309
newState.supportsClientSideStats =
311310
!AgentVersion.isVersionBelow(newState.version, 7, 65, 0);
312311
Object canDrop = map.get("client_drop_p0s");
313-
newState.supportsDropping =
312+
newState.supportsClientSideStats &=
314313
null != canDrop
315314
&& ("true".equalsIgnoreCase(String.valueOf(canDrop))
316315
|| Boolean.TRUE.equals(canDrop));
@@ -361,7 +360,6 @@ private static void discoverStatsDPort(final Map<String, Object> info) {
361360
public boolean supportsMetrics() {
362361
return metricsEnabled
363362
&& null != discoveryState.metricsEndpoint
364-
&& discoveryState.supportsDropping
365363
&& discoveryState.supportsClientSideStats;
366364
}
367365

@@ -381,10 +379,6 @@ public boolean supportsDebuggerDiagnostics() {
381379
return discoveryState.debuggerDiagnosticsEndpoint != null;
382380
}
383381

384-
public boolean supportsDropping() {
385-
return discoveryState.supportsDropping;
386-
}
387-
388382
public boolean supportsLongRunning() {
389383
return discoveryState.supportsLongRunning;
390384
}

communication/src/test/groovy/datadog/communication/ddagent/DDAgentFeaturesDiscoveryTest.groovy

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@ class DDAgentFeaturesDiscoveryTest extends DDSpecification {
6060
features.getMetricsEndpoint() == V6_METRICS_ENDPOINT
6161
!features.supportsMetrics()
6262
features.getTraceEndpoint() == "v0.5/traces"
63-
!features.supportsDropping()
6463
features.getDataStreamsEndpoint() == V01_DATASTREAMS_ENDPOINT
6564
features.supportsDataStreams()
6665
features.state() == INFO_STATE
@@ -118,7 +117,6 @@ class DDAgentFeaturesDiscoveryTest extends DDSpecification {
118117
features.getMetricsEndpoint() == V6_METRICS_ENDPOINT
119118
!features.supportsMetrics()
120119
features.getTraceEndpoint() == "v0.5/traces"
121-
!features.supportsDropping()
122120
features.getDataStreamsEndpoint() == V01_DATASTREAMS_ENDPOINT
123121
features.supportsDataStreams()
124122
features.state() == INFO_STATE
@@ -145,7 +143,6 @@ class DDAgentFeaturesDiscoveryTest extends DDSpecification {
145143
features.getMetricsEndpoint() == V6_METRICS_ENDPOINT
146144
features.supportsMetrics()
147145
features.getTraceEndpoint() == "v0.5/traces"
148-
features.supportsDropping()
149146
features.state() == INFO_WITH_CLIENT_DROPPING_STATE
150147
0 * _
151148
}
@@ -201,7 +198,6 @@ class DDAgentFeaturesDiscoveryTest extends DDSpecification {
201198
features.getMetricsEndpoint() == null
202199
!features.supportsMetrics()
203200
features.getTraceEndpoint() == "v0.5/traces"
204-
!features.supportsDropping()
205201
!features.supportsLongRunning()
206202
features.state() == PROBE_STATE
207203
0 * _
@@ -222,7 +218,6 @@ class DDAgentFeaturesDiscoveryTest extends DDSpecification {
222218
features.getMetricsEndpoint() == null
223219
!features.supportsMetrics()
224220
features.getTraceEndpoint() == "v0.5/traces"
225-
!features.supportsDropping()
226221
!features.supportsLongRunning()
227222
features.state() == PROBE_STATE
228223
0 * _
@@ -245,7 +240,6 @@ class DDAgentFeaturesDiscoveryTest extends DDSpecification {
245240
features.getMetricsEndpoint() == null
246241
!features.supportsMetrics()
247242
features.getTraceEndpoint() == "v0.4/traces"
248-
!features.supportsDropping()
249243
features.state() == PROBE_STATE
250244
0 * _
251245
}
@@ -267,7 +261,6 @@ class DDAgentFeaturesDiscoveryTest extends DDSpecification {
267261
features.getMetricsEndpoint() == null
268262
!features.supportsMetrics()
269263
features.getTraceEndpoint() == "v0.4/traces"
270-
!features.supportsDropping()
271264
features.state() == PROBE_STATE
272265
0 * _
273266
}
@@ -290,7 +283,6 @@ class DDAgentFeaturesDiscoveryTest extends DDSpecification {
290283
!features.supportsMetrics()
291284
features.getTraceEndpoint() == "v0.3/traces"
292285
!features.supportsLongRunning()
293-
!features.supportsDropping()
294286
features.state() == PROBE_STATE
295287
0 * _
296288
}
@@ -308,7 +300,6 @@ class DDAgentFeaturesDiscoveryTest extends DDSpecification {
308300
1 * client.newCall({ Request request -> request.url().toString() == "http://localhost:8125/v0.5/traces" }) >> { Request request -> success(request) }
309301
0 * client.newCall({ Request request -> request.url().toString() == "http://localhost:8125/v0.6/stats" })
310302
!features.supportsMetrics()
311-
!features.supportsDropping()
312303
!(features as DroppingPolicy).active()
313304
features.state() == PROBE_STATE
314305

@@ -318,7 +309,6 @@ class DDAgentFeaturesDiscoveryTest extends DDSpecification {
318309
then: "metrics and dropping not supported"
319310
1 * client.newCall({ Request request -> request.url().toString() == "http://localhost:8125/info" }) >> { Request request -> infoResponse(request, INFO_WITH_CLIENT_DROPPING_RESPONSE) }
320311
!features.supportsMetrics()
321-
!features.supportsDropping()
322312
!(features as DroppingPolicy).active()
323313
features.state() == INFO_WITH_CLIENT_DROPPING_STATE
324314

@@ -328,7 +318,6 @@ class DDAgentFeaturesDiscoveryTest extends DDSpecification {
328318
then: "metrics and dropping not supported"
329319
1 * client.newCall({ Request request -> request.url().toString() == "http://localhost:8125/info" }) >> { Request request -> infoResponse(request, INFO_RESPONSE) }
330320
!features.supportsMetrics()
331-
!features.supportsDropping()
332321
!(features as DroppingPolicy).active()
333322
features.state() == INFO_STATE
334323
0 * _
@@ -346,7 +335,6 @@ class DDAgentFeaturesDiscoveryTest extends DDSpecification {
346335
1 * client.newCall({ Request request -> request.url().toString() == "http://localhost:8125/info" }) >> { Request request -> notFound(request) }
347336
1 * client.newCall({ Request request -> request.url().toString() == "http://localhost:8125/v0.4/traces" }) >> { Request request -> success(request) }
348337
0 * client.newCall({ Request request -> request.url().toString() == "http://localhost:8125/v0.6/stats" })
349-
!features.supportsDropping()
350338
!features.supportsMetrics()
351339
!(features as DroppingPolicy).active()
352340
features.state() == PROBE_STATE
@@ -357,7 +345,6 @@ class DDAgentFeaturesDiscoveryTest extends DDSpecification {
357345
then: "metrics endpoint not probed, metrics and dropping enabled"
358346
1 * client.newCall({ Request request -> request.url().toString() == "http://localhost:8125/info" }) >> { Request request -> infoResponse(request, INFO_WITH_CLIENT_DROPPING_RESPONSE) }
359347
0 * client.newCall({ Request request -> request.url().toString() == "http://localhost:8125/v0.4/traces" }) >> { Request request -> success(request) }
360-
features.supportsDropping()
361348
features.supportsMetrics()
362349
(features as DroppingPolicy).active()
363350
features.state() == INFO_WITH_CLIENT_DROPPING_STATE
@@ -376,7 +363,6 @@ class DDAgentFeaturesDiscoveryTest extends DDSpecification {
376363
1 * client.newCall({ Request request -> request.url().toString() == "http://localhost:8125/info" }) >> { Request request -> infoResponse(request, INFO_WITH_CLIENT_DROPPING_RESPONSE) }
377364
0 * client.newCall({ Request request -> request.url().toString() == "http://localhost:8125/v0.4/traces" }) >> { Request request -> success(request) }
378365
0 * client.newCall(_)
379-
features.supportsDropping()
380366
features.supportsMetrics()
381367
(features as DroppingPolicy).active()
382368
features.state() == INFO_WITH_CLIENT_DROPPING_STATE
@@ -388,7 +374,6 @@ class DDAgentFeaturesDiscoveryTest extends DDSpecification {
388374
1 * client.newCall({ Request request -> request.url().toString() == "http://localhost:8125/info" }) >> { Request request -> notFound(request) }
389375
1 * client.newCall({ Request request -> request.url().toString() == "http://localhost:8125/v0.4/traces" }) >> { Request request -> success(request) }
390376
0 * client.newCall(_)
391-
!features.supportsDropping()
392377
!features.supportsMetrics()
393378
!(features as DroppingPolicy).active()
394379
features.state() == PROBE_STATE
@@ -407,7 +392,6 @@ class DDAgentFeaturesDiscoveryTest extends DDSpecification {
407392
1 * client.newCall({ Request request -> request.url().toString() == "http://localhost:8125/info" }) >> { Request request -> infoResponse(request, INFO_WITH_CLIENT_DROPPING_RESPONSE) }
408393
0 * client.newCall({ Request request -> request.url().toString() == "http://localhost:8125/v0.4/traces" }) >> { Request request -> success(request) }
409394
0 * client.newCall(_)
410-
features.supportsDropping()
411395
features.supportsMetrics()
412396
(features as DroppingPolicy).active()
413397
features.state() == INFO_WITH_CLIENT_DROPPING_STATE
@@ -418,8 +402,6 @@ class DDAgentFeaturesDiscoveryTest extends DDSpecification {
418402
then: "metrics and dropping not supported"
419403
1 * client.newCall({ Request request -> request.url().toString() == "http://localhost:8125/info" }) >> { Request request -> infoResponse(request, INFO_WITHOUT_METRICS_RESPONSE) }
420404
0 * client.newCall(_)
421-
// misconfigured agent allows dropping but not metrics
422-
features.supportsDropping()
423405
!features.supportsMetrics()
424406
// but we don't permit dropping anyway
425407
!(features as DroppingPolicy).active()
@@ -481,7 +463,6 @@ class DDAgentFeaturesDiscoveryTest extends DDSpecification {
481463
then:
482464
1 * client.newCall(_) >> { Request request -> infoResponse(request, INFO_WITH_PEER_TAG_BACK_PROPAGATION_RESPONSE) }
483465
features.state() == INFO_WITH_PEER_TAG_BACK_PROPAGATION_STATE
484-
features.supportsDropping()
485466
features.peerTags().containsAll(
486467
"_dd.base_service",
487468
"active_record.db.vendor",
@@ -519,7 +500,6 @@ class DDAgentFeaturesDiscoveryTest extends DDSpecification {
519500
infoResponse(request, response)
520501
}
521502
features.getMetricsEndpoint() == V6_METRICS_ENDPOINT
522-
features.supportsDropping() == true
523503
features.supportsMetrics() == expected
524504

525505
where:

dd-trace-core/src/main/java/datadog/trace/common/metrics/ConflatingMetricsAggregator.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -289,8 +289,7 @@ public boolean publish(List<? extends CoreSpan<?>> trace) {
289289
forceKeep |= publish(span, isTopLevel, spanKind);
290290
}
291291
}
292-
healthMetrics.onClientStatTraceComputed(
293-
counted, trace.size(), features.supportsDropping() && !forceKeep);
292+
healthMetrics.onClientStatTraceComputed(counted, trace.size(), !forceKeep);
294293
}
295294
return forceKeep;
296295
}

0 commit comments

Comments
 (0)