> ## 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 data using dashboards

export const ServiceIcon = props => {
  return <svg viewBox="0 0 22 20" {...props} className="inline-block h-5 w-5 fill-current" aria-label="ServiceIcon">
      <path fillRule="evenodd" clipRule="evenodd" d="M10.7339 0.0766817C10.8966 -0.0255606 11.1034 -0.0255606 11.2661 0.0766817L16.2661 3.21954C16.4117 3.31104 16.5 3.47092 16.5 3.64286V8.35714C16.5 8.52908 16.4117 8.68896 16.2661 8.78046L11.2661 11.9233C11.1034 12.0256 10.8966 12.0256 10.7339 11.9233L5.73391 8.78046C5.58834 8.68896 5.5 8.52908 5.5 8.35714V3.64286C5.5 3.47092 5.58834 3.31104 5.73391 3.21954L10.7339 0.0766817ZM6.5 4.54772V8.08086L10.5 10.5951V7.062L6.5 4.54772ZM11.5 7.062V10.5951L15.5 8.08086V4.54772L11.5 7.062ZM15.0605 3.64286L11 6.19514L6.93955 3.64286L11 1.09057L15.0605 3.64286Z" />
      <path fillRule="evenodd" clipRule="evenodd" d="M5.73391 8.07668C5.89657 7.97444 6.10343 7.97444 6.26609 8.07668L11.2661 11.2195C11.4117 11.311 11.5 11.4709 11.5 11.6429V16.3571C11.5 16.5291 11.4117 16.689 11.2661 16.7805L6.26609 19.9233C6.10343 20.0256 5.89657 20.0256 5.73391 19.9233L0.733914 16.7805C0.588344 16.689 0.5 16.5291 0.5 16.3571V11.6429C0.5 11.4709 0.588344 11.311 0.733914 11.2195L5.73391 8.07668ZM1.5 12.5477V16.0809L5.5 18.5951V15.062L1.5 12.5477ZM6.5 15.062V18.5951L10.5 16.0809V12.5477L6.5 15.062ZM10.0605 11.6429L6 14.1951L1.93955 11.6429L6 9.09057L10.0605 11.6429Z" />
      <path fillRule="evenodd" clipRule="evenodd" d="M15.7339 8.07668C15.8966 7.97444 16.1034 7.97444 16.2661 8.07668L21.2661 11.2195C21.4117 11.311 21.5 11.4709 21.5 11.6429V16.3571C21.5 16.5291 21.4117 16.689 21.2661 16.7805L16.2661 19.9233C16.1034 20.0256 15.8966 20.0256 15.7339 19.9233L10.7339 16.7805C10.5883 16.689 10.5 16.5291 10.5 16.3571V11.6429C10.5 11.4709 10.5883 11.311 10.7339 11.2195L15.7339 8.07668ZM11.5 12.5477V16.0809L15.5 18.5951V15.062L11.5 12.5477ZM16.5 15.062V18.5951L20.5 16.0809V12.5477L16.5 15.062ZM20.0605 11.6429L16 14.1951L11.9395 11.6429L16 9.09057L20.0605 11.6429Z" />
    </svg>;
};

export const CollectionIcon = props => {
  const drawPath = "M21 6.5c-1.66 0-3 1.34-3 3 0 .07 0 .14.01.21l-2.03.68c-.64-1.21-1.82-2.09-3.22-2.32V5.91C14.04 5.57 15 4.4 15 3c0-1.66-1.34-3-3-3S9 1.34 9 3c0 1.4.96 2.57 2.25 2.91v2.16c-1.4.23-2.58 1.11-3.22 2.32l-2.04-.68C6 9.64 6 9.57 6 9.5c0-1.66-1.34-3-3-3s-3 1.34-3 3 1.34 3 3 3c1.06 0 1.98-.55 2.52-1.37l2.03.68c-.2 1.29.17 2.66 1.09 3.69l-1.41 1.77C6.85 17.09 6.44 17 6 17c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3c0-.68-.22-1.3-.6-1.8l1.41-1.77c1.36.76 3.02.75 4.37 0l1.41 1.77c-.37.5-.59 1.12-.59 1.8 0 1.66 1.34 3 3 3s3-1.34 3-3-1.34-3-3-3c-.44 0-.85.09-1.23.26l-1.41-1.77c.93-1.04 1.29-2.4 1.09-3.69l2.03-.68c.53.82 1.46 1.37 2.52 1.37 1.66 0 3-1.34 3-3S22.66 6.5 21 6.5zm-18 4c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zM6 21c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm5-18c0-.55.45-1 1-1s1 .45 1 1-.45 1-1 1-1-.45-1-1zm1 12c-1.38 0-2.5-1.12-2.5-2.5S10.62 10 12 10s2.5 1.12 2.5 2.5S13.38 15 12 15zm6 4c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm3-8.5c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1z";
  return <svg viewBox="0 0 24 25" data-testid="CollectionIcon" aria-label="CollectionIcon" {...props} className="inline-block h-5 w-5 fill-current">
      <path d={drawPath} />
    </svg>;
};

