You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by GitBox <gi...@apache.org> on 2020/12/15 09:07:54 UTC

[GitHub] [skywalking] ZS-Oliver commented on a change in pull request #5989: Fix thrift trace broken and wrong arg collected.

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:
users@infra.apache.org