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

# Visualize the status history

A *status history* panel visualizes status data returned by a
[query](/investigate/querying). Status history depicts the state over time of query
results, such as page visits or service status. State history is presented as a series
of boxes, each with their status and time result.

## Use a status history chart's tooltip

When you hold the pointer over a status history box, Chronosphere Observability
Platform displays a tooltip that includes the date and time where the cursor is
pointing. The tooltip also displays the value of the series at that point in time.
Moving the pointer along the series updates the values in the tooltip to the new point
in time.

### Pin a point in time

To pin the tooltip to a specific point in time, click the chart. The tooltip remains
visible until you click **Unpin <Icon icon="x" alt="Close icon" />** inside
the tooltip.

## Status history chart queries

Status history charts use one or more
[queries](/observe/dashboards/panels#change-a-panels-query) to retrieve data to
visualize.

Status history charts use the following query **Options** to refine the
displayed information, depending on your **Datasource**:

<Tabs>
  <Tab title="Metrics (Prometheus)" id="queries-metrics">
    * **Series naming**: Select a method to filter for metrics:
      * **Labels** require a **Naming pattern**. Use `{{ label_name }}` to include a
        label value. For example, `{{ env }}` will be replaced with values like staging-1, prod-1.
      * **Regex**: Use a [regular expression](/investigate/querying/regular-expressions)
        in the **Regex** text field to match a time series. You can also use a
        **Naming pattern** to rename series using capture groups.
    * **Min step**: The step parameter of the PromQL query.

    - **Truncation strategy**: Truncation strategy to apply to the query. This modifies
      the raw query. Observability Platform selects the best strategy for fit when
      possible, and displays `Auto` as the selected strategy.

      Available strategies are:

      * `Auto`
      * `Off`
      * `Avg`
      * `Min`
      * `Max`

      Changing your truncation strategy adds truncation information as additional bands
      or bars on your chart and details into the legend.
  </Tab>

  <Tab title="Graphite" id="queries-graphite">
    Graphite doesn't have additional query options.
  </Tab>

  <Tab title="Logs" id="queries-logs">
    **Series naming**: Select a method to filter for metrics:

    * **Labels** require a **Naming pattern**. Use `{{ label_name }}` to include a
      label value. For example, `{{ env }}` will be replaced with values like staging-1, prod-1.
    * **Regex**: Use a [regular expression](/investigate/querying/regular-expressions)
      in the **Regex** text field to match a time series. You can also use a
      **Naming pattern** to rename series using capture groups.
  </Tab>
</Tabs>

## Configure a status history chart

Configure a status history chart by
[modifying its <Icon icon="settings" /> **Settings**](/observe/dashboards/panels#edit-a-panel).

Any changes you make in the panel's **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.

Observability Platform doesn't fully support directly editing a panel's JSON
representation, and recommends configuring panels in the user interface. Use the JSON
representation only for managing your configuration as code with tools such as
[Chronoctl](/tooling/chronoctl) and [Terraform](/tooling/infrastructure/terraform).

### Modify a status history chart's properties

Use the **Density** slider in the **Settings** tab to change the vertical density of
the rows. Modify the resolution in the **Query** tab to change horizontal density.

### Choose how status history applies color

In the **Settings** tab, set whether row colors follow **metric values** or
**label values**:

* **By value**: Observability Platform picks colors from numeric thresholds.
  Define those thresholds in the [**Value mappings**](#modify-a-status-history-charts-value-mappings)
  section.
* **By label**: Observability Platform picks colors from the value of a label you
  choose. Map each label value to a color. Set a base color for series whose label
  value doesn't match any mapping.

### Modify status history units and formatting

The **Unit and formatting** section changes the display of units on the chart.

* **Unit**: Defines the unit used to render the Y-axis. This has the most significant
  effect when you enable Abbreviate. Defaults to `Decimal`.
  * **Decimal**: Base 10 values. Observability Platform renders a value of
    `1000000` as `1M`.
  * **Bytes**: As decimal multiple-byte units. Observability Platform renders a
    value of `1000000` as `1MB`.
  * **Time**: Determines the [unit of time](/overview/concepts/time-units)
    that Observability Platform uses to interpret a numeric value.
  * **Percent**: Interprets the value as a percentile, representing 0% to 100% in a
    range of either 0.0 to 1.0 (**Percent (0.0-1.0)**) or 0 and 100
    (**Percent (0-100)**).

    For example, Observability Platform renders a value of `1.0` in **Percent
    (0.0-1.0)** as `100%`, and in **Percent (0-100)** as `1%`.
* **Decimals**: Defines how many decimal places Observability Platform renders for
  values.
  **Default** renders decimal places only if necessary and rounds to the nearest
  value. Numeric values from `0` to `4` render the corresponding number of decimal
  places.
* **Abbreviate**: Toggles whether to abbreviate units on the Y-axis. For example, if
  enabled, Observability Platform renders a value of `100000000` as `100M`. You can
  toggle this setting only if you set the **Unit** to `Decimal` or `Bytes`; `Time`
  units are always abbreviated and `Percent` values don't require the toggle.
  Defaults to `true`.

### Modify a status history chart's value mappings

When you color **By value**, the **Value mappings** section in the panel's **Settings**
tab defines numeric thresholds where Observability Platform renders each range. Define
threshold values as absolute numeric values.

To create a new value mapping:

1. Click the plus sign (**+**) in the **Value mappings** section header.
2. In the **When value is** field that appears, choose an operation:

   * `>=`: Greater than or equal to
   * `=`: Equal to
3. Enter a threshold value for the status color line.
4. Click the caret (**>**) to open the field to add a **Label**.
5. Optional: Click the color indicator, depicted as a colored circle, to open a
   color selector and choose a color for the threshold.
6. In the **Edit panel** dialog, click **Apply** to save your changes.
7. After you've finished editing the panel, click **Save** on the dashboard to save
   your changes.

To delete a threshold, click the caret (**>**) to expand the threshold definition,
and then click the **<Icon icon="trash" alt="Delete icon" /> Delete** icon
on its corresponding row of the Thresholds section.
