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.

Profiling troubleshooting

If the profiled Java application is missing in Monitor Applications list:

Application is not running

Ensure the application you want to profile is running. Restart the application if has been shut down. If the application fails to start or terminates abnormally, check the application's output, logs etc. for possible errors.

Application is running without the profiler agent

  • If you run your application and profiler UI on the same machine but under different users, please run an application and UI under the same user or start your application with profiler agent. Java applications running under different user might be missing.

  • If you use remote profiling with SSH access discovery method, login with the same SSH user under which your application runs or start your application with profiler agent.

  • Start your application with profiler agent and connect to it when it is running.

Application is already running with the profiler agent

  • Ensure that startup option listen is properly configured.

    By default, for security reasons the profiler agent binds the socket only to localhost that might resolve to 127.0.0.1 or ::1. This disables a direct remote connection to the agent via external network interfaces, but connection is still possible via port forwarding e.g. an SSH tunnel.

    If you want to allow direct connect to the remote application via host and port, you should specify the startup option listen=all or listen=<IP>.

  • If the application is up and running, ensure that the network connection is not blocked by a firewall, an antivirus etc. Check both the remote machine side and the local machine side. The profiler agent port must be allowed.

    Please note, that agent port is not one of the ports you may use to communicate with the profiled application or server, like HTTP 8080. Instead, it's a special dedicated port used solely by the profiler.

    By default, the profiler agent port is allocated in the range 10001-10010 or a random one is used if all ports in this range are busy. The port can also be specified explicitly with the startup option port. If the profiler agent port is not in the default range 10001-10010, explicitly specify the port in the connect dialog as host:port.

    If you are unsure which port is used, look at the profiler agent log on the remote machine. The profiler agent log file is <user home>/.yjp/log/<application name>-<PID>.log, where <user home> corresponds to the account under which the profiled application is started.

    If you are uncertain about the log file path, you may find it in the profiler agent's output to stderr:

    [YourKit Java Profiler 2021.11-b123] Log file: <full path to the log file>

Check agent status in a web browser

The profiler agent status can be checked by opening the URL https://localhost:<agent port> for a local profiled application or https://<remote host>:<agent port> for a remote profiled application in a web browser. The remote application status can be checked this way if a direct connection was allowed with the help of the agent startup option listen.

If profiler agent uses self-signed SSL certificate (the default option), then all modern web browsers like Chrome, FireFox or InternetExplorer will show a security warning, explaining the risks. You can safely accept the risks and proceed further.

On the opened page you should see the version of the profiler agent you have connected to. Something like:

YourKit Java Profiler 2021.11-b123

Enable extended diagnostics in the profiler UI log file

To help YourKit support investigate a network connectivity issue, please enable extended log messages in the profiler UI log file by adding the following line to <user home>/.yjp/ui.ini:

  • -Dyk.ssh.debug=true

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.