Skip to main content

Budget adjustments
Beta

Reading time: 0 minute(s) (0 words)

Error budgets are invaluable for visualizing trends and understanding service performance. However, real-world data is not always perfect. Outliers and specific events—such as holidays, planned maintenance, or one-time occurrences—can distort error budget calculations and obscure meaningful insights.

For these scenarios, the budget adjustment feature allows you to exclude specific time windows, shielding the error budget from the impact of non-representative events like scheduled downtime or deployments. You can apply ad-hoc one-time or recurring adjustments to ensure that regular maintenance does not throw your SLOs off track.

To adjust an SLO's error budget, you can create a budget adjustment using one of the following tools:

With budget adjustments, you can:

Shield your error budget
Protect your SLOs from expected downtime, such as maintenance or deployments.
Customize your adjustments
Tailor exclusions to specific needs using flexible scheduling options.
Control your error budget
Exclude past or future periods where SLO compliance isn't required.

Budget adjustments help you maintain accurate insights by refining your error budget calculations to account for practical realities. This allows you to focus on long-term trends and make informed decisions without being misled by temporary fluctuations.

beta feature

Budget adjustment is a beta feature.

Budget adjustment components

Budget adjustments in Nobl9 rely on two key components:

Budget adjustment definitions

A budget adjustment definition establishes the parameters for applying an adjustment to one or more SLOs. It outlines:

  • Time frame—When the adjustment must take place, including start and end times.
  • Recurrence—Whether the adjustment is a one-time event or repeats over time.
  • Target SLOs—The specific SLOs to be adjusted (the adjustment applies to all objectives of the specified SLOs).

A single definition applied to multiple SLOs will generate a separate adjustment event for each SLO (bulk operations are supported in sloctl only).

Budget adjustment definitions can be categorized as follows:

  • By frequency
    • One-time: Triggers a single adjustment event
    • Recurring: Triggers adjustment events repeatedly according to the configured recurrence rules
  • By status
    • Completed: The definition has finished, and no more events will be triggered
    • Active: The definition is currently triggering events.
    • Not started: The definition is scheduled to start in the future

Editing options depend on the definition's frequency and status.

CompletedActiveNot started
One-timeRead-onlyEditable display name, description, and duration (if the updated event will end in the future)Fully editable
RecurringRead-onlyFully editable. Updates do not affect past events.Fully editable

Budget adjustment events

A budget adjustment event is a particular occurrence of an adjustment triggered for a particular SLO based on the parameters configured in the budget adjustment definition. A budget adjustment event is determined by:

  • Timeframe—when the event happens
  • SLO details—the specific SLO with the adjusted error budget

Adjustment events are applied to all objectives within the target SLO for the specified period.

Budget adjustment events can be past, ongoing, or future.

StatusDescriptionEditing options
PastThe event ended before the current timeYou can edit and delete events that occurred within the last 30 days. These operations trigger an error budget recalculation
OngoingThe event started and will end in the futureRead-only
FutureThe event will start after the current timeTo change a future event, edit its definition
Editing and deleting past budget adjustment events

This action recalculates the SLO's error budget, which can alter reliability reports. Use it with caution.

How budget adjustments work

Budget adjustments let you fine-tune your SLO's error budget by excluding timeframes where incoming data might skew your service reliability metrics.

You configure definitions
Pinpoint specific timeframes or incidents and create budget adjustment definitions.
Nobl9 executes adjustments
Nobl9 calculates reliability, skipping data points received during these timeframes. If your definition involves a past period, Nobl9 recalculates the SLO's error budget as if the downtime never happened.
You can review and modify past events
Review past adjustment events for accuracy and modify them if needed. The error budget is automatically recalculated with each modification.

Limitations

The following limits apply to budget adjustments:

LimitApplies to
Up to 30• SLOs that can be covered by a single budget adjustment definition
• Past events that can be modified in a single operation
• Days in the past that you can create an adjustment definition
• Days in the past that you can access adjustment events
Read-only• Budget adjustment events for composite SLOs
• Completed adjustment definitions
• Ongoing adjustment events
• Error budget older than 30 days (unavailable for recalculation)
No past periodRecurring budget adjustment definition (cannot be created with the first event start date in the past)

Impact on SLI data

Budget adjustment events do not affect SLI data. During an active budget adjustment, Nobl9 continues to collect and display data points on the SLI chart, but these points are ignored in the SLO's error budget calculations.

A budget adjustment event is marked on the SLI chart by an annotation with the icon. Click the icon to view the adjustment event details.

adjustment on sli chart
SLI chart with a marked budget adjustment event

Adjustments and Replay

To ensure data integrity, only one calculation (such as a budget adjustment or Replay) can be performed on an SLO at a time. New calculation requests for the same SLO are queued and processed sequentially.

This queuing prevents conflicts and ensures that calculations are handled in the correct order.

Handling budget adjustments

OptionWhat it doesWhen you can use it
Edit definitionAffects only ongoing and future eventsYou can edit:
• Recurring definitions—active and not started
• One-time definitions—active (limited to display name, description, and duration, if the updated event ends in the future) and not started (fully editable)
Discard definition1Stops triggering new adjustment events.
Ongoing events complete as scheduled.
Past events remain unchanged
Available for:
• Recurring—active and not started
• One-time—active and not started
Unlink definition1Stops triggering new events for specific SLOs. Ongoing events for these SLO are proceeded according to the definition.
Past events remain unchanged
Available for definitions applied to multiple SLOs:
• Recurring—any
• One-time—not started
Edit eventUpdates an event's duration, recalculating the error budgetOnly for events from the last 30 days
Delete eventRemoves the event, recalculating the error budget using all data points from that periodOnly for events from the last 30 days

1In the Nobl9 web application, discarding and unlinking adjustment definitions are distinct actions. Learn how these operations are handled in sloctl.

The scope of available operations depends on the tool you use.

ToolAdjustment componentsBulk operationsComposite SLOs
Web applicationDefinitions and eventsNot supportedEvents are not displayed
sloctlDefinitions and eventsSupportedCan retrieve read-only events
Adjustments APIEvents onlySupported for:
• Retrieving multiple events from a single definition
• Modifying individual events across multiple SLOs
Can retrieve read-only events
Job Status widget

The Job Status widget displays the Recalculation period extended to the current time, regardless of when an adjustment event ends. This is to ensure the cumulative error budget is accurately updated. During this recalculation, Nobl9 processes the entire period from the event's start to the present but excludes data points only from the specified adjustment window.

RBAC

RolePermissionsPermission scope
Organization adminView
Apply
Delete
Global
Project ownerView
Apply
Delete
Owned project
All involved SLOs must be within owned projects. Otherwise, the action on a budget adjustment fails
Check out these related guides and references: