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 19538ee4d3c7569e20405c98247c1b30f0eef2ba..d73998a4a8f96164f80c7b68aceb802acc02f928 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 d3f2591d63086e0d5f8c2dfc3d77b85eb408c9e9..fb170abd0914b5ec38e1a4e6fde69b80c9898c83 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; }