SLO & Reliability Practical By Samson Tanimawo, PhD Published Oct 6, 2025 4 min read

SLO for Feature-Flagged Paths

New features have separate SLOs.

Idea

Most teams compute SLOs at the service level: total successful requests divided by total requests across every code path. That works for stable services but obscures problems with new features behind flags. A new feature shipped to 5% of users could be returning 30% errors and the service-level SLO will barely move. The fix is per-flag SLOs during the rollout window: each new feature has its own SLO until it has graduated.

What per-flag SLOs look like in practice:

Per-flag SLOs are the missing piece that makes feature flag rollouts safe at scale. Without them, the only signal teams have is global metrics that drown out the new code path's specific behavior.

Retire

Per-flag SLOs are temporary. They exist for the rollout window, not forever. Once the feature has graduated to full traffic and the flag is being retired, the flag-specific SLO retires with it. Carrying flag-specific SLOs forever produces dashboard clutter and false signals.

The retirement discipline is what keeps per-flag SLOs from becoming the next generation of dashboard sprawl. Each flag's SLO has a beginning, a useful period, and an end.

Benefit

Per-flag SLOs change how teams ship new features. The benefits compound across the engineering organization.

Per-flag SLOs are one of the highest-leverage observability investments a team can make for any product that ships behind feature flags. Nova AI Ops integrates with feature flag providers (LaunchDarkly, Unleash, Statsig) to tag traffic by flag, computes per-flag SLOs during the rollout window, and retires the calculation when the flag itself retires so the dashboard stays focused on what is actually rolling out today.