The Profiling Tool consists of the Profiling and Logging Perspective and a number of views. It enables you to profile your applications, to work with profiling resources, to interact with the applications you are profiling, and to examine your applications for performance and memory usage problems. The Profiling Tool collects data related to the Java program's run-time behavior and presents this data in both graphical and tabular views. All these facilities help you to visualize and understand your program execution as well as to explore patterns of program behavior.
The Profiling Tool also enables you to pinpoint the operations that take the most time, and helps you to easily identify repetitive execution behavior and to eliminate redundancy. In short, the Profiling Tool is broadly useful for performance analysis and for gaining a deeper understanding of your Java program.
Profiling enables you to test your application's performance early enough in the programming development cycle that there is sufficient time to make improvements and to test them.
The Java Profiling Agent is an agent instance that is deployed with the Agent Controller. In the deployment diagram below, the Agent (2) may be a Java Profiling Agent. The Application Process (1) is the Java Virtual Machine that executes the Java application. Note that the diagram below applies to the remote agent controller, not the integrated agent controller.
A Deployment hosts | |
1 | Application process |
2 | Agent |
3 | Data collection engine |
4 | Service |
B Development hosts | |
5 | WebSphere plug-ins |
6 | Test client |
7 | JDK |
Each application process being profiled may have a profiling agent running within it. Thus, the Profiling Tool makes it possible to interactively profile these applications from a single workbench.
Some features of the Profiling Tool are:
The visual information display for the Profiling Tool is organized at a package, class, and method level. As a result, the Profiling Tool is able to model and present your program's information in a way that is consistent with a Java programming hierarchy.
Pattern extraction takes a mass of execution information and reduces it to a fundamental form, giving you an overall view of the execution of a program, with the choice of viewing more detail about object and method calls. Pattern extraction greatly simplifies run-time analysis. The Profiling Tool has powerful pattern extraction capabilities. .
The tools give you the ability to concurrently monitor many processes on many machines, thereby profiling a distributed application. Using the Agent Controller, the Profiling Tool has the ability to launch applications on remote machines and to then interactively profile them. This is useful when trying to determine the performance characteristics of your applications when they are running on their deployment target platform.
Related concepts
Common Base Event model
Integrated Agent Controller
Profiling resources
The Symptom Database
Related tasks
Setting profiling preferences
Specifying profiling criteria
Profiling an application
Saving profiling resources
Importing profiling resources
Related references
Sequence diagram views
Memory Statistics view
Execution Statistics view
(C) Copyright IBM Corporation 2000, 2006. All Rights Reserved.