Health Score

The Health Score is a quick visual indicator on your application dashboard that tells you whether your app is running smoothly or needs attention. It combines three independent signals into a single color-coded status.


The Three Signals

Each signal is evaluated independently over the last 24 hours.

Error Rate

The percentage of events that are errors (ERROR or FATAL level) relative to total events.

Formula: (error_count + fatal_count) / total_events * 100

Default thresholds: Warning at 1%, Critical at 5%.

If total events are below the minimum threshold (default: 100), this signal is gray (insufficient data).

Crashes

The number of FATAL-level events in the last 24 hours. What counts as FATAL depends on the platform and SDK configuration:

  • Console apps: unhandled exceptions that terminate the process (System.ExceptProc)
  • VCL/FMX apps: exceptions in finalization or outside the GUI message loop (rare — most GUI exceptions are caught by Application.OnException and logged as ERROR)
  • Explicit: any event your code logs with level FATAL (ExeWatch.Fatal(...))

Default thresholds: Warning at 1 crash, Critical at 3 crashes.

Slow Rate

The percentage of timing operations that exceed the slow threshold (configured per-app in Timing Settings).

Formula: slow_timing_count / total_timing_count * 100

Default thresholds: Warning at 5%, Critical at 20%.

If there are no timing operations, this signal is gray (no data).


How the Overall Score Works

The overall health status is determined by the worst non-gray signal:

  • Healthy — All signals are green (below warning thresholds)
  • Degraded — At least one signal reached the warning threshold
  • Critical — At least one signal reached the critical threshold
  • Insufficient data — All signals are gray (no events or no timing data)

Gray signals are ignored when determining the overall status. If all three signals are gray, the overall status is gray.


Customizing Thresholds

Every application can have its own thresholds. To change them:

  1. Open your application in the dashboard
  2. Click the gear icon next to the app name in the sidebar
  3. Scroll to the Health Score Thresholds section
  4. Adjust the Warning and Critical values for each signal
  5. Click Save

Changes take effect immediately on the next dashboard refresh.

How to fill in the thresholds

Each signal has two columns: Warning and Critical.

  • Error Rate — Percentage of events that are errors. For example, if you set Warning = 1% and Critical = 5%, then an error rate of 3% turns the signal yellow, and 6% turns it red.
  • Crashes — Absolute number of FATAL events in 24h. Set Warning = 1 and Critical = 3 to be alerted early even on a single crash.
  • Slow Rate — Percentage of timing operations that exceed the slow threshold (configured in Timing Settings). For example, if 15% of operations are slow and the Warning is set at 5%, the signal is red if Critical is 10%, or yellow if Critical is 20%.
  • Min. events — Minimum number of events (last 24h) required to evaluate the error rate signal. Below this number, the error rate signal is shown as gray (insufficient data) to avoid false positives on low traffic. Minimum value: 50.

Tip: Start with the defaults and adjust based on your application's normal behavior. A backend service processing thousands of requests may tolerate a higher error rate than a desktop app used by a few customers.


Default Thresholds

Signal Warning Critical
Error Rate 1.0% 5.0%
Crashes (FATAL) 1 3
Slow Rate 5.0% 20.0%

Minimum events: 100 (below this, error rate signal is gray).