dotnet-profiling

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

1|Updated Feb 22, 2026
One-click install
npx skills add https://github.com/rudironsoni/dotnet-agent-harness --skill dotnet-profiling-rudironsoni
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dotnet-profiling
Source: https://github.com/rudironsoni/dotnet-agent-harness/tree/main/.rulesync/skills/dotnet-profiling
Command: npx skills add https://github.com/rudironsoni/dotnet-agent-harness --skill dotnet-profiling-rudironsoni

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill helps developers identify and resolve performance bottlenecks in .NET applications by providing guidance on using essential diagnostic tools.

Core Features & Use Cases

  • Real-time Monitoring: Use dotnet-counters to observe live performance metrics like CPU, memory, and GC activity.
  • Event Tracing: Employ dotnet-trace to capture detailed execution traces, enabling flame graph analysis for CPU hot paths and allocation tracking.
  • Memory Dump Analysis: Utilize dotnet-dump to capture and analyze process memory dumps, crucial for diagnosing memory leaks and heap issues.
  • Use Case: Your ASP.NET Core application is experiencing high latency under load. You can use dotnet-counters to see high CPU usage, then dotnet-trace to generate a flame graph revealing a specific LINQ query as the hot path, guiding your optimization efforts.

Quick Start

Use the dotnet-profiling skill to collect a 30-second CPU trace 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 a .NET application?

To diagnose high CPU usage in a .NET application, use `dotnet-trace` to capture execution traces and generate a flame graph. This visualizes CPU hot paths, allowing you to identify the specific methods causing the performance bottleneck.

What is the best way to monitor real-time .NET performance metrics?

The best way to monitor real-time .NET performance metrics is using `dotnet-counters`. It observes live metrics like CPU usage, memory, and garbage collection activity, helping you detect performance anomalies as they happen.

How do I find a memory leak in an ASP.NET Core app?

To find a memory leak in an ASP.NET Core app, use `dotnet-dump` to capture and analyze process memory dumps. Examining the heap dumps allows you to identify memory-bound problems and pinpoint the source of the leak.

Do I need a specific .NET SDK version to use dotnet-trace and dotnet-counters?

Yes, you need .NET SDK 8.0 or later to use these diagnostic tools. The Skill requires this version to ensure compatibility with `dotnet-trace`, `dotnet-counters`, and `dotnet-dump` for comprehensive profiling and analysis.

When should I use dotnet-trace instead of dotnet-counters?

Use `dotnet-counters` for real-time monitoring of live metrics like CPU and memory, and switch to `dotnet-trace` when you need detailed event tracing. `dotnet-trace` captures execution data for flame graph analysis to find specific CPU hot paths.