Package io.opentelemetry.javaagent.tooling.instrumentation.indy
package io.opentelemetry.javaagent.tooling.instrumentation.indy
-
ClassDescriptionThis factory is designed to wrap around
Advice.PostProcessor.Factoryand ensures thatAssigner.Typing.DYNAMICis used everywhere.ReplacesINVOKEDYNAMICinstructions used for invoking advice withINVOKESTATICinstructions in a helper class that contains the originalINVOKEDYNAMICinstruction in classes that do not supportINVOKEDYNAMIC(i.e. pre Java 7 class files).We instruct Byte Buddy (viaAdvice.WithCustomMapping.bootstrap(java.lang.reflect.Method)) to dispatch non-inlined advices via an invokedynamic (indy) instruction.Factory for generating proxies which invoke their target viaINVOKEDYNAMIC.Class loader used to load the helper classes fromInstrumentationModules, so that those classes have access to both the agent/extension classes and the instrumented application classes.This class is injected into everyInstrumentationModuleClassLoaderso that the bootstrap can use aMethodHandles.Lookupwith a lookup class from within theInstrumentationModuleClassLoader, instead of callingMethodHandles.lookup()which uses the caller class as the lookup class.