# Row-Level TTL metrics

The Row-Level TTL metrics let you monitor the performance of your Row-Level TTL jobs.

To view these graphs, select a cluster from the Clusters page, and click Metrics in the Monitoring section of the left side navigation. On the Metrics page, click the Row-Level TTL tab.

## Time interval selection

The time interval selector at the top of each tab 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 for all charts on the Metrics page.

## Row-Level TTL Jobs

Short Name | CockroachDB Metric Name | Description | Usage

Resume Completed | `jobs.row_level_ttl.resume_completed` | Number of row_level_ttl jobs which successfully resumed to completion | If Row Level TTL is enabled, this metric should be nonzero and correspond to the ttl_cron setting that was chosen. If this metric is zero, it means the job is not running

Running | `jobs.row_level_ttl.currently_running` | Number of row_level_ttl jobs currently running in Resume or OnFailOrCancel state | Monitor this metric to ensure there are not too many Row Level TTL jobs running at the same time. Generally, this metric should be in the low single digits.

Paused | `jobs.row_level_ttl.currently_paused` | Number of row_level_ttl jobs currently considered Paused | Monitor this metric to ensure the Row Level TTL job does not remain paused inadvertently for an extended period.

Resume Failed | `jobs.row_level_ttl.resume_failed` | Number of row_level_ttl jobs which failed with a non-retriable error | This metric should remain at zero. Repeated errors means the Row Level TTL job is not deleting data.

Failed Schedules | `schedules.scheduled-row-level-ttl-executor.failed` | Number of scheduled-row-level-ttl-executor jobs failed | Monitor this metric to ensure the Row Level TTL job is running. If it is non-zero, it means the job could not be created.

## Processing Rate

Short Name | CockroachDB Metric Name | Description | Usage

Rows selected | `jobs.row_level_ttl.rows_selected` | Number of rows selected for deletion by the row level TTL job. | Correlate this metric with the metric jobs.row_level_ttl.rows_deleted to ensure all the rows that should be deleted are actually getting deleted.

Rows deleted | `jobs.row_level_ttl.rows_deleted` | Number of rows deleted by the row level TTL job. | Correlate this metric with the metric jobs.row_level_ttl.rows_selected to ensure all the rows that should be deleted are actually getting deleted.

## Estimated Rows

Short Name | CockroachDB Metric Name | Description | Usage

Total Rows | `jobs.row_level_ttl.total_rows` | Approximate number of rows on the TTL table. | See Description.

Expired Rows | `jobs.row_level_ttl.total_expired_rows` | Approximate number of rows that have expired the TTL on the TTL table. | See Description.

## Row-Level TTL Job Latency

Short Name | CockroachDB Metric Name | Description | Usage

Select Latency (P90), Select Latency (P99) | `jobs.row_level_ttl.select_duration` | Duration for select requests during row level TTL. | See Description.

Delete Latency (P90), Delete Latency (P99) | `jobs.row_level_ttl.delete_duration` | Duration for delete requests during row level TTL. | See Description.

## See also

- Metrics Overview
- Overview metrics tab
- Request Unit metrics
- SQL metrics
- Changefeed metrics
- Essential Metrics for Standard