Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Monitoring Fallback Values

Monitor fallback value usage and identify stale or incorrect fallback values.

Runtime

SDK Hooks

  • Implement a before evaluation hook
  • Record the fallback value for each evaluation in a telemetry system
  • Compare fallback values to current flag state and desired behavior

Example SDK Hook:

class FallbackMonitoringHook implements Hook {
  beforeEvaluation(seriesContext: EvaluationSeriesContext, data: EvaluationSeriesData) {
    // Always log the fallback value being used
    this.logFallbackValue(
      seriesContext.flagKey,
      seriesContext.defaultValue,
    );
    return data;
  }
}

API

Use the LaunchDarkly API to generate reports on fallback values:

Example: This fallback-report script demonstrates how to:

  • Retrieve flag definitions from the LaunchDarkly API
  • Compare flag fallthrough/off variations with fallback values in code
  • Generate reports identifying mismatches

Use cases:

  • Scheduled reports comparing flag definitions with code fallback values
  • CI/CD integration to detect fallback value mismatches
  • Periodic audits of fallback value accuracy

Note: This approach relies on telemetry from SDKs generated when variation/variationDetail are called. The API only reports one fallback value and cannot reliably handle situations where different fallback values are used for different users or applications.

Static Analysis

Use static analysis to analyze fallback values:

  • Scan codebases for variation() calls
  • Extract fallback values from source code
  • Compare with flag definitions

AI Tools

Use AI tools to analyze fallback values:

  • Use AI to analyze code and suggest fallback value updates. You can find an example prompt in the LaunchDarkly Labs Agent Prompts repository.
  • Identify patterns in fallback value usage
  • Generate recommendations based on flag lifecycle stage
  • Use ldcli or the LaunchDarkly MCP to enable the agent to compare fallback values to flag definitions