- System requirements
- Profiler architecture
- Running the profiler
- Profiler activation
- Start profiling
- Solving performance problems
- CPU profiling
- Threads
- 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
- Time measurement (CPU time, wall time)
- Filters
- 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
- Settings
- FAQ: How to profile in my scenario?
FAQ: How to profile in my scenario?
- Profiling in Docker
- Profiling in Amazon EC2 instance
-
Profiling in an integrated development environment (IDE):
- Profiling Java application started in command line
- Profiling on remote machine
- Profiling Java server
Profiling in Docker
Q: How do I profile a Java server or application running in Docker container?
A: Please follow these instructions.
Profiling in Amazon EC2 instance
Q: How do I profile a Java application in Amazon EC2 instance?
A: Please follow these instructions.
Profiling in an integrated development environment
Eclipse
Q: How do I profile from within Eclipse or its derivative such as MyEclipse etc.?
A: Use IDE integration wizard to install the profiler plugin.
IntelliJ IDEA
Q: How do I profile from within IntelliJ IDEA?
A: Use IDE integration wizard to install the profiler plugin.
JDeveloper
Q: How do I profile from within JDeveloper?
A: Use IDE integration wizard to install the profiler plugin.
NetBeans
Q: How do I profile from within NetBeans?
A: Use IDE integration wizard to install the profiler plugin.
Profiling Java application started in command line
Q: How do I profile arbitrary Java application which I start from a command line?
A: To start a Java application with the profiler agent, add Java command line
argument -agentpath
with appropriate parameters, as described here.
Alternatively, use "Profile local Java server or application..." from the profiler's Welcome screen or
Profile | Profile Local Java Server or Application... from the main menu,
then choose the option "Other Java application".
The wizard will help you point -agentpath
to the profiler agent library
appropriate for your platform, as well as to specify agent startup options, if necessary.
Please note that instead of starting an application with the profiler agent, you may also attach the profiler agent to already running Java process on demand. This approach named attach mode is easy to use, but it has limitations and is not always available.
Profiling Java server
Q: How do I profile a Java server running on my local machine?
A: This depends on how you start the server.
If you start the server from your integrated development environment (IDE), use IDE integration wizard to install the profiler plugin. Supported are Eclipse (with derivatives such as MyEclipse etc.), IntelliJ IDEA, NetBeans, JDeveloper.
If you start the server with a startup script or as a service, use "Profile local Java server or application..." from the profiler's Welcome screen or Profile | Profile Local Java Server or Application... from the main menu.
Please note that instead of starting a Java server with the profiler agent, you may also attach the profiler agent to already running server process on demand. This approach named attach mode is easy to use, but it has limitations and is not always available.
Q: How do I profile a Java server not supported by integration wizard?
A: Please follow generic instructions for local or remote profiling, whichever applies to your case. If you use the Java server integration wizard, either local or remote, you should choose the "Other Java application" option.