True, we can't instrument the class the agent core is using already.
This is a logic conflict. If we allow the instrumentation activated before
the configuration initialization and core service booting, you have a
chance to face runtime NPE or race condition.
The core developer and plugin developer would expect the booting sequence
will be unexpected random, and determined by the monitored app codes.

Sheng Wu 吴晟
Twitter, wusheng1108


Li BingLong(智能平台) <[email protected]> 于2021年1月4日周一 下午3:04写道:

> We can not carry the tracing context if we do not change the parameter.
> We must change the Runnable parameter of
> java.util.concurrent.Executor#execute to RunnableWrapper.
> But please note than it is different from that We use the RunnableWrapper
> in the user code.
> People do not need to change their code.
>
> Also, The FileWriter have used ThreadPoolExecutor.
> If we want to enhance the ThreadPoolExecutor,make sure
> org.apache.skywalking.apm.agent.core.conf.SnifferConfigInitializer#IS_INIT_COMPLETED
> is false.
>
>
>
>
> 在 2021/1/4 下午2:44,“Sheng Wu”<[email protected]> 写入:
>
>     About ThreadPoolExecutor, yes, you can instrument it. But as no change
> made
>     on the parameter, where do you expect to carry the tracing
>     context(Snapshot)?
>
>     Sheng Wu 吴晟
>     Twitter, wusheng1108
>
>
>
>
>
>

Reply via email to