YourKit .NET Profiler help
- 1 System requirements
- 2 Profiler architecture
- 3 Profiler installation
- 4 Running the profiler
- 5 Profiler activation
- 6 Welcome screen
- 7 Start profiling
- 7.1 IDE integration
- 7.1.1 Visual Studio
- 7.1.2 Rider
- 7.2 Profile .NET executable
- 7.3 Profile ASP.NET application in IIS
- 7.4 Profile ASP.NET web app on Azure App Service on Linux
- 7.5 Profile ASP.NET web app on Azure App Service on Windows
- 7.6 Profile all .NET processes that will start
- 7.7 Attach profiler to a running application
- 7.8 Profile remote applications
- 7.8.1 Direct connect
- 7.8.2 Connection broker
- 7.9 Profiling in Docker container
- 7.9.1 Profiling in Docker container using port forwarding
- 7.9.2 Profiling in Docker container using YourKit Connection Broker
- 7.10 Manually enable profiling of local applications
- 7.11 Startup options
- 7.12 Connect to profiled application
- 8 Profiling overhead: how to reduce or avoid
- 9 Snapshots
- 9.1 Snapshot directory customization
- 9.2 Snapshot annotation
- 9.3 Performance snapshot
- 9.4 Comparing performance snapshots
- 9.5 Memory snapshot
- 9.6 Comparing memory snapshots
- 10 Solving performance problems
- 10.1 Performance bottlenecks
- 10.2 Optimizing memory usage
- 10.3 Memory leaks
- 10.4 Excessive garbage allocation
- 11 CPU profiling
- 11.1 CPU and wall times when profiling .NET applications
- 11.2 CPU profiling modes
- 11.3 CPU usage estimation
- 11.4 CPU sampling
- 11.5 CPU sampling settings
- 11.6 CPU tracing
- 11.7 CPU tracing settings
- 11.8 CPU tab
- 11.8.1 Performance charts
- 11.8.2 Call tree - All threads merged
- 11.8.3 Call tree - By thread
- 11.8.4 Flame graph
- 11.8.5 Hot spots
- 11.8.6 Method list
- 11.8.7 Web and database profiling results
- 11.8.8 Callee list view
- 11.8.9 Method merged callees view
- 11.8.10 Method back traces view
- 11.9 What-if: an ability to ignore particular methods or focus on particular methods only
- 12 Threads
- 13 Memory profiling
- 13.1 Understanding garbage collection
- 13.2 Shallow and retained sizes
- 13.3 Object allocation recording
- 13.4 GC roots view
- 13.5 Memory tab
- 13.5.1 Performance charts
- 13.5.2 Classes
- 13.5.3 Object explorer
- 13.5.4 Dominators - Biggest objects
- 13.5.5 Memory inspections
- 13.5.6 Group objects by category
- 13.5.6.1 Class
- 13.5.6.2 Class and namespace
- 13.5.6.3 Domain and module
- 13.5.6.4 Generation
- 13.5.6.5 Shallow size
- 13.5.7 Allocations
- 13.5.7.1 Call tree - All threads merged
- 13.5.7.2 Call tree - By thread
- 13.5.7.3 Flame graph
- 13.5.7.4 Hot spots by object count
- 13.5.7.5 Hot spots by object size
- 13.5.7.6 Method list
- 13.5.8 Method merged callees view
- 13.5.9 Method back traces view
- 13.5.10 Quick info view
- 13.5.11 Leak detection: working with paths
- 13.5.12 Merged paths
- 13.5.13 Class hierarchy
- 13.6 Useful actions
- 14 Garbage collection
- 15 Exception profiling
- 16 Performance charts
- 17 Probes: monitor higher level events
- 17.1 Enabling probes, probe activity modes
- 17.2 Events in user interface
- 17.2.1 Event Table
- 17.2.2 Event Timeline
- 17.2.3 Event Call Tree
- 17.2.4 Event stack traces
- 17.2.5 Navigation between views
- 17.2.6 Events in range
- 17.3 Event inspections
- 18 Inspections: automatic recognition of typical problems
- 19 Automatically trigger actions on event
- 20 Automatic deobfuscation
- 21 Summary, automatic deobfuscation
- 22 Filters
- 23 Profiler command line
- 24 Command line tool to control profiling
- 25 Export of profiling results to external formats
- 26 Profiler API
- 27 Profiler HTTP API
- 28 Settings
- 28.1 Proxy
- 29 Troubleshooting