Skip to content

Commit 97e8bef

Browse files
committed
updating PR comments
1 parent 0af61a0 commit 97e8bef

File tree

2 files changed

+14
-5
lines changed

2 files changed

+14
-5
lines changed

dd-trace-core/src/main/java/datadog/trace/core/CoreTracer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,7 @@ public EndpointTracker onRootSpanStarted(AgentSpan root) {
276276
if (!root.isOutbound()) {
277277
return profilingContextIntegration.onRootSpanStarted(root);
278278
}
279-
TracerDump.addActiveSpan(root);
279+
TracerDump.addUnfinishedRootSpan(root);
280280
return null;
281281
}
282282

dd-trace-core/src/main/java/datadog/trace/core/util/TracerDump.java

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@
66
import datadog.trace.core.PendingTrace;
77
import java.io.IOException;
88
import java.lang.ref.WeakReference;
9+
import java.util.HashMap;
910
import java.util.HashSet;
11+
import java.util.Map;
1012
import java.util.Set;
1113
import java.util.zip.ZipOutputStream;
1214

@@ -19,31 +21,38 @@ public static void register() {
1921
}
2022

2123
private static final Set<WeakReference<DDSpan>> rootSpans = new HashSet<>();
24+
private static final Map<String, WeakReference<DDSpan>> idToWeakRef = new HashMap<>();
2225

23-
public static void addActiveSpan(final AgentSpan rootSpan) {
26+
public static void addUnfinishedRootSpan(final AgentSpan rootSpan) {
2427
DDSpan rootDDSpan = (DDSpan) rootSpan;
2528
WeakReference<DDSpan> weakRootSpan = new WeakReference<>(rootDDSpan);
29+
idToWeakRef.put(getSpanIdString(rootSpan), weakRootSpan);
2630
rootSpans.add(weakRootSpan);
2731
}
2832

2933
public static void suspendRootSpan(final AgentSpan rootSpan) {
30-
DDSpan rootDDSpan = (DDSpan) rootSpan;
31-
WeakReference<DDSpan> weakRootSpan = new WeakReference<>(rootDDSpan);
34+
WeakReference<DDSpan> weakRootSpan = idToWeakRef.get(getSpanIdString(rootSpan));
3235
rootSpans.remove(weakRootSpan);
3336
}
3437

3538
@Override
3639
public void addReportToFlare(ZipOutputStream zip) throws IOException {
40+
StringBuilder dumpText = new StringBuilder();
3741
for (WeakReference<DDSpan> weakRootSpan : rootSpans) {
3842
DDSpan rootSpan = weakRootSpan.get();
3943
if (rootSpan != null) {
4044
PendingTrace trace = (PendingTrace) rootSpan.context().getTraceCollector();
4145
if (trace != null) {
4246
for (DDSpan span : trace.getSpans()) {
43-
TracerFlare.addText(zip, "trace_dump.txt", span.toString());
47+
dumpText.append(span.toString()).append("\n");
4448
}
4549
}
4650
}
4751
}
52+
TracerFlare.addText(zip, "trace_dump.txt", dumpText.toString());
53+
}
54+
55+
private static String getSpanIdString(final AgentSpan rootSpan) {
56+
return String.valueOf(rootSpan.getSpanId());
4857
}
4958
}

0 commit comments

Comments
 (0)