15.2.2 Profiling architecture
The profiling architecture that exists in IBM Rational Application Developer V6 has originated from the data collection engine feature provided by the open source Eclipse Hyades project found at:
http://www.eclipse.org/hyadesHyades provides the IBM Rational Agent Controller daemon a process for enabling client applications to launch host processes and interact with agents that exist within host processes. Figure 15-1 depicts the profiling architecture.
Figure 15-1 Profiling architecture of IBM Rational Application Developer V6
The definitions of the profiling architecture are as follows:
- Application process The process that is executing the application consisting of the Java Virtual Machine (JVM) and the profiling agent.
- Agent The profiling component installed with the application that provides services to the host process, and more importantly, provides a portal by which application data can be forwarded to attached clients.
- Test client A local or remote application that is the destination of host process data that is externalized by an agent. A single client can be attached to many agents at once but does not always have to be attached to an agent.
- IBM Rational Agent Controller A daemon process that resides on each deployment host providing the mechanism by which client applications can either launch new host processes, or attach to agents coexisting within existing host processes.The Agent Controller can only interact with host processes on the same node.
- Deployment hosts The host that an application has been deployed to and is being monitored by a profiling agent.
- Development hosts The host that runs an Eclipse compatible architecture such as IBM Rational Application Developer V6 to receive profiling information and data for analysis.
Each application process shown in Figure 15-1, represents a JVM that is executing a Java application that is being profiled. A profiler agent is attached to each application to collect the appropriate runtime data for a particular type of profiling analysis. This profiling agent is based on the Java Virtual Machine Profiler Interface (JVMPI) architecture. More details on the JVMPI specification can be found at:
http://java.sun.com/j2se/1.4.2/docs/guide/jvmpiThe data collected by the agent is then sent to the agent controller, which then forwards this information to IBM Rational Application Developer V6 for analysis and visualization.
There are two types of profiling agents available in IBM Rational Application Developer V6:
Java Profiling Agent
J2EE Request Profiling Agent See IBM Rational Agent Controller below for more information about these agents.