Fully featured low overhead profiler for Java EE and Java SE platforms.
Easy-to-use performance and memory .NET profiler for Windows, Linux and macOS.
Secure and easy profiling in cloud, containers and clustered environments.
Performance monitoring and profiling of Jenkins, Bamboo, TeamCity, Gradle, Maven, Ant and JUnit.

Local profiling

Local profiling is the case when the profiled application and the profiler UI run on the same machine, usually the developer workstation.

See also Remote profiling.

You should perform two actions to perform local profiling:

1. Ensure the local application is running with the profiler agent

To profile a Java application, the profiler agent should be loaded into the JVM.

There are different approaches depending on the application type:

Java SE application

Use one of the following:

Java EE application (EE server)

Use one of the following:

  • IDE integration: use the Profile action from within your IDE, like you do Run or Debug.
  • Java EE server integration wizard: use if the application server runs standalone, i.e. you start it with a script or it runs as a service.

    The wizard automatically enables profiling in a number of popular application servers, generating appropriate startup scripts. Even if your server is not in the list of known servers, the wizard offers the "Generic server" option which will instruct you on how to manually perform the necessary changes.

    The wizard can be started from the profiler Welcome screen, or by using Tools | Profile Local Java EE Server or Application....

  • Attach profiler agent to a running JVM.

Profiling Java Web Start/JNLP

Use one of the following:

  • Start Java Web Start application with the profiler agent by setting the environment variable JAVAWS_VM_ARGS:

    JAVAWS_VM_ARGS=-agentpath:<agent library path>

    If necessary, specify other VM options too:

    JAVAWS_VM_ARGS=-agentpath:<agent library path> <other VM options>

    Please learn how to specify -agentpath:<agent library path> in Enabling profiling manually.

    Hint: on Windows, you can set JAVAWS_VM_ARGS variable globally in "My Computer" settings.

  • Attach profiler agent to a running JVM.

2. Connect to the local application

When the local application is running, connect to it from the profiler UI to perform profiling.

YourKit uses cookies and other tracking technologies to improve your browsing experience on our website, to show you personalized content and targeted ads, to analyze our website traffic, and to understand where our visitors are coming from.

By browsing our website, you consent to our use of cookies and other tracking technologies in accordance with the Privacy Policy.