Fully featured low overhead profiler for Java EE and Java SE platforms.
Monitoring and profiling solution for Gradle, Maven, Ant, JUnit and TestNG.
Easy to use performance and memory profiler for .NET framework.

Troubleshoot connection problems

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 with custom Java launcher, please always start it with profiler agent. Profiler will automatically detect java, java.exe and javaw.exe, but processes with different names might be missing.

  • 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 from user interface with SSH connection, 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, profiler binds agent socket to localhost only. This disables a direct remote connection to the agent via host:port, but connection to the profiler agent is 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.

  • 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.

    Note: the profiler 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/<session 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 <version>] Loaded. Log file: <full path to the log file>

    Version 8.0.x and older agents didn't create a log file, hence the port was printed directly to stderr:
    [YourKit Java Profiler <version>] Profiler agent is listening on port <port number>...

Check agent status in a web browser

The profiler agent status can be checked by opening the URL http://localhost:<agent port> for a local profiled application or http://<remote host>:<agent port> for a remote profiled application in a web browser.

The remote application status can be checked this way only if a direct connection to the agent port was allowed with the help of the agent startup option listen.

The shown page resembles the content of the Summary tab in the profiler UI plus provides detail on currently active profiling modes.