@Override
        public byte[] doInTransform(Instrumentor instrumentor, ClassLoader classLoader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
            final InstrumentClass target = instrumentor.getInstrumentClass(classLoader, className, protectionDomain, classfileBuffer);
            List<InstrumentMethod> allConstructor = target.getDeclaredConstructors();
            for (InstrumentMethod instrumentMethod : allConstructor) {
                instrumentMethod.addScopedInterceptor(ThreadConstructorInterceptor.class, ThreadConstants.SCOPE_NAME);
            }
            target.addField(AsyncContextAccessor.class);
            final InstrumentMethod callMethod = target.getDeclaredMethod("run");
            if (callMethod != null) {
                callMethod.addInterceptor(ThreadCallInterceptor.class);
            }
            return target.toBytecode();
        }
@author echo
<p>
this plugin for record async thread trace
agent-module/plugins/thread/src/main/java/com/navercorp/pinpoint/plugin/thread/ThreadPlugin.java