diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/TraceSegmentRef.java b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/TraceSegmentRef.java index 672d7b35f14dfe28cbc4b675c9ecc5211dbe78a3..efe1de2de241879880df4c7225e24dacbb89716e 100644 --- a/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/TraceSegmentRef.java +++ b/apm-sniffer/apm-agent-core/src/main/java/org/skywalking/apm/agent/core/context/trace/TraceSegmentRef.java @@ -83,17 +83,17 @@ public class TraceSegmentRef { } else { refBuilder.setNetworkAddressId(peerId); } - if (operationId == DictionaryUtil.nullValue()) { - refBuilder.setEntryServiceName(operationName); - } else { - refBuilder.setEntryServiceId(operationId); - } } else { refBuilder.setRefType(RefType.CrossThread); } + refBuilder.setParentTraceSegmentId(traceSegmentId); refBuilder.setParentSpanId(spanId); - + if (operationId == DictionaryUtil.nullValue()) { + refBuilder.setEntryServiceName(operationName); + } else { + refBuilder.setEntryServiceId(operationId); + } return refBuilder.build(); }