Health checks for guarded rollouts

Overview

This topic explains how to use health checks for guarded rollouts to verify that you set up your guarded rollout correctly and fix any problems with your configuration.

Guarded rollouts availability

All LaunchDarkly accounts include a limited number of guarded rollouts. Use these to evaluate the feature in real-world deployments.

Health check statuses

When you create a guarded rollout, LaunchDarkly provides a health check status at the top of your guarded rollout setup.

The health check statuses include:

  • Health check waiting: LaunchDarkly does not have enough information yet about your guarded rollout configuration to determine its health status
  • Healthy: Your flag is receiving evaluations, your metrics are tracking events, and your flag and metrics are encountering the same context kinds
  • Health check warnings: There is at least one problem with your guarded rollout configuration

Hover on the status to view your rollout’s health checks:

A guarded rollout with a health warning.

A guarded rollout with a health warning.

The individual health checks are explained below.

Flag evaluations

The flag evaluation health check can have a status of:

  • Flag is receiving evaluations: Contexts are encountering your flag, and your SDKs are sending flag evaluation information to LaunchDarkly.
  • Flag is not receiving evaluations: Either your flag is not configured correctly in your code, or your SDK is not set up correctly.

You can expand the Evaluations graph at the top of the flag Targeting tab to view how many contexts are encountering the flag and which variation they are receiving.

Flag context kinds

Your flag should be encountering context kinds that match the randomization unit that you chose in the Target by menu for the guarded rollout. If a flag encounters other context kinds, LaunchDarkly will not be able to measure the performance of the rollout.

The flag context kind health check can have a status of:

  • Flag is seeing [context kind]: The flag is being evaluated by contexts with the same kind as the guarded rollout’s randomization unit.
  • Flag is not seeing [context kind]: The flag is being evaluated by contexts with a different context kind than the one you selected for the guarded rollout. Either update the guarded rollout’s randomization unit, or investigate why your flag is not encountering the context kinds you expect.

To learn more, read Randomization unit and Context kinds.

Metric randomization units

The metric randomization units health check only appears if LaunchDarkly is receiving events for the metric.

Your selected metrics should use the same randomization unit that you chose in the Target by menu for the guarded rollout. If a metric is tracking a different randomization unit, LaunchDarkly will not be able to measure the performance of the rollout.

The metric randomization unit health check can have a status of:

  • [Randomization unit] is tracked by [Metric name]: The metric shares the same randomization unit as the one you selected for the guarded rollout.

  • [Randomization unit] is not tracked by [Metric name]: The metric uses a different randomization unit than the one you selected for the guarded rollout. This can occur because randomization units are based on how the metric was configured, not on actual data sent to LaunchDarkly.

    For example, you might select Member as the randomization unit because it was available during setup. If your SDK does not send context data for Member, the metric cannot be evaluated.

    To fix this, choose a different metric, change the randomization unit for the rollout, or edit your metric configuration.

Metric events

The metric events health check can have a status of:

  • Recently seen events for [metric name]: Your metric is sending metric events to LaunchDarkly.
  • No recently seen events for [metric name]: Your metric has not sent any metric events to LaunchDarkly within the last 14 days. This may be because your metric is configured incorrectly.

You can also check if a metric is sending events to LaunchDarkly by viewing its Activity tab.