Use dashboards to analyze your metrics by creating visualizations of query results
that you can customize, filter, and focus. You can use this to identify and act on
trends, correlate changes in data to incidents, and monitor real-time statuses.

Chronosphere Observability Platform provides two types of dashboards:

* Standard dashboards, documented on this page
* [Classic dashboards](/observe/dashboards/classic-dashboards), based on Grafana

Standard dashboards are purpose-built for observability with Observability Platform,
and are the only dashboards with a commitment to ongoing development.

<Note>
  Standard dashboards aren't available to all Observability Platform users and might
  not be visible in your app. For information about enabling this feature in your
  environment, contact [Chronosphere Support](/support).
</Note>

Dashboards are individual pages made up of [panels](/observe/dashboards/panels).
These panels can be [different types](/observe/dashboards/panels#panel-types),
depending on the data or text you want to visualize. Dashboards have many
customization options to help you focus on and group the information you need.

Observability Platform lists your [favorite](/navigate/favorites) dashboards on your
personal home page and prioritizes them in global search results.

## View dashboards

Select from the following methods to view your available dashboards.

<Tabs>
  <Tab title="Web" id="view-dashboards-web">
    To search for a dashboard from anywhere in Observability Platform:

    1. Click the global search bar to focus on it, or use the keyboard shortcut
       `Control+K` (`Command+K` on macOS).
    2. Click the **Dashboards** filter.
    3. Begin typing any part of the dashboard's name.
    4. Click a dashboard listed in the search results to view it, or use the arrow keys
       to select the result and press `Enter` (`Return` on macOS).

    To view all dashboards, in the navigation menu select **Dashboards**. This displays a
    table listing every dashboard in your organization.

    In the table's **Owner** column, the <CollectionIcon /> collection icon indicates a
    dashboard is part of a [collection](/administer/collections). The <ServiceIcon />
    service icon indicates a dashboard is part of a [service](/observe/services).

    The table's **Type** column indicates whether the dashboard is a
    [classic](/observe/dashboards/classic-dashboards) or standard dashboard.

    The table's **Source** column indicates how your organization manages each dashboard
    as an Observability Platform resource. Dashboards managed in Observability Platform
    or with [Chronoctl](/tooling/chronoctl) list no source, and you can manage and modify them
    with either the app or Chronoctl. You **must** manage dashboards created in
    [Terraform](/tooling/infrastructure/terraform) with Terraform.

    You can toggle the visibility of columns and pin selected columns to the left or
    right sides of the table by holding the pointer over the column and clicking
    the <Icon icon="ellipsis-vertical" alt="Settings icon" /> column settings icon.

    You can also filter the table's contents to display only those with certain names
    or properties.

    * To filter the table's contents by name, enter part or all of a dashboard name
      into the **Search dashboards <Icon icon="search" alt="Search icon" />** field.
    * To filter the table by team or owner, select their name from their respective
      **Select a team** and **Select an owner** dropdowns or enter part or all of their
      name into the fields to filter the dropdown options.
    * To filter the table by tag, click **Select a tag** and select its name from the
      suggestion list, or enter part or all of a tag name into the field to filter the
      list.
    * To filter the table to display only your favorite dashboards, click the
      **View only my favorites** toggle.
    * **Include connected dashboards**: If you filter dashboards by owner while the
      toggle is disabled, you'll only get dashboards owned by that owner. When the toggle
      is enabled, your filter includes dashboards that are connected to that owner, even
      if they aren't owned by that owner. Connections are based on
      [collections](/administer/collections/home).

    Observability Platform displays your favorite dashboards and those you have
    recently opened on your personal home page. On the dashboards list page, click
    **View recent** to view a list of your most recently visited dashboards and add
    them to your [favorites](/navigate/favorites).
  </Tab>

  <Tab title="Chronoctl" id="view-dashboards-chronoctl">
    To return a list of all dashboards with [Chronoctl](/tooling/chronoctl), use the
    `chronoctl dashboards list` command:

    ```shell theme={null}
    chronoctl dashboards list
    ```

    You can list specific dashboards by name or slug by
    passing a comma-delimited list to the `--names` or `--slugs` flags, respectively. For
    example:

    ```shell theme={null}
    chronoctl dashboards list --names LIST
    ```

    Replace *`LIST`* with a comma-separated list of dashboard names as a string, such as
    `"Infra Dashboard,Frontend Dashboard"`.

    <Note>
      Dashboard resources returned by `list` don't contain the dashboard's JSON definitions
      by default, but resources returned by `read` do. To include dashboard JSON with
      `dashboards list`, add the `--include-dashboard-json` option to the command:

      ```shell theme={null}
      chronoctl dashboards list --include-dashboard-json
      ```
    </Note>

    To return a single dashboard, use the `chronoctl dashboards read` command:

    ```shell theme={null}
    chronoctl dashboards read SLUG
    ```

    Replace *`SLUG`* with the dashboard's slug.
  </Tab>

  <Tab title="API" id="view-dashboards-api">
    To complete this action with the Chronosphere API, use the
    [`ListDashboards`](/tooling/api-info/definition/operations/ListDashboards) endpoint.

    Because the Chronosphere API requires authentication, include an API token with your
    `curl` request, as shown in the following example. For more details, see
    [Create an API token](/tooling/api-info#create-an-api-token).

    ```shell /"TOKEN"/ /INSTANCE/ /METHOD/ /ENDPOINT_PATH/ theme={null}
    export CHRONOSPHERE_API_TOKEN="TOKEN"
    export CHRONOSPHERE_DOMAIN="INSTANCE.chronosphere.io"

    curl -H "API-Token: ${CHRONOSPHERE_API_TOKEN}" \
         -X METHOD "https://${CHRONOSPHERE_DOMAIN}/ENDPOINT_PATH"
    ```

    Replace the following:

    * *`TOKEN`*: Your API token.
    * *`INSTANCE`*: The subdomain name for your organization's Observability Platform instance.
    * *`METHOD`*: The HTTP method to use with the request, such as `GET` or `POST`.
    * *`ENDPOINT_PATH`*: The specific endpoint you want to access.
  </Tab>
</Tabs>

### View Chronosphere-managed dashboards

Observability Platform includes several dashboards to visualize information about
itself and its usage within your organization. For more information, see
[Chronosphere-managed dashboards](/observe/dashboards/chronosphere-managed-dashboards).

## Create or import a dashboard

To add a dashboard, you can:

* [Create a new dashboard](#create-a-new-dashboard).
* [Duplicate an existing dashboard](#duplicate-a-dashboard).
* [Import a classic dashboard](#import-a-classic-dashboard).

### Create a new dashboard

Select from the following methods to create a new dashboard. You can create a
dashboard in the Observability Platform web interface, or define the
dashboard [in code](/tooling/gitops#use-the-code-config-tool) and upload it. See the
[dashboard configuration schema](/tooling/api-info/dashboard_schema)
for help defining fields in code.

<Tabs>
  <Tab title="Web" id="create-a-dashboard-web">
    <Note>
      These steps apply only to standard dashboards. For classic dashboards, see
      [Classic dashboards](/observe/dashboards/classic-dashboards).
    </Note>

    To create a new dashboard:

    1. In the navigation menu select **<Icon icon="layout-dashboard" /> Dashboards**.
    2. Click **+ Add**.
    3. In the menu that appears, click **New dashboard** to open the **Add dashboard**
       dialog.
    4. Enter a descriptive name in the **Dashboard name** field.
    5. Enter an **Owner** in the corresponding fields to associate the dashboard with
       a [Collection](/administer/collections) or [Service](/observe/services).
    6. Optional: Enter **Tags** in the corresponding field to associate the dashboard
       with key/value tag pairs.
    7. Click **Save**.

    You can also create a new dashboard from an
    [existing panel](/observe/dashboards/panels#copy-a-panel-to-a-dashboard),
    [duplicate an existing dashboard](#duplicate-a-dashboard),
    [import a JSON file](#import-a-dashboard-with-json), or from the
    [**Recent dashboards** panel](/observe/personal-homepage#recent-resources) on
    your personal home page. To add panels to a notebook instead, see
    [Add items to your notebook](/navigate/notebooks#add-items-to-your-notebook).
  </Tab>

  <Tab title="Chronoctl" id="create-a-dashboard-chronoctl">
    To create a new dashboard using [Chronoctl](/tooling/chronoctl), configure it in a YAML
    resource definition and apply it.

    <Note>
      If you don't already have a YAML configuration file, use the
      `chronoctl dashboards scaffold` command to generate a template for a specific
      resource type:

      ```shell theme={null}
      chronoctl dashboards scaffold
      ```

      You can redirect the results (using the redirection operator `>`) to a file for
      editing.
    </Note>

    To create a new dashboard as code:

    1. Configure the dashboard by editing the resource's properties. Remove any properties
       you don't want to configure.

       Define the dashboard within the YAML resource as a block of JSON. You can retrieve
       the JSON of an existing dashboard from Observability Platform by navigating to
       the dashboard and clicking the **<Icon icon="download" /> Download JSON**
       button.

       For example, this resource creates an empty dashboard with the name `Infra Dashboard`
       and slug `infra-dashboard`:

       ```yaml theme={null}
       api_version: v1/config
       kind: Dashboard
       spec:
         # Unique identifier of the Dashboard. If slug is not provided, one will be
         # generated based of the name field. Cannot be modified after the Dashboard
         # is created.
         slug: "infra-dashboard"
         # Required name of the Dashboard. May be modified after the Dashboard is created.
         name: "Infra Dashboard"
         # Required raw JSON of the dashboard.
         dashboard_json: >
           {
             "kind": "Dashboard",
             "metadata": {
               "name": "Infra dashboard"
             },
             "spec": {
               "events": [],
               "panels": {},
               "layouts": [],
               "variables": [],
               "duration": "30m"
             }
           }
         # Required collection associated with this dashboard.
         collection_slug: "infra-collection"
       ```

    2. Apply the changes:

       ```shell theme={null}
       chronoctl apply -f FILE_NAME.yaml
       ```

       Replace *`FILE_NAME`* with the name of your notifier YAML file.
  </Tab>

  <Tab title="Terraform" id="create-a-dashboard-terraform">
    To create a dashboard with [Terraform](/tooling/infrastructure/terraform):

    1. Create or edit a Terraform file that updates the resource's existing properties.
       You can [export the configuration](/observe/dashboards#export-a-dashboard) of an
       existing dashboard and edit it to create a new dashboard.
    2. Run this command to apply the changes:

       ```shell theme={null}
       terraform apply
       ```
  </Tab>

  <Tab title="API" id="create-a-dashboard-api">
    To complete this action with the Chronosphere API, use the
    [`CreateDashboard`](/tooling/api-info/definition/operations/CreateDashboard) endpoint.

    Because the Chronosphere API requires authentication, include an API token with your
    `curl` request, as shown in the following example. For more details, see
    [Create an API token](/tooling/api-info#create-an-api-token).

    ```shell /"TOKEN"/ /INSTANCE/ /METHOD/ /ENDPOINT_PATH/ theme={null}
    export CHRONOSPHERE_API_TOKEN="TOKEN"
    export CHRONOSPHERE_DOMAIN="INSTANCE.chronosphere.io"

    curl -H "API-Token: ${CHRONOSPHERE_API_TOKEN}" \
         -X METHOD "https://${CHRONOSPHERE_DOMAIN}/ENDPOINT_PATH"
    ```

    Replace the following:

    * *`TOKEN`*: Your API token.
    * *`INSTANCE`*: The subdomain name for your organization's Observability Platform instance.
    * *`METHOD`*: The HTTP method to use with the request, such as `GET` or `POST`.
    * *`ENDPOINT_PATH`*: The specific endpoint you want to access.
  </Tab>
</Tabs>

After creating a dashboard, you can populate it with
[panels](/observe/dashboards/panels), add and edit
[dashboard variables](/observe/dashboards/customization/dashboard-variables) and
events, and configure its [layouts](/observe/dashboards/customization/layouts). You
can also associate Services to dashboards by using either Chronoctl or Terraform.

### Duplicate a dashboard

You can duplicate dashboards, including in Observability Platform, and then customize
the duplicate. Chronosphere-managed dashboards can be duplicated but not deleted.

1. In the **Dashboards** page, click the <Icon icon="ellipsis-vertical" /> three
   vertical dots icon and then click **Duplicate**.

   Alternately, when viewing a dashboard, click
   **Settings**  <span aria-label="and then">></span> **Duplicate dashboard**.
2. Enter the following information:
   * **Dashboard name**: A name for the new dashboard.
   * **Owner**: The service or collection that owns this dashboard.
   * Optional: Select tags for the dashboard.
3. Click **Save**.

Your duplicated dashboard opens and is ready to edit.

### Import a dashboard with JSON

Observability Platform lets you upload one or more dashboards as JSON files.
To do so:

1. In the navigation menu select **<Icon icon="layout-dashboard" /> Dashboards**.
2. Click **+ Add**.
3. In the menu, click **Import dashboard** to open the **Import Dashboards** dialog.
4. Click **Import or Drag and Drop dashboard JSON File** to upload one or more exported
   dashboard JSON files, or drag and drop a dashboard JSON into the
   **Import Dashboard JSON** field.

   If the file fails validation, the dialog displays an error message that
   describes the failure.

   There is one entry for each uploaded file.
5. In the **Upload Settings** section, select an **Owner** for the dashboard to
   associate the dashboard with a [collection](/administer/collections) or
   [service](/observe/services).
6. Optional: Add a **Tag**.
7. Optional: Enter a descriptive name in the **Name** field. The field default is
   the import file's name.
8. Optional: Enter **Tags** in the corresponding field to associate the dashboard
   with key/value tag pairs.
9. Click **Import Dashboards** to import the dashboard.

When complete, the dialog displays a `Dashboard uploaded` success message.

#### Import a classic dashboard

You can [import a Grafana dashboard as a classic dashboard](/observe/dashboards/classic-dashboards/import-grafana-dashboards)
with Chronoctl or Terraform.

## Summarize your dashboard

<Note>
  This feature isn't available to all Chronosphere Observability Platform users and
  might not be visible in your app. For information about enabling this feature in your
  environment, contact [Chronosphere Support](/support).
</Note>

**Dashboard descriptions** use
[generative artificial intelligence (AI) tools](/overview/generative-ai)
to summarize a dashboard by its features and purpose.

A dashboard description includes the following:

* **Overview**: A high-level summary of the dashboard's purpose, the data it visualizes,
  and its potential uses.
* **Key Panel Groups**: A list of summaries for each panel group in the dashboard.
* **Variables**: A list of summaries for each variable in the dashboard.

To view a dashboard's description, click the
<Icon icon="https://mintcdn.com/chronosphere-74b1ef6e/DtNkYHISkABv3IpM/public/doc-assets/ai-list-light.svg?fit=max&auto=format&n=DtNkYHISkABv3IpM&q=85&s=48de3b458990070521bbb87f049efad2" className="block dark:hidden" width="16" height="16" data-path="public/doc-assets/ai-list-light.svg" /><Icon icon="https://mintcdn.com/chronosphere-74b1ef6e/DtNkYHISkABv3IpM/public/doc-assets/ai-list-dark.svg?fit=max&auto=format&n=DtNkYHISkABv3IpM&q=85&s=fb342b41a351af0dedb91f0237d422d8" className="hidden dark:block" width="16" height="16" data-path="public/doc-assets/ai-list-dark.svg" /> **AI Summary** icon.
Observability Platform displays the description in a pop-up.

To provide feedback on the description, click the **<Icon icon="thumbs-up" /> accept**
or **<Icon icon="thumbs-down" /> reject** buttons at the end of the description.

## Edit your dashboard settings

<Note>
  Users can modify Terraform-managed resources only by using Terraform.
  [Learn more](/tooling/infrastructure/terraform#prevent-changes-to-managed-resources).
</Note>

All dashboards have common settings and tools in the
**<Icon icon="settings" alt="Settings icon" /> Settings** menu.

These steps apply only to standard dashboards. For classic dashboards, see
[Classic dashboards](/observe/dashboards/classic-dashboards).

### Rename a dashboard

Select from the following methods to rename a dashboard.

<Tabs>
  <Tab title="Web" id="rename-a-dashboard-web">
    To rename a dashboard:

    1. Select the dashboard you want to rename.
    2. Click **<Icon icon="settings" alt="Settings icon" /> Settings**.
    3. Click **General**.
    4. Enter a new name in the **Dashboard name** field.
    5. Click **Apply**, and then click **Save** on the dashboard itself to save the
       change.
  </Tab>

  <Tab title="API" id="rename-a-dashboard-api">
    To complete this action with the Chronosphere API, use the
    [`UpdateDashboard`](/tooling/api-info/definition/operations/UpdateDashboard) endpoint and
    update the `name` key of the `dashboard` object.

    Because the Chronosphere API requires authentication, include an API token with your
    `curl` request, as shown in the following example. For more details, see
    [Create an API token](/tooling/api-info#create-an-api-token).

    ```shell /"TOKEN"/ /INSTANCE/ /METHOD/ /ENDPOINT_PATH/ theme={null}
    export CHRONOSPHERE_API_TOKEN="TOKEN"
    export CHRONOSPHERE_DOMAIN="INSTANCE.chronosphere.io"

    curl -H "API-Token: ${CHRONOSPHERE_API_TOKEN}" \
         -X METHOD "https://${CHRONOSPHERE_DOMAIN}/ENDPOINT_PATH"
    ```

    Replace the following:

    * *`TOKEN`*: Your API token.
    * *`INSTANCE`*: The subdomain name for your organization's Observability Platform instance.
    * *`METHOD`*: The HTTP method to use with the request, such as `GET` or `POST`.
    * *`ENDPOINT_PATH`*: The specific endpoint you want to access.
  </Tab>
</Tabs>

### Reassign a dashboard's owner

Select from the following methods to reassign a dashboard to a different
[collection](/administer/collections) or [service](/observe/services).

<Tabs>
  <Tab title="Web" id="reassign-a-dashboard-web">
    To reassign a dashboard:

    1. Select the dashboard you want to reassign.
    2. Click **<Icon icon="settings" alt="Settings icon" /> Settings**.
    3. Click **General**.
    4. Click the **Owner** dropdown.
    5. Scroll through the list and click the collection or service to which you want to assign
       the dashboard. To filter the list by owner name, begin typing a name into
       the dropdown field.
    6. Click **Apply**, and then click **Save** on the dashboard itself to save the
       change.
  </Tab>

  <Tab title="API" id="reassign-a-dashboard-api">
    To complete this action with the Chronosphere API, use the
    [`UpdateDashboard`](/tooling/api-info/definition/operations/UpdateDashboard) endpoint and
    update the `collection` key of the `dashboard` object.

    Because the Chronosphere API requires authentication, include an API token with your
    `curl` request, as shown in the following example. For more details, see
    [Create an API token](/tooling/api-info#create-an-api-token).

    ```shell /"TOKEN"/ /INSTANCE/ /METHOD/ /ENDPOINT_PATH/ theme={null}
    export CHRONOSPHERE_API_TOKEN="TOKEN"
    export CHRONOSPHERE_DOMAIN="INSTANCE.chronosphere.io"

    curl -H "API-Token: ${CHRONOSPHERE_API_TOKEN}" \
         -X METHOD "https://${CHRONOSPHERE_DOMAIN}/ENDPOINT_PATH"
    ```

    Replace the following:

    * *`TOKEN`*: Your API token.
    * *`INSTANCE`*: The subdomain name for your organization's Observability Platform instance.
    * *`METHOD`*: The HTTP method to use with the request, such as `GET` or `POST`.
    * *`ENDPOINT_PATH`*: The specific endpoint you want to access.
  </Tab>
</Tabs>

### Create and configure dashboard variables

*Dashboard variables* let users dynamically redefine parts of panel queries and
other features by selecting values from a dropdown or entering them into a field.

For details about creating and configuring dashboard variables, see
[Customize panel queries with dashboard variables](/observe/dashboards/customization/dashboard-variables).

### Add events to a dashboard

For information about adding events to a dashboard while viewing it, see
[Enable change events on dashboards](/observe/enable-events/dashboards#standard-dashboards).

### Review the version history

You can view the history of changes made to a dashboard.

1. Select a dashboard.
2. Click **<Icon icon="settings" alt="Settings icon" /> Settings**.
3. Click **Version history** to display a panel with two tabs:

   * [**Code config**](/tooling/gitops#use-the-code-config-tool): Displays a code
     representation of the selected entity as of the time of the selected revision.
   * **Code diff**: Displays a Git-style diff of the most-recent change made to the
     entity, in Chronosphere API format. To compare the selected revision to another
     revision in the history, click the **Compare With** dropdown and select the
     timestamp of the revision that you want to compare.
     * Click **Unified** to see the diff stacked horizontally.
     * Click **Split** to see changes side by side.
       You can see the user, service account, or
       [actor](/tooling/api-info#change-actors) which made and the method used for the
       last change at the top of the list of changes.

   To view a revision in the history, click any entry in the list of timestamped
   revisions. The timestamps default to your local timezone.

   You can view unchanged lines within the diff by clicking the **Expand X lines**
   links.

   For a natural language description of the differences between versions, click
   **Explain what has changed**. An information box appears with a summary of the
   changes. This summary can help users who are less familiar with code updates
   understand changes. Use the **thumbs up** or **thumbs down** icon
   to indicate whether the explanation was helpful or not.

   <Note>
     The Version History view retains up to 500 revisions, or up to 15 months of revisions
     if there are fewer than 500 revisions.
   </Note>

#### Restore a previous version

When reviewing the version history, you can restore a prior version.

1. Select the version to revert to.
2. Click **Restore to *`DATE`***, where *`DATE`* is the selected version.
3. Click **Restore**.

The dashboard refreshes and displays the restored version.

### Connect a dashboard to a service

Services and collections can own dashboards, but you can also connect a dashboard to a service
that doesn't own it. You might have dashboards where different groups have
responsibility for handling issues, but the information is important to other groups.

To connect a dashboard to a service:

1. Select a dashboard.
2. Click **<Icon icon="settings" alt="Settings icon" /> Settings**.
3. Click **Connections**.
4. Add or remove a [connection](/observe/services/extending-services#view-connected-resources).

### Make your dashboard full screen

Observability teams often use full screen displays for operational dashboards,
without menu bars cluttering the workspace. Observability Platform makes this
feature available as **Kiosk mode**.

To display Observability Platform in kiosk mode:

1. Select a dashboard.
2. Change any [**Compare**](/navigate/time-ranges#compare-current-data-to-past-data)
   or time period settings.
3. Click **<Icon icon="settings" alt="Settings icon" /> Settings**.
4. Click **Kiosk mode**.

The dashboard expands to display in the full screen. Edit functions aren't available
when in kiosk mode. You can however refresh the dashboard, or move forward and
backwards in the defined time period.

To exit kiosk mode, click `Esc`.

## Export a dashboard

Export your dashboard for use by your GitOps or infrastructure as code tools.

To view or download the full dashboard's code in Chronoctl, Terraform,
or API format:

1. Select a dashboard.
2. Click **<Icon icon="settings" alt="Settings icon" /> Settings**.
3. Click [**Code config**](/tooling/gitops#use-the-code-config-tool).

To export a dashboard's JSON configuration:

1. In the dashboard, click **<Icon icon="settings" alt="Settings icon" /> Settings**.
2. From the menu, select **JSON**. The **Dashboard JSON** dialog displays.
3. Click **<Icon icon="copy" /> Copy** to copy the JSON to your clipboard,
   or click **<Icon icon="download" />** to download the JSON.

You can also manually update the JSON, and then click **Apply** to change the
dashboard.

To view or export JSON for a specific panel, [view a panel's JSON](/observe/dashboards/panels#view-a-panels-json).

## Delete a dashboard

Select from the following methods to delete a dashboard.

<Note>
  Users can modify Terraform-managed resources only by using Terraform.
  [Learn more](/tooling/infrastructure/terraform#prevent-changes-to-managed-resources).
</Note>

<Tabs>
  <Tab title="Web" id="delete-a-dashboard-web">
    <Note>
      These steps apply only to standard dashboards. For classic dashboards, see
      [Classic dashboards](/observe/dashboards/classic-dashboards).
    </Note>

    To delete a dashboard while viewing it:

    1. Click **<Icon icon="settings" alt="Settings icon" /> Settings**.
    2. Click **General**.
    3. Click **Delete dashboard**.
    4. In the **Delete dashboard** dialog, click **Delete** to confirm the deletion.

    You can also delete a dashboard from the [**Dashboards**](#view-dashboards) table:

    1. Hold the pointer over a dashboard's row.
    2. Click its <Icon icon="ellipsis-vertical" alt="Settings icon" /> settings icon.
    3. Click **Delete**.
    4. In the **Delete dashboard** dialog, click **Delete** to confirm the deletion.
  </Tab>

  <Tab title="Chronoctl" id="delete-a-dashboard-chronoctl">
    To delete a dashboard with [Chronoctl](/tooling/chronoctl), use the
    `chronoctl delete dashboard` command:

    ```shell theme={null}
    chronoctl dashboards delete SLUG
    ```

    Replace *`SLUG`* with the unique slug identifier for the dashboard you want to
    delete.
  </Tab>

  <Tab title="Terraform" id="delete-a-dashboard-terraform">
    To delete a dashboard using [Terraform](/tooling/infrastructure/terraform):

    1. Remove the dashboard definition from the Terraform file.
    2. Run this command to apply the changes:

       ```shell theme={null}
       terraform apply
       ```
  </Tab>

  <Tab title="API" id="delete-a-dashboard-api">
    To complete this action with the Chronosphere API, use the
    [`DeleteDashboard`](/tooling/api-info/definition/operations/DeleteDashboard) endpoint.

    Because the Chronosphere API requires authentication, include an API token with your
    `curl` request, as shown in the following example. For more details, see
    [Create an API token](/tooling/api-info#create-an-api-token).

    ```shell /"TOKEN"/ /INSTANCE/ /METHOD/ /ENDPOINT_PATH/ theme={null}
    export CHRONOSPHERE_API_TOKEN="TOKEN"
    export CHRONOSPHERE_DOMAIN="INSTANCE.chronosphere.io"

    curl -H "API-Token: ${CHRONOSPHERE_API_TOKEN}" \
         -X METHOD "https://${CHRONOSPHERE_DOMAIN}/ENDPOINT_PATH"
    ```

    Replace the following:

    * *`TOKEN`*: Your API token.
    * *`INSTANCE`*: The subdomain name for your organization's Observability Platform instance.
    * *`METHOD`*: The HTTP method to use with the request, such as `GET` or `POST`.
    * *`ENDPOINT_PATH`*: The specific endpoint you want to access.
  </Tab>
</Tabs>

## Modify a dashboard's layout

Dashboard *layouts* help you organize related [panels](/observe/dashboards/panels)
into panel groups.

For more information, see
[Organize dashboard content with layouts](/observe/dashboards/customization/layouts).

## View and compare specific time ranges

*Comparison mode*, sometimes called week-over-week (WoW) view, helps you overlay
historical data on your current data in dashboards. This provides additional context
for comparing your current metrics with historical trends and expectations, or
identifying recurring trends and outliers.

For details about using comparison mode, see
[compare current data to past data](/navigate/time-ranges#compare-current-data-to-past-data).

## Query Accelerator

To help reduce the impact of slow queries on Dashboard performance, Observability
Platform automatically optimizes queries. The optimization process detects slow
aggregation queries in dashboard panels, creates pre-aggregated time series to
reflect those rollups, and replaces the slow results with the optimized results at
query time.
