- Running the profiler
- Profiler activation
- Running applications with the profiler
- Local profiling
- Remote profiling
- Remote profiling from user interface
- Console Java EE server integration wizard
- Console attach wizard
- Startup options
- Attaching profiler agent to a running JVM
- Profiling overhead: how to reduce or avoid
- Enabling profiling manually
- About JVMTI
- Connect to profiled application
- Troubleshoot connection problems
- Solving performance problems
- CPU profiling
- Deadlock detector
- Memory profiling
- Garbage collection
- Monitor profiling
- Exception profiling
- Probes: monitor events of various kinds
- Performance Charts
- Inspections: automatic recognition of typical problems
- Automatically trigger actions on event
- Summary, snapshot annotation, automatic deobfuscation
- IDE integration
- Time measurement (CPU time, wall time)
- Snapshot directory customization
- Export of profiling results to HTML, CSV, XML, plain text
- Profiler API
- Command line tool to control profiling
- FAQ: How to profile in my scenario?
Remote profiling from user interface
To profile Java applications running on the remote machine use Profile remote Java EE server or application... action on Welcome screen or in "Tools" menu.
Specify the host name or IP address of the remote machine in the opened "Profile Remote Application" dialog.
Application discovery method
There are two methods for detecting applications running on the remote machine:
Simple method. Profiler discovers applications running with the profiler agent. Ports in the given range will be scanned. By default the profiler agent port is allocated in the range 10001-10010. If the profiler port was changed with startup option 'port', also change the Profiler agent port(s) field accordingly.
Advanced method. Profiler creates SSH connection to the remote machine. It will detect all running Java applications. Applications running without the profiler agent will be detected as well. You will be able to attach to them. Specify SSH user and SSH port in the corresponding fields. Authentication with a password or a private key is supported.
Why advanced method is better?
- Uses SSH protocol for secure network communication.
- No need to configure firewalls and expose ports.
- Automatically uploads profiler agent and all other necessary files.
- Ability to profile applications started without the profiler agent using attach.
If the remote host is not directly reachable you can build SSH tunnel. To do so, navigate to the SSH Tunnel tab and enable SSH tunnel using Use SSH tunnel checkbox.
Connect to remote application
Created connection will appear in the "Monitor Applications" list on Welcome screen under a given name. You can then connect to the application to perform profiling.
If you do not see your application it the list, please read Troubleshoot connection problems.
For a usage example see Profiling in Amazon EC2 instance.
Please note that for SSH connections known hosts are not checked, and
StrictHostKeyChecking SSH parameter is set to