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

# Changefeeds Dashboard

export const InternalLink = ({version, path = "", children, ...props}) => {
  let detectedVersion = version || "stable";
  if (typeof window !== 'undefined' && !version) {
    const match = window.location.pathname.match(/\/docs\/([^/]+)/);
    if (match) {
      detectedVersion = match[1];
    }
  }
  const normalizedPath = path.startsWith("/") ? path.slice(1) : path;
  return <a href={`/docs/${detectedVersion}/${normalizedPath}`} {...props}>
      {children}
    </a>;
};

The **Changefeeds** dashboard in the DB Console lets you monitor the <InternalLink path="change-data-capture-overview">changefeeds</InternalLink> created across your cluster.

To view this dashboard, <InternalLink path="ui-overview#db-console-access">access the DB Console</InternalLink>, click **Metrics** on the left-hand navigation bar, and then select **Dashboard** > **Changefeeds**.

<Tip>
  For more general recommendations on metrics and tooling options for change data capture monitoring, refer to the <InternalLink path="monitor-and-debug-changefeeds">Monitor and Debug Changefeeds</InternalLink> page.
</Tip>

## Dashboard navigation

Use the **Graph** menu to display metrics for your entire cluster or for a specific node.

To the right of the Graph and Dashboard menus, a time interval selector allows you to filter the view for a predefined or custom time interval. Use the navigation buttons to move to the previous, next, or current time interval. When you select a time interval, the same interval is selected in the <InternalLink path="ui-overview#sql-activity">SQL Activity</InternalLink> pages. However, if you select 10 or 30 minutes, the interval defaults to 1 hour in SQL Activity pages.

Hovering your mouse pointer over the graph title will display a tooltip with a description and the <InternalLink path="essential-metrics-self-hosted">metrics</InternalLink> used to create the graph.

When hovering on graphs, crosshair lines will appear at your mouse pointer. The series' values corresponding to the given time in the cross hairs are displayed in the legend under the graph. Hovering the mouse pointer on a given series displays the corresponding value near the mouse pointer and highlights the series line (graying out other series lines). Click anywhere within the graph to freeze the values in place. Click anywhere within the graph again to cause the values to change with your mouse movements once more.

In the legend, click on an individual series to isolate it on the graph. The other series will be hidden, while the hover will still work. Click the individual series again to make the other series visible. If there are many series, a scrollbar may appear on the right of the legend. This is to limit the size of the legend so that it does not get endlessly large, particularly on clusters with many nodes.

The **Changefeeds** dashboard displays the following time series graphs:

## Changefeed Status

This graph displays the status of all running changefeeds.

<img src="https://mintcdn.com/cockroachlabs/6qI-DTIWMnaeNI5F/images/v24.1/ui-changefeed-status.png?fit=max&auto=format&n=6qI-DTIWMnaeNI5F&q=85&s=e546c1e36f45fc060581648a92952ef7" alt="DB Console Changefeed Status graph showing running, paused, and failed changefeeds." width="1203" height="471" data-path="images/v24.1/ui-changefeed-status.png" />

| Metric      | Description                                                                     |
| ----------- | ------------------------------------------------------------------------------- |
| **Running** | The number of changefeeds running.                                              |
| **Paused**  | The number of <InternalLink path="pause-job">paused</InternalLink> changefeeds. |
| **Failed**  | The number of changefeeds that have failed.                                     |

Refer to <InternalLink path="resume-job">`RESUME JOB`</InternalLink> and <InternalLink path="pause-job">`PAUSE JOB`</InternalLink> to manage a changefeed.

In the case of a failed changefeed, you may want to use the <InternalLink path="create-changefeed">`cursor`</InternalLink> option to restart the changefeed. Refer to the <InternalLink path="create-changefeed#start-a-new-changefeed-where-another-ended">Start a new changefeed where the previous failed</InternalLink> example.

## Commit Latency

