Diagnostic scenarios sample debug target

The sample debug target is a simple webapi application. The sample triggers undesirable behaviors for the .NET Core diagnostics tutorials to diagnose.

Download the source

To get the code locally on your machine, click on '<> Code' in the top left corner of this page. This will take you to the root of the repo. Once at the root, clone the samples repo onto your local machine and navigate to samples/core/diagnostics/DiagnosticScenarios/.

Build and run the target

After downloading the source, you can easily run the webapi using:

dotnet build
dotnet run

Target methods

The target triggers undesirable behaviors when hitting specific URLs.

Deadlock

http://localhost:5000/api/diagscenario/deadlock

This method will cause the target to hang and accumulate many threads.

High CPU usage

http://localhost:5000/api/diagscenario/highcpu/{milliseconds}

The method will cause to target to heavily use the CPU for a duration specified by {milliseconds}.

Memory leak

http://localhost:5000/api/diagscenario/memleak/{kb}

This method will cause the target to leak memory (amount specified by {kb}).

Memory usage spike

http://localhost:5000/api/diagscenario/memspike/{seconds}

This method will cause intermittent memory spikes over the specified number of seconds. Memory will go from base line to spike and back to baseline several times.