dotnet-profiling

Diagnose .NET performance bottlenecks using dotnet-counters, dotnet-trace, and dotnet-gcdump.

8|Updated Mar 29, 2026
One-click install
npx skills add https://github.com/Postpartum-genushyacinthus29/dotnet-skills --skill dotnet-profiling-postpartum-genushyacinthus29
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dotnet-profiling
Source: https://github.com/Postpartum-genushyacinthus29/dotnet-skills/tree/main/skills/dotnet-profiling
Command: npx skills add https://github.com/Postpartum-genushyacinthus29/dotnet-skills --skill dotnet-profiling-postpartum-genushyacinthus29

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Profiling .NET applications can be complex and time-consuming; this Skill standardizes on official CLI-based tools to quickly diagnose runtime and performance issues.

Core Features & Use Cases

  • Use dotnet-counters for live health signals and baseline metrics.
  • Use dotnet-trace for CPU, memory, exceptions, and startup profiling.
  • Use dotnet-gcdump for managed heap snapshots and memory analyses.
  • Real-world use: triage a slow API by collecting live metrics, capturing a CPU trace, and generating a heap snapshot to locate hotspots.

Quick Start

Start by collecting a CPU profile with dotnet-trace, monitor live metrics with dotnet-counters, and capture a managed heap snapshot with dotnet-gcdump to triage performance.

Frequently Asked Questions about dotnet-profiling

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

FAQPage Schema
How do I identify CPU hotspots and memory growth in a .NET application?

To identify CPU hotspots and memory growth in a .NET application, use dotnet-trace for CPU and memory profiling, and dotnet-gcdump for managed heap snapshots. These official CLI tools produce repeatable diagnostics artifacts to locate runtime anomalies and performance bottlenecks.

What's the best way to profile .NET startup delays and contention in production?

Profiling .NET startup delays and contention in production is best done using dotnet-trace, which captures startup and contention data. This official CLI workflow standardizes diagnostics across development and production scenarios without requiring heavy tooling.

How do I use dotnet-counters to monitor live health signals and baseline metrics?

Use dotnet-counters to monitor live health signals by collecting real-time baseline metrics from your .NET application. This official CLI tool provides immediate runtime health visibility, enabling you to triage slow APIs and detect anomalies before capturing deeper diagnostics.

Can I capture a managed heap snapshot to triage a slow .NET API?

Yes, you can capture a managed heap snapshot to triage a slow .NET API using dotnet-gcdump. This official CLI tool generates heap analyses that pinpoint memory growth sources, completing a diagnostic workflow that starts with live metrics and CPU traces.

Does this .NET diagnostics workflow require any external profiling dependencies?

No, this .NET diagnostics workflow does not require external profiling dependencies. It standardizes exclusively on official CLI tools—dotnet-counters, dotnet-trace, and dotnet-gcdump—to deliver repeatable diagnostics artifacts and actionable remediation guidance.

When should I not use dotnet-trace for .NET performance profiling?

You should avoid using dotnet-trace for .NET performance profiling when you only need a quick overview of runtime health, as it captures deep CPU and memory traces. For baseline metrics without the overhead, start with dotnet-counters instead.