diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/context/TracingContext.java b/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/context/TracingContext.java index 19538ee4d..d73998a4a 100644 --- a/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/context/TracingContext.java +++ b/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/context/TracingContext.java @@ -353,6 +353,11 @@ public class TracingContext implements AbstractTracerContext { final AbstractSpan parentSpan = peek(); final int parentSpanId = parentSpan == null ? -1 : parentSpan.getSpanId(); if (parentSpan != null && parentSpan.isEntry()) { + /** + * Only add the profiling recheck on creating entry span, + * as the operation name could be overrided. + */ + profilingRecheck(parentSpan, operationName); entrySpan = (AbstractTracingSpan) DictionaryManager.findEndpointSection() .findOnly(segment.getServiceId(), operationName) .doInCondition( diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/context/trace/AbstractTracingSpan.java b/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/context/trace/AbstractTracingSpan.java index d3f2591d6..fb170abd0 100644 --- a/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/context/trace/AbstractTracingSpan.java +++ b/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/context/trace/AbstractTracingSpan.java @@ -212,9 +212,6 @@ public abstract class AbstractTracingSpan implements AbstractSpan { public AbstractTracingSpan setOperationName(String operationName) { this.operationName = operationName; this.operationId = DictionaryUtil.nullValue(); - - // recheck profiling status - owner.profilingRecheck(this, operationName); return this; }