- System requirements
- Profiler architecture
- Profiler installation
- Uninstall profiler
- Running the profiler
- Profiler activation
- Welcome screen
- Start profiling
- Profiling overhead
- Snapshots
- Solving performance problems
- CPU profiling
- Thread profiling
- Object allocation profiling
- Memory profiling
- Exception profiling
- Telemetry
- Probes: monitor higher level events
- Inspections: automatic recognition of typical problems
- Automatically trigger actions on event
- Automatic deobfuscation
- Summary, automatic deobfuscation
- Filters
- Profiler command line
- Command line tool to control profiling
- Export of profiling results to external formats
- Profiler .NET API
- Profiler HTTP API
- Settings
- Troubleshooting
CPU telemetry
CPU telemetry is a subset of the wide range of telemetries collected by YourKit .NET Profiler. It specifically involves gathering data about the CPU time consumed by the application in both user mode and kernel mode, as well as an overall view of system CPU usage. By monitoring CPU usage, you can identify and analyze CPU spikes or periods of high CPU usage. Once these areas are identified, you can delve into the code to optimize inefficient operations.
CPU telemetry charts

CPU time > Process (kernel)
This chart tracks the CPU time spent by a specific process in kernel mode. Profiling time spent in kernel mode is crucial when diagnosing issues related to system calls, interrupt handling, or other low-level operations that require the kernel's intervention.
CPU time > Process (user + kernel)
This chart displays the total CPU time consumed by a process, combining both user mode and kernel mode. This metric is important for understanding the overall CPU demand that a process is placing on the system.
CPU time > System
While this chart displays the overall system CPU time usage, comparing this with process-specific CPU time can reveal correlations between an application's performance and the activity of other processes running on the system.
Toolbar
-
: Zoom in and out to quickly change the range of visible data.
-
: Show "empty" charts, i.e. the charts that have only zero values.
-
: Smooth out short-term fluctuations on graphs. This is useful for visualizing of fast-changing data.
-
: Control auto-scrolling behavior of telemetry charts. When toggled, the graphs will be automatically scrolled to the right when new data arrives.
Working with telemetry charts
Clicking on chart: Clicking on a chart reveals the call stacks of the .NET threads running at that specific moment, providing a snapshot of the application's state.
Selecting the time interval: Analyzing performance over a time span is equally straightforward. By selecting a range within the telemetry data, profiler builds an estimated call tree and computes the CPU usage for that interval. This can be invaluable for pinpointing performance bottlenecks or understanding the behavior of the application during periods of high load.