Heartbeat 0.1.0
See the version list below for details.
dotnet tool install --global Heartbeat --version 0.1.0
dotnet new tool-manifest # if you are setting up this repo dotnet tool install --local Heartbeat --version 0.1.0
#tool dotnet:?package=Heartbeat&version=0.1.0
nuke :add-package Heartbeat --version 0.1.0
Heartbeat
Diagnostics utility to analyze memory dumps of a .NET application
Installation
dotnet tool install --global Heartbeat
Summary
The purpose of the Heartbeat is finding runtime issues of .NET application in the production environment such as spontaneous high memory / CPU usage, high latency and so on. Usually such situations occur unpredictable and after that there is not enough information to find the cause. The detailed information is required to find the cause, but it is impossible to collect detailed information about running processes all the time, collecting such data consumes huge resources. The collected data needs to be interpreted, it is long and not always straightforward process that could be automated.
Overview
The system consists of three major parts: Monitor, Data Collector and Issue Finder:
Monitor example:
- CPU usage;
- RAM usage;
- Performance counter;
- I/O latency;
- Events from application code;
- Timers from application code.
Data Collector example:
- Full Memory Dump;
- Record ETW events;
- Record network events;
- Attach .NET invasive debugger and collect .NET specific information (ClrMd).
Issue Finder example:
- Find a place with huge memory allocation;
- Find hot stack traces;
- Find hung System.Threading.Tasks.Task objects;
- Find System.Threading.Tasks.Task state.
Usage
Heartbeat [options]
Options:
--dump <dump> (REQUIRED) Path to a dump file
--dac-path <dac-path> A full path to the matching DAC dll for this
process.
--ignore-dac-mismatch Ignore mismatches between DAC versions
--version Show version information
-?, -h, --help Show help and usage information
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
This package has no dependencies.
Version | Downloads | Last updated |
---|---|---|
0.8.1 | 122 | 2/5/2024 |
0.8.1-rc.36 | 68 | 2/5/2024 |
0.8.0 | 72 | 2/5/2024 |
0.8.0-rc.34 | 56 | 2/5/2024 |
0.7.0 | 75 | 2/1/2024 |
0.7.0-rc.32 | 62 | 2/5/2024 |
0.7.0-rc.30 | 55 | 2/1/2024 |
0.6.0 | 74 | 1/30/2024 |
0.6.0-rc.28 | 55 | 2/1/2024 |
0.6.0-rc.26 | 55 | 1/31/2024 |
0.6.0-rc.24 | 59 | 1/30/2024 |
0.6.0-rc.22 | 55 | 1/30/2024 |
0.6.0-rc.20 | 51 | 1/30/2024 |
0.5.0 | 72 | 1/29/2024 |
0.5.0-rc.18 | 58 | 1/29/2024 |
0.5.0-rc.16 | 53 | 1/29/2024 |
0.4.0 | 74 | 1/27/2024 |
0.4.0-rc.14 | 54 | 1/27/2024 |
0.3.0 | 76 | 1/25/2024 |
0.3.0-rc.12 | 54 | 1/25/2024 |
0.2.0 | 86 | 1/20/2024 |
0.2.0-rc.10 | 55 | 1/20/2024 |
0.1.0 | 80 | 1/18/2024 |
0.1.0-rc.8 | 53 | 1/18/2024 |