- System requirements
- Profiler architecture
- 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 Java API
- Profiler HTTP API
- Command line tool to control profiling
- FAQ: How to profile in my scenario?
Remote profiling is the case when the profiled application and the profiler UI run on different machines, usually on a server and your developer machine.
See also Local profiling.
To profile remote application you have to do two things:
1. Remote application must be running with the profiler agent
There are 3 options to load the profiler agent into JVM:
Use remote profiling from user interface if you have SSH access to the remote machine. The profiler will transfer all necessary files to the remote computer and will attach the agent to a running JVM.
Start JVM with the profiler agent by applying the console Java EE server integration wizard on the remote machine or enable profiling manually. We recommend to start JVM with the agent, because attaching the agent to a running JVM has limitations in profiling functionality and is not always possible.
Run the console attach wizard on the remote machine.
2. Connect to the remote application
When the remote application is running, connect to it from the profiler UI to perform profiling.
If connection fails, please refer to the troubleshooting instructions.