Budget adjustments Beta
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:
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.
Budget adjustment is a beta feature.
Budget adjustment components
Budget adjustments in Nobl9 rely on two key components:
- Budget adjustment definitions—Instructions for when to adjust an error budget, how long it should last, and which SLOs it should affect.
- Budget adjustment events—The actual adjustments executed based on the definitions.
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.
Completed | Active | Not started | |
---|---|---|---|
One-time | Read-only | Editable display name, description, and duration (if the updated event will end in the future) | Fully editable |
Recurring | Read-only | Fully 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.
Status | Description | Editing options |
---|---|---|
Past | The event ended before the current time | You can edit and delete events that occurred within the last 30 days. These operations trigger an error budget recalculation |
Ongoing | The event started and will end in the future | Read-only |
Future | The event will start after the current time | To change a future event, edit its definition |
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.
Limitations
The following limits apply to budget adjustments:
Limit | Applies 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 period | Recurring 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.

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
Option | What it does | When you can use it |
---|---|---|
Edit definition | Affects only ongoing and future events | You 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 definition1 | Stops 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 definition1 | Stops 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 event | Updates an event's duration, recalculating the error budget | Only for events from the last 30 days |
Delete event | Removes the event, recalculating the error budget using all data points from that period | Only 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.
Tool | Adjustment components | Bulk operations | Composite SLOs |
---|---|---|---|
Web application | Definitions and events | Not supported | Events are not displayed |
sloctl | Definitions and events | Supported | Can retrieve read-only events |
Adjustments API | Events only | Supported for: • Retrieving multiple events from a single definition • Modifying individual events across multiple SLOs | Can retrieve read-only events |
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
Role | Permissions | Permission scope |
---|---|---|
Organization admin | View Apply Delete | Global |
Project owner | View Apply Delete | Owned project All involved SLOs must be within owned projects. Otherwise, the action on a budget adjustment fails |