SLO Summary Widget

Setup

Use the SLO Summary widget to visualize a Service Level Objective (SLO) on a dashboard.

metric-based slo summary widget graph editor

Configuration

  1. Select an SLO from the dropdown menu.
  2. For metric-based SLOs: You can filter your query with tags and leverage template variables to dynamically scope your results:
    • Take advantage of template variables by using the filter by field to scope the SLO statuses the widget displays. For example, filter by $datacenter scopes your SLO query to whatever value you choose in the dashboard for the datacenter template variable.
    • Add additional scope and context to your SLO metric queries even if the tags were not included in the original SLO configuration. For example, if the original SLO query is sum:trace.flask.request.hits{*} by {resource_name}.as_count() and you filter by env:prod in the widget, your data will be scoped to only that from your prod environment.
  3. Select up to three different time windows.

Options

Set the time window

Select up to three different rolling time windows. Optionally, you can select a calendar time window or select Global Time.

Global Time allows you to display your SLO’s status and error budget over arbitrary time periods within the past 90 days.

You can specify an optional unique SLO target for the arbitrary time period. To display an error budget and to color code the SLO status value as green or red, you need to specify an SLO target.

Note: If the SLO input target is not specified, only the SLO status is shown and the font color remains gray.

Display preferences

Select whether to show or hide remaining error budget by toggling the Show error budget option. If you are visualizing a monitor-based SLO with multiple groups or multiple monitors, select your View mode:

  • For monitor-based SLOs configured with a single monitor broken into multiple groups, there are the following three view modes:

    • Overall: displays the overall SLO status percentages and targets
    • Groups: displays a table of status percentages for each group
    • Both: displays both the overall SLO status percentages and targets and table of status percentages for each group
  • For monitor-based SLOs configured with multiple monitors, there are the following three view modes:

    • Overall: displays the overall SLO status percentages and targets
    • Groups: displays a table of status percentages for each group
    • Both: displays both the overall SLO status percentages and targets and table of status percentages for each monitor

Note: When the Global Time time window option is selected you can only use the Overall view mode.

API

This widget can be used with the Dashboards API. See the Dashboards API documentation for additional reference.

The dedicated widget JSON schema definition for the SLO Summary widget is:

Expand All

Field

Type

Description

additional_query_filters

string

Additional filters applied to the SLO query.

global_time_target

string

Defined global time target.

show_error_budget

boolean

Defined error budget.

slo_id

string

ID of the SLO displayed.

time_windows

[string]

Times being monitored.

title

string

Title of the widget.

title_align

enum

How to align the text on the widget. Allowed enum values: center,left,right

title_size

string

Size of the title.

type [required]

enum

Type of the SLO widget. Allowed enum values: slo

view_mode

enum

Define how you want the SLO to be displayed. Allowed enum values: overall,component,both

view_type [required]

string

Type of view displayed by the widget.

{
  "additional_query_filters": "string",
  "global_time_target": "string",
  "show_error_budget": false,
  "slo_id": "string",
  "time_windows": [],
  "title": "string",
  "title_align": "string",
  "title_size": "string",
  "type": "slo",
  "view_mode": "string",
  "view_type": "detail"
}

Further Reading