This graph displays the 99th, 90th, and 50th percentile of commit latency for running changefeeds. This is the difference between an event's MVCC timestamp and the time it was acknowledged as received by the <InternalLink path="changefeed-sinks">downstream sink</InternalLink>.

<img src="https://mintcdn.com/cockroachlabs/6qI-DTIWMnaeNI5F/images/v24.1/ui-commit-latency.png?fit=max&auto=format&n=6qI-DTIWMnaeNI5F&q=85&s=267eb567f656f1ab9cd9a6892b391798" alt="DB Console Commit Latency graph showing the 99th, 90th, and 50th percentile of commit latency." width="1201" height="470" data-path="images/v24.1/ui-commit-latency.png" />

If the sink batches events, then the difference between the oldest event in the batch and acknowledgement is recorded. Latency during backfill is excluded.

## Emitted Bytes

This graph shows the number of bytes emitted by CockroachDB into the changefeed's <InternalLink path="changefeed-sinks">downstream sink</InternalLink>.

<Note>
  In v23.1 and earlier, the **Emitted Bytes** graph was named **Sink Byte Traffic**. If you want to customize charts, including how metrics are named, use the <InternalLink path="ui-custom-chart-debug-page">**Custom Chart** debug page</InternalLink>.
</Note>

<img src="https://mintcdn.com/cockroachlabs/6qI-DTIWMnaeNI5F/images/v24.1/ui-emitted-bytes.png?fit=max&auto=format&n=6qI-DTIWMnaeNI5F&q=85&s=eb541e14cb90344f5555b2065d1b9f7d" alt="DB Console Emitted Bytes Graph showing the time and emitted bites" width="1201" height="470" data-path="images/v24.1/ui-emitted-bytes.png" />

| Metric            | Description                                                                      |
| ----------------- | -------------------------------------------------------------------------------- |
| **Emitted Bytes** | The number of bytes emitted by CockroachDB into the configured changefeed sinks. |

## Sink Counts

This graph displays data relating to the number of messages and flushes at the changefeed sink.

* The number of messages that CockroachDB sent to the sink.
* The number of flushes that the sink performed for changefeeds.

  <img src="https://mintcdn.com/cockroachlabs/6qI-DTIWMnaeNI5F/images/v24.1/ui-sink-counts.png?fit=max&auto=format&n=6qI-DTIWMnaeNI5F&q=85&s=7ac479f5bf98b4a725461150ced82dd6" alt="DB Console Sink Counts graph" width="1200" height="467" data-path="images/v24.1/ui-sink-counts.png" />

| Metric       | Description                                                          |
| ------------ | -------------------------------------------------------------------- |
| **Messages** | The number of messages that CockroachDB sent to the downstream sink. |
| **Flushes**  | The total number of flushes to the sink.                             |

## Max Checkpoint Latency

This graph displays the most any changefeed's persisted <InternalLink path="how-does-an-enterprise-changefeed-work">checkpoint</InternalLink> is behind the present time. Larger values indicate issues with successfully ingesting or emitting changes. If errors cause a changefeed to restart, or the changefeed is <InternalLink path="pause-job">paused</InternalLink> and unpaused, emitted data up to the last checkpoint may be re-emitted.

<Note>
  In v23.1 and earlier, the **Max Checkpoint Latency** graph was named **Max Changefeed Latency**. If you want to customize charts, including how metrics are named, use the <InternalLink path="ui-custom-chart-debug-page">**Custom Chart** debug page</InternalLink>.
</Note>

<img src="https://mintcdn.com/cockroachlabs/6qI-DTIWMnaeNI5F/images/v24.1/ui-max-checkpoint-latency.png?fit=max&auto=format&n=6qI-DTIWMnaeNI5F&q=85&s=4a33e45ef4c26caa18ff8b2330c90a7d" alt="DB Console Max Checkpoint Latency graph" width="1200" height="466" data-path="images/v24.1/ui-max-checkpoint-latency.png" />

