Interface ExperimentalInstrumentationModule


public interface ExperimentalInstrumentationModule
This class is internal and is hence not for public use. Its APIs are unstable and can change at any time.
  • Method Summary

    Modifier and Type
    Method
    Description
    default String
    By default every InstrumentationModule is loaded by an isolated classloader, even if multiple modules instrument the same application classloader.
    default void
    Only functional for Modules where InstrumentationModule.isIndyModule() returns true.
    default List<String>
    Returns a list of helper classes that will be defined in the class loader of the instrumented library.
  • Method Details

    • injectClasses

      default void injectClasses(ClassInjector injector)
      Only functional for Modules where InstrumentationModule.isIndyModule() returns true.

      Normally, helper and advice classes are loaded in a child classloader of the instrumented classloader. This method allows to inject classes directly into the instrumented classloader instead.

      Parameters:
      injector - the builder for injecting classes
    • injectedClassNames

      default List<String> injectedClassNames()
      Returns a list of helper classes that will be defined in the class loader of the instrumented library.
    • getModuleGroup

      default String getModuleGroup()
      By default every InstrumentationModule is loaded by an isolated classloader, even if multiple modules instrument the same application classloader.

      Sometimes this is not desired, e.g. when instrumenting modular libraries such as the AWS SDK. In such cases the InstrumentationModules which want to share a classloader can return the same group name from this method.