- System requirements
- Profiler architecture
- Running the profiler
- Profiler activation
- Start profiling
- IDE integration
- Profile .NET executable
- Profile ASP.NET application IIS
- Profile all .NET processes that will start
- Attach profiler to a running application
- Profile remote applications
- Profiling in Docker container
- Manually enable profiling of local applications
- Startup options
- Profiling overhead: how to reduce or avoid
- Profiling troubleshooting
- Connect to profiled application
- Capturing snapshots
- Solving performance problems
- CPU profiling
- Memory profiling
- Garbage collection
- Exception profiling
- Probes: monitor higher level events
- Performance Charts
- Inspections: automatic recognition of typical problems
- Automatically trigger actions on event
- Summary, snapshot annotation, automatic deobfuscation
- Time measurement (CPU time, wall time)
- Snapshot directory customization
- Export of profiling results to HTML, CSV, XML, plain text
- Profiler API
- Profiler HTTP API
- Command line tool to control profiling
Profile remote applications
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 Profile local applications.
1. Install profiler on the remote machine
Download and install profiler to the remote machine.
You can use command line tool to perform helpful profiling operations remotely.
2. Start profiling the application on the remote machine
Start profiling the application.
To ensure it has started with the profiler, check whether the profiler agent log file has been created:
<user home>/.ynp/log/<session name>-<PID>.log
If you want to profile Windows service, then it needs to be restarted. Special notes on profiling a Windows service can be found here.
3. Create new connection to the remote machine
To profile .NET applications running on the remote machine with agent use Profile remote application... action on Welcome screen or in "Profile" menu.
Specify the host name or IP address of the remote machine in the opened "Profile Remote Application" dialog.
Profiler discovers applications running with the profiler agent by scanning
the specified port range.
By default the profiler agent port is allocated in the range
If the profiler port was changed with startup option
also change the Profiler agent port(s) field accordingly.
If you use reverse HTTP proxy (like
Apache httpd or
to forward incoming requests to profiler agent port, then please also specify
the Reverse HTTP proxy path.
For example, if your proxy forwards the requests like
/my_agent/* to profiler
agent port, then
/my_agent/ must be specified as the
Reverse HTTP proxy path.
Please note, that global proxy settings will be used to reach the destination host. If your proxy requires authentication, the credentials must be configured, otherwise the agent discovery will fail.
If the remote host is not directly reachable you can build SSH tunnel. To do so, navigate to the SSH Tunnel tab and enable SSH tunnel using Use SSH tunnel checkbox.
4. Connect to the remote application
Created connection will appear in the "Monitor Applications" list on Welcome screen under a given name. You can then connect to the application to perform profiling.
If you do not see your application it the list, please read profiling troubleshooting.
Please note that for SSH connections known hosts are not checked, and
StrictHostKeyChecking SSH parameter is set to