...
To find a way, to modify this classes, the moment has to be identified and moved, when the Pico container is initializing the classes. To be able to work on the RMI classes the execution of the Ignore Pattern, that the agent uses to filter classes that shouldn't be instrumented, is moved before the Pico container PicoContainer starts initialization.
To instrument the RMI classes an additional agent (Tracing agent) is implemented, that runs and modifies the classes, before the actual InspectIT agent starts.
...
The Tracing Agent also runs an ignore check.
All already collected invocation data will could be added and send with the RMI. This could lead to high memory and network consumption, because the collected data can get really big.
...
The invocation hook uses the iCoreService interface and simulates an storage service to get the data from other sensors. Like in the container approach(sequense sequence sensor).
For thread pools:
...
The run() method is instrumented and the ThreadLokal ThreadLocal is set with RunnableReflection on the current runnable.