ZS-Oliver commented on a change in pull request #5989:
URL: https://github.com/apache/skywalking/pull/5989#discussion_r543167126



##########
File path: 
apm-sniffer/apm-sdk-plugin/thrift-plugin/src/main/java/org/apache/skywalking/apm/plugin/thrift/wrapper/ServerInProtocolWrapper.java
##########
@@ -45,6 +45,7 @@
     private static final ILog LOGGER = 
LogManager.getLogger(ServerInProtocolWrapper.class);
     private static final StringTag TAG_ARGS = new StringTag("args");
     private AbstractContext context;
+    private static ThreadLocal<Boolean> HAVE_CREATED = 
ThreadLocal.withInitial(() -> Boolean.FALSE);

Review comment:
       It seems like the life cycle of a TraceContext is exactly one trace. 
Thinking of such a circumstance that we have A, B, C three services and they 
are inter-communicated through RPC like A->B->C, with both A and C mounted the 
Agent while B not. Then, in the above situation, C will start a new trace since 
the trace from A is stopped at B. Hence, C could not obsever A with the use of 
TraceContext.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to