- 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
- Connect to profiled application
- Profiling troubleshooting
- Profiling overhead: how to reduce or avoid
- 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/<application 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.
Application discovery method
Choose direct connect as application discovery method.
Specify the host name or IP address of the remote machine.
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 step and enable SSH tunnel using Use SSH tunnel checkbox.
You can add any number of intermediate hosts, and specify authentication credentials for each of them. Profiler supports password authentication, authentication with private SSH key, and through the SSH agent.
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.