# Custom Metrics Chart Page

The Custom Metrics Chart page allows you to create custom charts showing the time-series data for an available metric or combination of metrics. To view this page, select a cluster from the Clusters page, and click Metrics in the Monitoring section of the left side navigation. Navigate to the Custom tab.

Note:

This feature is in preview and subject to change. To share feedback and/or issues, contact Support.

## Use the Custom Metrics Chart page

On the Custom Metrics Chart page, you can set the time range for all charts, add new custom charts, and edit or remove existing charts:

- To set the time range for the page, use the time interval selector at the top right of the page 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 for all charts on all tabs of the Metrics page.
- To add a chart, click Create to create the first custom chart or Add Chart to create subsequent custom charts. The Create custom chart dialog is displayed.
- To edit a chart, click the pencil icon to display the Edit custom chart dialog.
- To delete a chart, click the trash icon.

## Create custom chart dialog

In the Create custom chart dialog, you can customize each chart.

- Under Select metrics, add the metrics to be queried, and how they'll be combined and displayed. Options include:

  Column | Description
  --- | ---
  Metric | How the system refers to this metric, for example, `jobs.row_level_ttl.rows_deleted`. Note: available metric options are filtered by Units selected.
  Aggregator | Used to combine data points. Options: Sum: Returns the sum of all values seen. Max: Returns the highest value seen. Min: Returns the lowest value seen. Avg: Returns the average value over the time period.
  Rate | Determines how to display the rate of change during the selected time period. Option: Normal: Returns the actual recorded value.
  Units | Sets the units to display. Options: Bytes Count Duration Percentage USD Units can be selected in two ways: Manually select a unit option. When the first metric has been added - if no unit has been selected yet - the metric's unit will automatically be selected. Once a unit is selected, the available Metric options will be filtered to metrics with that unit type. For example, if the `Bytes` unit is selected, only metrics that are measured in `Bytes` will be available as Metric options. Note: Changing the unit will clear the selected metrics.

- To reset the dialog to a blank state - no metrics, aggregators or units set, click Clear all metrics.
- Under Provide a chart name, enter title text or keep default title with names of selected metrics.
- The Preview shows data, if available, for the selected metrics in the time range set by the Metrics page's time interval selector.
- Once the chart is verified in the Preview, click Submit to add the new custom chart or click Close to return to the existing Custom Metrics Chart page.

## Available metrics

The following is a list of available metrics for use in the Custom Metrics Chart page.

### Changefeed

Name | Description
--- | ---
`changefeed.running` | Number of currently running changefeeds, including sinkless
`changefeed.failures` | Total number of `changefeed` jobs which have failed
`changefeed.error_retries` | Total retryable errors encountered by all changefeeds
`changefeed.emitted_messages` | Messages emitted by all feeds
`changefeed.emitted_bytes` | Bytes emitted by all feeds
`changefeed.commit_latency` | Event commit latency: a difference between event MVCC timestamp and the time it was acknowledged by the downstream sink. If the sink batches events, then the difference between the earliest event in the batch and acknowledgement is recorded; Excludes latency during backfill
`jobs.changefeed.currently_paused` | Number of `changefeed` jobs currently considered Paused
`jobs.changefeed.protected_age_sec` | The age of the oldest PTS record protected by `changefeed` jobs.

### Row-Level TTL

Name | Description
--- | ---
`jobs.row_level_ttl.resume_completed` | Number of `row_level_ttl` jobs which successfully resumed to completion
`jobs.row_level_ttl.resume_failed` | Number of `row_level_ttl` jobs which failed with a non-retryable error
`jobs_row_level_ttl.rows_selected` | Number of rows selected for deletion by the row level TTL job.
`jobs.row_level_ttl.rows_deleted` | Number of rows deleted by the row level TTL job.
`jobs.row_level_ttl.currently_paused` | Number of `row_level_ttl` jobs currently considered Paused
`jobs.row_level_ttl.currently_running` | Number of `row_level_ttl` jobs currently running
`schedules.scheduled-row-level-ttl-executor.failed` | Number of `scheduled-row-level-ttl-executor` jobs failed

### Table Statistics

Name | Description
--- | ---
`jobs.auto_create_stats.resume_failed` | Number of `auto_create_stats` jobs which failed with a non-retryable error
`jobs.auto_create_stats.currently_running` | Number of `auto_create_stats` jobs currently running
`jobs.auto_create_stats.currently_paused` | Number of `auto_create_stats` jobs currently considered Paused
`jobs.create_stats.currently_running` | Number of `create_stats` jobs currently running

## See also

- Metrics Overview
- Essential Metrics for CockroachDB Standard Deployments
- Essential Metrics for CockroachDB Advanced Deployments