<Note>
  The maximum checkpoint latency is distinct from, and slower than, the commit latency for individual change messages. For more information about resolved timestamps, refer to the <InternalLink path="changefeed-messages#resolved-messages">Changefeed Messages</InternalLink> page.
</Note>

## Changefeed Restarts

This graph displays the number of times changefeeds restarted due to <InternalLink path="monitor-and-debug-changefeeds">retryable errors</InternalLink>.

<img src="https://mintcdn.com/cockroachlabs/6qI-DTIWMnaeNI5F/images/v24.1/ui-changefeed-restarts.png?fit=max&auto=format&n=6qI-DTIWMnaeNI5F&q=85&s=7ea8ac258cc5e4770f9af4d8b6ba336c" alt="DB Console Changefeed Restarts graph" width="1200" height="469" data-path="images/v24.1/ui-changefeed-restarts.png" />

| Metric               | Description                                                                                                                  |
| -------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| **Retryable Errors** | The number of retryable errors that changefeeds are encountering. That is, an error the changefeed will automatically retry. |

## Oldest Protected Timestamp

This graph displays the oldest <InternalLink path="architecture/storage-layer#protected-timestamps">protected timestamp</InternalLink> of any running changefeed on the cluster.

<img src="https://mintcdn.com/cockroachlabs/6qI-DTIWMnaeNI5F/images/v24.1/ui-oldest-protected-timestamp.png?fit=max&auto=format&n=6qI-DTIWMnaeNI5F&q=85&s=045ff14fab0b67d793d95f57da2180f5" alt="DB Console Oldest Protected Timestamp graph" width="1194" height="466" data-path="images/v24.1/ui-oldest-protected-timestamp.png" />

| Metric                      | Description                                                                                                                                                                                           |
| --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Protected Timestamp Age** | The age of the oldest protected timestamp (of any changefeed) that is protecting data from being <InternalLink path="architecture/storage-layer#garbage-collection">garbage collected</InternalLink>. |

## Backfill Pending Ranges

This graph displays the number of ranges being backfilled that are yet to enter the changefeed pipeline. An <InternalLink path="create-changefeed">initial scan</InternalLink> or <InternalLink path="online-schema-changes">schema change</InternalLink> can cause a backfill.

<img src="https://mintcdn.com/cockroachlabs/6qI-DTIWMnaeNI5F/images/v24.1/ui-backfill-pending-ranges.png?fit=max&auto=format&n=6qI-DTIWMnaeNI5F&q=85&s=75445f7cfc6df7d7d84eb9dce88fd1fe" alt="DB Console Backfill Pending Ranges graph" width="1200" height="466" data-path="images/v24.1/ui-backfill-pending-ranges.png" />

| Metric                      | Description                                                                                   |
| --------------------------- | --------------------------------------------------------------------------------------------- |
| **Backfill Pending Ranges** | The number of ranges in the backfill process that have not yet entered the changefeed stream. |

## Schema Registry Registrations

This graph displays the rate of schema registration requests made by CockroachDB nodes to a configured schema registry endpoint. For example, a <InternalLink path="changefeed-sinks#kafka">Kafka sink</InternalLink> pointing to a <InternalLink path="stream-a-changefeed-to-a-confluent-cloud-kafka-cluster">Confluent Schema Registry</InternalLink>.

<img src="https://mintcdn.com/cockroachlabs/6qI-DTIWMnaeNI5F/images/v24.1/ui-schema-registry-registrations.png?fit=max&auto=format&n=6qI-DTIWMnaeNI5F&q=85&s=e9380abacac9cf2414638128c17e181a" alt="DB Console Schema Registry Registrations graph" width="1200" height="467" data-path="images/v24.1/ui-schema-registry-registrations.png" />

| Metric                            | Description                                                  |
| --------------------------------- | ------------------------------------------------------------ |
| **Schema Registry Registrations** | The number of registrations to a downstream schema registry. |

## Ranges in catchup mode

This graph displays the total number of ranges with an active <InternalLink path="create-and-configure-changefeeds#enable-rangefeeds">rangefeed</InternalLink> that is performing a catchup scan.

