> ## Documentation Index
> Fetch the complete documentation index at: https://docs-xcor.paloaltonetworks.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Compare SLO availability across periods with Single SLO panels

> Create and customize Single SLO panels that compare one service level objective's availability across multiple time periods on Palo Alto Networks Cortex XCOR dashboards.

A *Single SLO panel* displays the availability of one
[service level objective](/observe/slo) (SLO) across up to three time windows at once.
It doesn't use a query. You select an SLO, and the panel computes its availability for
you. Instead of a single value, though, it compares that SLO over several windows.

A Single SLO panel renders two views of the selected SLO:

* A row of *stat tiles*, one per time window, each showing the SLO's availability for
  that window.
* An optional *signal breakdown table* that lists the SLO's individual signals, with
  columns identifying each signal's labels and its availability in every time window.

Use a Single SLO panel to compare an SLO's recent health against a longer baseline,
such as the last 30 days next to the last 90 days. It also surfaces which underlying
signals are reducing availability against the objective.

From the panel's <Icon icon="ellipsis-vertical" alt="Options icon" /> **Options** menu,
select **View SLO** to open the selected SLO's detail page.

To create a panel or learn more about the configuration options common to all panels,
see [Panels](/observe/dashboards/panels).

## Single SLO panel data

A Single SLO panel doesn't use a query. The panel derives its values from the
[SLO](/observe/slo) you select. In the **Edit panel** interface, configure the panel on
the **SLO** and **Settings** tabs. The **Query** tab isn't shown.

## Signal breakdown table

A *signal* is a group the SLO tracks separately, defined by its
[signal grouping](/investigate/alerts/manage-slos#dimensions-signals-and-filters): a
combination of the labels the SLO groups by, or an individual series when the SLO alerts
by series. The signal breakdown table lists one row per signal, with a column for each
of the SLO's signal labels identifying it and a column for each configured time window
showing that signal's availability. Use it to find the signals negatively impacting
the objective. To open the SLO's detail page filtered to a signal, select the row's
**View signal** link. A row with no signal labels doesn't have a link.

The table appears only when the SLO has signals to break down, meaning an SLO that
groups by signal labels or reports a signal per series. When more than 500 signals
qualify, the panel lists the 500 with the lowest availability and shows the message
**Showing the 500 signals with the lowest availability.**

## Configure a Single SLO panel

You can configure a Single SLO panel by
[editing the panel](/observe/dashboards/panels#edit-a-panel) and using the **SLO** and
<Icon icon="settings" /> **Settings** tabs.

Any changes you make in the panel's **SLO** or **Settings** tab are immediately
reflected in the **Preview** pane, but take effect only when you click **Apply** in the
**Edit panel** interface and then **Save** the dashboard.

Cortex XCOR doesn't fully support directly editing a panel's JSON
representation. To configure a panel, edit it and modify individual fields. Use the JSON
representation only for managing your configuration as code with tools such as
[Chronoctl](/tooling/chronoctl) and [Terraform](/tooling/infrastructure/terraform).

### Select the SLO and filter the data

On the **SLO** tab:

* **Select a Service Level Objective**: The [SLO](/observe/slo) whose availability the
  panel renders. Each panel displays exactly one SLO.
* **Filter by signal label or dimension**: Optional label matchers that scope the panel
  to part of the SLO, such as a single cluster or region. Each filter consists of a
  label name, an operator, and a value. Supported operators are:

  * `=`: The label equals the value.
  * `!=`: The label doesn't equal the value.
  * `=~`: The label matches the value as a regular expression.
  * `!~`: The label doesn't match the value as a regular expression.

  You can use [list dashboard variables](/observe/dashboards/customization/dashboard-variables#configure-a-list-variable)
  as filter values.

### Choose the time windows

On the **Settings** tab, use the **Time window (up to 3)** group to add or remove windows.

A Single SLO panel compares up to three time windows, each shown as its own stat tile
and as a column in the signal breakdown table. At least one window is required.
Configure each window with the **Time window** dropdown, which offers common presets,
and the **From** and **To** fields, which show the window's start and end:

* **Dashboard time**: Computes availability over the dashboard's currently selected
  [time range](/navigate/time-ranges).
* **Last 7 days**, **Last 30 days**, **Last 90 days**: A rolling window of the selected
  length ending now, independent of the dashboard's time range.
* **Week to date**, **Month to date**: A window from the start of the current week or
  month through now.
* **Custom**: Any **From**/**To** pair that doesn't match a preset.

Selecting a preset fills in **From** and **To** for you. Each endpoint is a
`now`-relative expression, such as `now-7d` or `now/w`, or an absolute ISO 8601
timestamp. A new panel starts with three windows: the last 7 days, the last 30 days,
and the last 90 days.

### Choose what the panel shows

In the **Display** section, choose whether the panel renders the stat tiles, the signal
breakdown table, or both:

* **Show stat tiles**: Displays the row of tiles, one per time window. Enabled by
  default.
* **Show signal table**: Displays the signal breakdown table. Disabled by default, and
  available only for an SLO with signal grouping or per-series alerting.

The panel always keeps at least one of the two views visible. You can't hide stat tiles
while the signal table is hidden or unavailable, or hide the signal table while stat
tiles are hidden.

Use the **Decimals** dropdown in the same section to set the number of decimal places
Cortex XCOR uses when it displays an availability percentage, in both the
stat tiles and the breakdown table. Choose a value from `0` to `5` decimal places. The
default is `3`.

### Modify the stat tiles' display

In the **Stat tiles** section, configure display options that apply to every tile in the
row:

* **Show error budget**: Displays the SLO's remaining [error budget](/observe/slo).
  Enabled by default.
* **Show target**: Displays the SLO's objective target. Enabled by default.
* **Show spark line**: Displays a sparkline of availability over the window beneath the
  value. Disabled by default.


## Related topics

- [Visualize dashboard contents with panels](/observe/dashboards/panels.md)
- [Command Center](/observe/command-center.md)
- [Manage service level objectives](/investigate/alerts/manage-slos.md)
- [Design service level objectives](/administer/design-slos.md)
- [Customize dashboards](/observe/dashboards/customization.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.