This page provides room for information about the agent, that is important or could be useful for this project.
The information on this can provide a short overview, but is not intended as user documentation about InspectIT.
Agent Component
Framework
The agent uses the PICO Container to handle class instantiation. The container is following the principle of Dependency Injection and Inversion of Control.
...
Each agent has a configuration that provides IP-address and port, via which he can communicate with the CMR and send data to.
Also the sensors that have to be used and the classes that have to be instrumented are configured in the configuration file.
Also a buffer strategy has to be set, so that the agent knows, what to do when it's not possible to send the data at the moment.
Its important to keep in mind, that a high aggregation of the collected data has an negative impact on the CPU consumption of the target application, bus puts less stress on the network.
JVM Environment
Class Loading
The classes are loaded at that moment, when there are needed for the first time. Not earlier.
Static classes an and that containing static methods are instantiated on application startup and are not effected by this rule.
When a class is needed, the class loader loads the class and then it's linked:
...
After that the classes are initialized (static and as needed) and are executed.
When all non-daemon threads are done, the application terminates.
Instrumentation
Classes are instrumented by using the Java Agent interface. Only static instrumentation is used by InspectIT( with the preMain() method).
...