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.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.Patches the class file version to 51 (Java 7) in order to support injectingINVOKEDYNAMICinstructions viaAdvice.WithCustomMapping.bootstrap(java.lang.reflect.Constructor<?>)which is important for indy plugins.