Skip to Content
InsightsFlag Health

Flag Health

Every feature flag in AppDispatch tracks health metrics per variation, so you can see whether a specific flag value is correlated with errors or crashes.

Evaluation analytics

Each flag’s detail view shows evaluation data over a configurable time range (7, 14, 30, or 90 days):

  • Total evaluations — How many times the flag was evaluated in the period
  • Last evaluated — When the most recent evaluation occurred
  • Per-variation breakdown — For each variation, the evaluation count and percentage of total. Inactive variations (0 evaluations) are shown grayed out.
  • Evaluations over time — A daily bar chart showing evaluation volume. Drops may indicate stale clients; spikes correlate with rollout progression.

Health metrics

Flag health is tracked per variation and per channel:

MetricDescription
Error ratePercentage of sessions with unhandled errors for devices seeing this variation
Error rate deltaChange from baseline — red if increasing, green if decreasing
Crash-freePercentage of sessions without native crashes (highlighted red if below 99%)
Affected devicesNumber of devices contributing to the metric
Statushealthy, degraded, or incident

Per-variation health table

The health panel breaks down metrics by variation and channel:

VariationChannelDevicesError rateCrash-freeStatus
Onproduction1,2471.2% (+0.7%)99.1%degraded
Offproduction3,5800.5% (+0.1%)99.8%healthy

This makes it immediately clear when one variation is performing worse than another. If On has a 1.2% error rate and Off has 0.5%, the flag’s feature is likely the cause.

Health in the flag list

The flag list view surfaces health issues without requiring you to open each flag:

  • Flags with degraded or incident status show a health badge in the list row
  • The badge shows the worst variation and its error rate (e.g., “On: 1.2% errors”)
  • Per-channel columns show 7-day evaluation counts and a stacked variation bar

Health during rollout executions

When a flag is attached to a rollout policy, its health is tracked as part of the execution:

  • Each linked flag in the execution detail view shows its own health metrics
  • Status badges (healthy / degraded / incident) appear per flag
  • Error rate and crash-free percentage are shown with delta badges
  • If a flag’s health degrades, you can revert that specific flag while keeping the update deployed

This per-flag health tracking during rollouts is what enables surgical response — rather than rolling back an entire release because “something is wrong”, you can see exactly which flag variation is causing the issue and revert just that one.

How metrics are collected

Health metrics come from two sources working together:

  1. Flag evaluations — The OpenFeature provider reports which flags were evaluated and which variations were returned, in batches every 60 seconds.
  2. Health events — The health reporter in @appdispatch/react-native captures JS errors, crashes, and app launches, and snapshots which flag variations were active at the moment each error occurred.

When the health reporter is connected to the provider, errors are automatically correlated with flag states. The backend aggregates these into per-variation health metrics — no custom instrumentation needed.

See Health Reporter for setup instructions.

Last updated on