File tree Expand file tree Collapse file tree 1 file changed +11
-5
lines changed
dd-trace-core/src/main/java/datadog/trace/core Expand file tree Collapse file tree 1 file changed +11
-5
lines changed Original file line number Diff line number Diff line change 1111import datadog .trace .core .monitor .HealthMetrics ;
1212import java .io .IOException ;
1313import java .util .ArrayList ;
14+ import java .util .Comparator ;
1415import java .util .List ;
1516import java .util .concurrent .TimeUnit ;
1617import java .util .concurrent .atomic .AtomicInteger ;
@@ -306,6 +307,8 @@ public DelayingPendingTraceBuffer(
306307 static class TracerDump implements TracerFlare .Reporter {
307308
308309 private final DelayingPendingTraceBuffer buffer ;
310+ private final Comparator <Element > TRACE_BY_START_TIME =
311+ Comparator .comparingLong (trace -> trace .getRootSpan ().getStartTime ());
309312
310313 public TracerDump (DelayingPendingTraceBuffer buffer ) {
311314 this .buffer = buffer ;
@@ -332,11 +335,14 @@ private String getDumpText() {
332335 }
333336 }
334337
335- DumpDrain .data .sort (
336- (span1 , span2 ) ->
337- Long .compare (
338- span1 .getRootSpan ().getStartTime (),
339- span2 .getRootSpan ().getStartTime ())); // Sort by oldest trace first
338+ DumpDrain .data .removeIf (
339+ (trace ) ->
340+ !(trace
341+ instanceof
342+ PendingTrace )); // Removing elements from the drain that are not instances of
343+ // PendingTrace
344+
345+ DumpDrain .data .sort ((TRACE_BY_START_TIME ).reversed ()); // Storing oldest traces first
340346
341347 StringBuilder dumpText = new StringBuilder ();
342348 for (Element e : DumpDrain .data ) {
You can’t perform that action at this time.
0 commit comments