gitmyhub

dottop

C# ★ 20 updated 25d ago

Live terminal dashboard for .NET web apps showing CPU, memory, request rates, error counts, and latency, no code changes needed, just point it at your running process.

C#.NET.NET Diagnostics APITerminal UIsetup: easycomplexity 2/5

dottop is a terminal dashboard that shows live health metrics for .NET web applications while they are running, without requiring any changes to the application itself. You run it on the same machine as the .NET process, point it at the process by name or ID, and it immediately starts displaying CPU usage, memory, request throughput, error rates, and latency numbers in an htop-style screen.

The tool connects through a built-in .NET diagnostics channel that .NET itself already exposes. This is the same channel used by official Microsoft tools, so no special SDK setup or application restart is needed. It collects runtime counters covering garbage collection behavior, thread pool state, memory allocation rate, and exception frequency, alongside web-specific numbers such as active requests, requests per second, failed requests, and latency percentiles at the 50th, 95th, and 99th percentile. It also builds a table of the hottest endpoints ranked by traffic, showing average and maximum response times along with error counts per route.

Attaching works a few different ways. Running dottop with no arguments shows a list of all running .NET processes and lets you pick one. You can also attach directly by passing a process ID or a partial process name. A non-interactive probe mode runs for a fixed number of seconds and prints a summary, which is useful in scripts or over SSH.

For applications running inside Docker containers or Kubernetes pods, the README describes how to copy the binary into the container and run it from there, since the diagnostics socket lives inside the container's filesystem.

The binary is self-contained and around 15 MB. It runs on Linux (x86-64 and ARM64), Alpine Linux with the musl variant, and Windows. The author notes this was built quickly with AI assistance and has been tested against real applications but may have rough edges in less common scenarios.

Where it fits