The ExperimentalInstrumentationModule.getModuleGroup() method was introduced to deal with instrumentation that requires access to shared classes: some instrumentation modules rely on a common library used by multiple instrumentation modules.
The current getModuleGroup method allows to use a string key that will make the instrumentation modules using the same key to be loaded in the same classloader, hence providing the access to the shared classes.
Ideally, when using indy:
- we should load every instrumentation module in its own isolated classoader
- we should provide the same class visibility semantics as the compile-time classpath of the instrumentation module, without having to explicitly ask for it (the current solution requires multiple modules to share the same key and finding dependencies is trial and error).
The
ExperimentalInstrumentationModule.getModuleGroup()method was introduced to deal with instrumentation that requires access to shared classes: some instrumentation modules rely on a common library used by multiple instrumentation modules.The current
getModuleGroupmethod allows to use a string key that will make the instrumentation modules using the same key to be loaded in the same classloader, hence providing the access to the shared classes.Ideally, when using indy: