Profiling resources
The term, profiling resource, refers to the level of granularity used to open the profiling views. The levels of resource are found in the Profiling Monitor view. Selecting a resource enables you to open an aggregated view based on that resource. For example, a view opened from the host level enables you to see profile data from processes and agents that had been associated with the selected host. The available resources are listed below.
Projects and Folders
A Java project
contains source code and related files for building a Java program. A Java project also maintains a model of its contents. This model includes information about the type hierarchy, references and declarations of Java elements. A folder
(or directory) is a container that may contain any kind of file.
By default, these objects are hidden from view. You can make them visible by using the Preferences window (Window > Preferences > Profiling and Logging > Appearance) and unchecking the Folders check box.
Monitors
A monitor
is a logical container for the profiling information that is collected from a group of agents. The views at the monitor level show data from these agents. Monitors are useful for aggregating processes and agents from a distributed application.
Monitors are represented by monitor objects. By default, these objects are hidden from view. You can make them visible by using the Preferences window (Window > Preferences > Profiling and Logging > Appearance) and unchecking the Monitors check box.
Hosts
A host
is a machine, or a machine execution partition, on which an application under test resides. The host owns the processes that are profiled. A host runs processes. You can specify a host either by its name or by its IP address.
Different monitors may have hosts with the same name. Such hosts are unique for each monitor because the resources in the Profiling Monitor view are identified by their full path.
By default, these objects are hidden from view. You can make them visible by using the Preferences window (Window > Preferences > Profiling and Logging > Appearance) and unchecking the Hosts check box.
Processes
A process
is an executing program, consisting of program code and private data. The program code may be shared with other processes which are executing the same program. A process usually has other associated resources, such as files, shared memory, and signal handlers.
Processes are identified by the name of the process and the ID number. The name of the process takes two forms, depending on how the process was launched:
- If the process was launched from the workbench, the name of the process is the Java class. For example:
HelloWorld [PID:3048]- If the process is already running, and you attach to it, the process name is either java, if the process is a Java process, or it is the process image name. For example:
java [PID:168]
NewProcess.exe [PID:346]Once you start profiling a Java application, the process and the associated agents are displayed in the Profiling Monitor view.
Agents
In the Agent Controller deployment model, an agent is a reusable binary file that provides services to the host process and, more importantly, provides a portal by which application data can be forwarded to attached clients. Agents collect data about the execution of an application program. The views of the Profiling and Logging Perspective provide visualizations of the information that is collected by agents. The Java Profiling Agent is a profiling agent.
A process can have one or more agents running within it simultaneously. Even if the process does not contain an agent initially, some processing condition can result in the creation of an agent at some point during the life cycle of the process. Any of the tiers that comprise an application may contain agents.
You can start monitoring only those agents that are Paused or Detached. Since each agent can be attached by only one client at a time, an agent that is already monitoring cannot be used again. An agent that is terminated cannot be monitored.
The state of an agent is identified by the following symbols:
Paused
- The agent is started (it is running), but it is not monitoring (data collection is paused).
Monitoring
- The agent is running and monitored. Whenever the agent receives data from the application being monitored, the word, "...collecting" appears next to the agent's name.
Terminated
- The agent is no longer alive. In the case of the profiling agent, which maps to the lifetime of the process, the symbol indicates that the application has run to completion, and the agent has exited or completed its work.
Detached
- The process may be running but the current workbench client is not attached to the agent. Any other workbench can attach to this agent and start monitoring the application. If the process terminates while the agent is detached, the agent status will not be updated to terminated.
Profiling sets
A profiling set is a set of criteria that is used to narrow down the scope of the profiling data collected. The profiling sets allow you to collect specific information for analysis. The Profiling Tool provides three profiling sets:
Memory/Leak Analysis
- Captures heap dump and performs memory analysis.
Execution Time Analysis
- Captures code execution history.
Method Code Coverage
- Captures code coverage information.
Related concepts
Overview of the Profiling ToolRelated tasks
Profiling an applicationRelated references
Profiling console view