Product / Dead Hand Monitor

Dead Hand Monitor

Detect processes that are alive but no longer making progress.

Product layer not yet implemented

A heartbeat is not proof of progress

Dead Hand Monitor is HeartbeatHook's name for progress-freshness monitoring. The surrounding problem language is established: stuck process monitoring, stale worker detection, progress monitoring and alive-but-stuck processes. The product name itself is HeartbeatHook terminology, not an established industry standard.

09:00 heartbeat OK   progress=184
09:01 heartbeat OK   progress=185
09:02 heartbeat OK   progress=186

healthy progress

09:10 heartbeat OK   progress=201
09:11 heartbeat OK   progress=201
09:12 heartbeat OK   progress=201

process alive
progress stale

How the model should work

The application sends a business-defined progress marker alongside its heartbeat. The server compares freshness and change over an appropriate active-work window. HeartbeatHook does not need to understand whether the marker is a record number, batch ID, cursor, sequence or phase; that meaning remains application-defined.

Advantages

  • detects a failure class that heartbeat-only monitoring can miss;
  • fits workers and processing systems with measurable progress;
  • keeps business semantics in the application;
  • can distinguish liveness from movement.

Limitations

The application must provide a meaningful marker. Unchanged progress can be normal during an idle phase, so active/idle semantics and thresholds are essential. A poor marker creates false positives, and progress freshness does not replace metrics, traces or business validation.

Availability boundary

The current HPH implementation does not evaluate progress markers or expose a Dead Hand state. This page defines the product direction and the problem it is intended to solve; it is not a claim that the feature is live.

heartbeat existsprogress changesprogress stale
Read the stuck-process solution