<img src="https://mintcdn.com/cockroachlabs/6qI-DTIWMnaeNI5F/images/v24.1/ui-ranges-in-catchup-mode.png?fit=max&auto=format&n=6qI-DTIWMnaeNI5F&q=85&s=2ec3c5b954eae1fb2ee5e251790f9cc1" alt="DB Console Ranges in Catchup Mode graph" width="1199" height="469" data-path="images/v24.1/ui-ranges-in-catchup-mode.png" />

| Metric     | Description                                              |
| ---------- | -------------------------------------------------------- |
| **Ranges** | The number of ranges that are performing a catchup scan. |

## Rangefeed Catchup Scans Duration

This graph displays the duration of catchup scans that changefeeds are performing.

<img src="https://mintcdn.com/cockroachlabs/6qI-DTIWMnaeNI5F/images/v24.1/ui-rangefeed-catchup-scans-duration.png?fit=max&auto=format&n=6qI-DTIWMnaeNI5F&q=85&s=57d049ae59c19c7fc96f60d5aa30495f" alt="DB Console Rangefeed Catchup Scans Duration graph" width="1195" height="506" data-path="images/v24.1/ui-rangefeed-catchup-scans-duration.png" />

| Metric              | Description                                          |
| ------------------- | ---------------------------------------------------- |
| **(Node Hostname)** | The duration of the catchup scan displayed per node. |

## Summary and events

### Summary panel

A **Summary** panel of key metrics is displayed to the right of the timeseries graphs.

| Metric             | Description                                                                                                                                                            |
| ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Total Nodes        | The total number of nodes in the cluster. <InternalLink path="node-shutdown?filters=decommission">Decommissioned nodes</InternalLink> are not included in this count.  |
| Capacity Used      | The storage capacity used as a percentage of <InternalLink path="ui-cluster-overview-page#capacity-metrics">usable capacity</InternalLink> allocated across all nodes. |
| Unavailable Ranges | The number of unavailable ranges in the cluster. A non-zero number indicates an unstable cluster.                                                                      |
| Queries per second | The total number of `SELECT`, `UPDATE`, `INSERT`, and `DELETE` queries executed per second across the cluster.                                                         |
| P99 Latency        | The 99th percentile of service latency.                                                                                                                                |

If you are testing your deployment locally with multiple CockroachDB nodes running on a single machine (this is <InternalLink path="recommended-production-settings#topology">not recommended in production</InternalLink>), you must explicitly <InternalLink path="cockroach-start#store">set the store size</InternalLink> per node in order to display the correct capacity. Otherwise, the machine's actual disk capacity will be counted as a separate store for each node, thus inflating the computed capacity.

### Events panel

Underneath the [Summary](#summary-panel) panel, the **Events** panel lists the 5 most recent events logged for all nodes across the cluster. To list all events, click **View all events**.

<img src="https://mintcdn.com/cockroachlabs/6qI-DTIWMnaeNI5F/images/v24.1/ui_events.png?fit=max&auto=format&n=6qI-DTIWMnaeNI5F&q=85&s=95789473b352dfd0057e0167cb9fe29d" alt="DB Console Events" width="668" height="1036" data-path="images/v24.1/ui_events.png" />

The following types of events are listed:

* Database created
* Database dropped
* Table created
* Table dropped
* Table altered
* Index created
* Index dropped
* View created
* View dropped
* Schema change reversed
* Schema change finished
* Node joined
* Node decommissioned
* Node restarted
* Cluster setting changed

## See also

* <InternalLink path="change-data-capture-overview">Change Data Capture Overview</InternalLink>
* <InternalLink path="troubleshooting-overview">Troubleshooting Overview</InternalLink>
* <InternalLink path="support-resources">Support Resources</InternalLink>
* <InternalLink path="monitoring-and-alerting#raw-status-endpoints">Raw Status Endpoints</InternalLink>
