@Override
        public byte[] doInTransform(Instrumentor instrumentor, ClassLoader classLoader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws InstrumentException {
            InstrumentClass target = instrumentor.getInstrumentClass(classLoader, className, classfileBuffer);
            // 1.5.12+
            InstrumentMethod constructor = target.getConstructor(
                    // Enclosing instance
                    "com.netflix.hystrix.AbstractCommand$HystrixObservableTimeoutOperator",
                    // References to enclosing method's final objects
                    "rx.subscriptions.CompositeSubscription", "com.netflix.hystrix.strategy.concurrency.HystrixRequestContext", "rx.Subscriber");
            if (constructor == null) {
                // pre 1.5.12
                constructor = target.getConstructor(
                        // Enclosing instance
                        "com.netflix.hystrix.AbstractCommand$HystrixObservableTimeoutOperator",
                        // References to enclosing method's final objects
                        "rx.subscriptions.CompositeSubscription", "com.netflix.hystrix.strategy.concurrency.HystrixContextRunnable");
            }
            InstrumentMethod tick = target.getDeclaredMethod("tick");
            if (constructor == null || tick == null) {
                return null;
            }
            target.addField(EnclosingInstanceAccessor.class);
            constructor.addInterceptor(HystrixObservableTimeoutListenerConstructorInterceptor.class);
            tick.addInterceptor(HystrixObservableTimeoutListenerTickInterceptor.class);
            return target.toBytecode();
        }
Any Pinpoint profiler plugin must implement ProfilerPlugin interface.
ProfilerPlugin declares only one method {@link #setup(ProfilerPluginSetupContext)}.
You should implement the method to do whatever you need to setup your plugin with the passed ProfilerPluginSetupContext object.

@author Jiaqi Feng
@author HyunGil Jeong
agent-module/plugins/hystrix/src/main/java/com/navercorp/pinpoint/plugin/hystrix/HystrixPlugin.java