dotnet-profiling

Diagnoses .NET performance issues using dotnet-counters, dotnet-trace, and dotnet-dump.

71|10|Updated Feb 11, 2026
One-click install
npx skills add https://github.com/wshaddix/dotnet-skills --skill dotnet-profiling-wshaddix
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dotnet-profiling
Source: https://github.com/wshaddix/dotnet-skills/tree/main/skills/dotnet-profiling
Command: npx skills add https://github.com/wshaddix/dotnet-skills --skill dotnet-profiling-wshaddix

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill helps developers pinpoint and resolve performance bottlenecks in .NET applications by providing tools and guidance for real-time monitoring, event tracing, and memory dump analysis.

Core Features & Use Cases

  • Real-Time Monitoring: Use dotnet-counters to observe key performance metrics like CPU usage, GC heap size, and request rates.
  • Event Tracing: Employ dotnet-trace to capture detailed execution traces, generate flame graphs for CPU hot paths, and track memory allocations.
  • Memory Dump Analysis: Utilize dotnet-dump to capture and analyze process memory dumps, identifying memory leaks and object retention.
  • Use Case: Your ASP.NET Core application is experiencing high latency under load. Use dotnet-counters to see if CPU or memory is the bottleneck, then use dotnet-trace to generate a flame graph and identify the specific methods consuming the most CPU time.

Quick Start

Use dotnet-counters to monitor the default runtime counters for the process with ID 12345.

Frequently Asked Questions about dotnet-profiling

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I diagnose high CPU usage in an ASP.NET Core application under load?

Diagnose high CPU usage in an ASP.NET Core application under load by using dotnet-counters to observe real-time metrics and dotnet-trace to generate flame graphs that pinpoint specific methods consuming CPU time.

What is the best way to find memory leaks in a .NET application?

Find memory leaks in a .NET application by utilizing dotnet-dump to capture and analyze process memory snapshots, identifying memory leaks and problematic object retention patterns within the heap.

How do I monitor real-time performance metrics like GC heap size for a running .NET process?

Monitor real-time performance metrics like GC heap size for a running .NET process by using dotnet-counters to observe key performance indicators including CPU usage, heap allocation, and request rates.

Does .NET profiling support .NET SDK 8.0 and newer versions?

.NET profiling with dotnet-trace, dotnet-dump, and dotnet-counters supports .NET SDK 8.0 and newer versions to analyze real-time metrics, event traces, and memory snapshots for performance optimization.

When should I use dotnet-trace instead of dotnet-counters for performance profiling?

Use dotnet-counters for an overview of real-time metrics like CPU and memory, but switch to dotnet-trace when you need detailed event traces and flame graphs to identify specific CPU hot paths and track memory allocations.