

# Metrics reference for Amazon RDS
<a name="metrics-reference"></a>

In this reference, you can find descriptions of Amazon RDS metrics for Amazon CloudWatch, Performance Insights, and Enhanced Monitoring.

**Topics**
+ [

# Amazon CloudWatch metrics for Amazon RDS
](rds-metrics.md)
+ [

# Amazon CloudWatch dimensions for Amazon RDS
](dimensions.md)
+ [

# Amazon CloudWatch metrics for Amazon RDS Performance Insights
](USER_PerfInsights.Cloudwatch.md)
+ [

# Performance Insights counter metrics
](USER_PerfInsights_Counters.md)
+ [

# SQL statistics for Performance Insights
](sql-statistics.md)
+ [

# OS metrics in Enhanced Monitoring
](USER_Monitoring-Available-OS-Metrics.md)

# Amazon CloudWatch metrics for Amazon RDS
<a name="rds-metrics"></a>

Amazon CloudWatch metrics provide insights into the performance and health of Amazon RDS instances and clusters, allowing you to monitor system behavior and make data-driven decisions. These metrics help track resource utilization, database activity, and operational efficiency, offering visibility into how your instances are performing. 

This reference outlines the specific metrics available for Amazon RDS and explains how to interpret and use them to optimize database performance, troubleshoot issues, and ensure high availability.

Amazon RDS publishes metrics to Amazon CloudWatch in the `AWS/RDS` and `AWS/Usage` namespaces.

**Topics**
+ [

## Amazon CloudWatch instance-level metrics for Amazon RDS
](#rds-cw-metrics-instance)
+ [

## Amazon CloudWatch usage metrics for Amazon RDS
](#rds-metrics-usage)

## Amazon CloudWatch instance-level metrics for Amazon RDS
<a name="rds-cw-metrics-instance"></a>

The `AWS/RDS` namespace in Amazon CloudWatch includes the following instance-level metrics.

**Note**  
The Amazon RDS console might display metrics in units that are different from the units sent to Amazon CloudWatch. For example, the Amazon RDS console might display a metric in megabytes (MB), while the metric is sent to Amazon CloudWatch in bytes.


| Metric | Description | Applies to | Units | 
| --- | --- | --- | --- | 
| `BinLogDiskUsage` |  The amount of disk space occupied by binary logs. If automatic backups are enabled for MySQL and MariaDB instances, including read replicas, binary logs are created.  |  MariaDB MySQL  |  Bytes  | 
| `BurstBalance` |  The percent of General Purpose SSD (gp2) burst-bucket I/O credits available.   |  All  |  Percent  | 
| `CheckpointLag` |  The amount of time since the most recent checkpoint.  |    |  Seconds  | 
|  `ConnectionAttempts`  |  The number of attempts to connect to an instance, whether successful or not.  |  MySQL  |  Count  | 
| `CPUUtilization` |  The percentage of CPU utilization.  |  All  |  Percent  | 
| `CPUCreditUsage` | The number of CPU credits spent by the instance for CPU utilization. One CPU credit equals one vCPU running at 100 percent utilization for one minute or an equivalent combination of vCPUs, utilization, and time. For example, you might have one vCPU running at 50 percent utilization for two minutes or two vCPUs running at 25 percent utilization for two minutes.This metric applies only to db.t2, db.t3, and db.t4g instances. We recommend using the T DB instance classes only for development and test servers, or other non-production servers. For more details on the T instance classes, see [DB instance class types](Concepts.DBInstanceClass.Types.md) CPU credit metrics are available at a five-minute frequency only. If you specify a period greater than five minutes, use the `Sum` statistic instead of the `Average` statistic. |    |  Credits (vCPU-minutes)  | 
| `CPUCreditBalance` | The number of earned CPU credits that an instance has accrued since it was launched or started. For T2 Standard, the `CPUCreditBalance` also includes the number of launch credits that have been accrued.Credits are accrued in the credit balance after they are earned, and removed from the credit balance when they are spent. The credit balance has a maximum limit, determined by the instance size. After the limit is reached, any new credits that are earned are discarded. For T2 Standard, launch credits don't count towards the limit.The credits in the `CPUCreditBalance` are available for the instance to spend to burst beyond its baseline CPU utilization.When an instance is running, credits in the `CPUCreditBalance` don't expire. When the instance stops, the `CPUCreditBalance` does not persist, and all accrued credits are lost.CPU credit metrics are available at a five-minute frequency only.This metric applies only to db.t2, db.t3, and db.t4g instances. We recommend using the T DB instance classes only for development and test servers, or other non-production servers. For more details on the T instance classes, see [DB instance class types](Concepts.DBInstanceClass.Types.md) Launch credits work the same way in Amazon RDS as they do in Amazon EC2. For more information, see [Launch credits](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-standard-mode-concepts.html#launch-credits) in the *Amazon Elastic Compute Cloud User Guide for Linux Instances*. |    |  Credits (vCPU-minutes)  | 
| `CPUSurplusCreditBalance` |  The number of surplus credits that have been spent by an unlimited instance when its `CPUCreditBalance` value is zero. The `CPUSurplusCreditBalance` value is paid down by earned CPU credits. If the number of surplus credits exceeds the maximum number of credits that the instance can earn in a 24-hour period, the spent surplus credits above the maximum incur an additional charge. CPU credit metrics are available at a 5-minute frequency only.  |  All  |  Credits (vCPU-minutes)   | 
| `CPUSurplusCreditsCharged` |  The number of spent surplus credits that are not paid down by earned CPU credits, and which thus incur an additional charge. Spent surplus credits are charged when any of the following occurs: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-metrics.html) CPU credit metrics are available at a 5-minute frequency only.  |  All  |  Credits (vCPU-minutes)  | 
| `DatabaseConnections` |  The number of client network connections to the database instance. The number of database sessions can be higher than the metric value because the metric value doesn't include the following: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-metrics.html)  |  All  |  Count  | 
| `DiskQueueDepth` |  The number of outstanding I/Os (read/write requests) waiting to access the disk.  |  All  |  Count  | 
| `DiskQueueDepthLogVolume` |  The number of outstanding I/Os (read/write requests) waiting to access the log volume disk.  |  DB instances with [dedicated log volume](USER_PIOPS.dlv.md) enabled  |  Count  | 
| `EBSByteBalance%` |  The percentage of throughput credits remaining in the burst bucket of your RDS database. This metric is available for basic monitoring only.  The metric value is based on the throughput of all volumes, including the root volume, rather than on only those volumes containing database files. To find the instance sizes that support this metric, see the instance sizes with an asterisk (\$1) in the [EBS optimized by default](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html#current) table in *Amazon EC2 User Guide*. The `Sum` statistic is not applicable to this metric.  |  All  |  Percent  | 
| `EBSIOBalance%` |  The percentage of I/O credits remaining in the burst bucket of your RDS database. This metric is available for basic monitoring only. The metric value is based on the IOPS of all volumes, including the root volume, rather than on only those volumes containing database files. To find the instance sizes that support this metric, see [Amazon EBS–optimized instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in *Amazon EC2 User Guide*. The `Sum` statistic isn't applicable to this metric. This metric is different from `BurstBalance`. To learn how to use this metric, see [Improving application performance and reducing costs with Amazon EBS-Optimized Instance burst capability](https://aws.amazon.com/blogs/compute/improving-application-performance-and-reducing-costs-with-amazon-ebs-optimized-instance-burst-capability/).   |  All  |  Percent  | 
| `FailedSQLServerAgentJobsCount` |  The number of failed Microsoft SQL Server Agent jobs during the last minute.  |  Microsoft SQL Server  |  Count per minute  | 
| `FreeableMemory` |  The amount of available random access memory. For MariaDB, MySQL, Oracle, and PostgreSQL DB instances, this metric reports the value of the `MemAvailable` field of `/proc/meminfo`.   |  All  |  Bytes  | 
| `FreeLocalStorage` |  The amount of available local storage space. This metric only applies to DB instance classes with NVMe SSD instance store volumes. For information about Amazon EC2 instances with NVMe SSD instance store volumes, see [ Instance store volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes). The equivalent RDS DB instance classes have the same instance store volumes. For example, the db.m6gd and db.r6gd DB instance classes have NVMe SSD instance store volumes.  |    |  Bytes  | 
| `FreeLocalStoragePercent` |  The percentage of available local storage space. This metric only applies to DB instance classes with NVMe SSD instance store volumes. For information about Amazon EC2 instances with NVMe SSD instance store volumes, see [ Instance store volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes). The equivalent RDS DB instance classes have the same instance store volumes. For example, the db.m6gd and db.r6gd DB instance classes have NVMe SSD instance store volumes.  |    |  Percent  | 
| `FreeStorageSpace` |  The amount of available storage space.   |  All  |  Bytes  | 
| `FreeStorageSpaceLogVolume` |  The amount of available storage space on the log volume.  |  DB instances with [dedicated log volume](USER_PIOPS.dlv.md) enabled  |  Bytes  | 
| `IamDbAuthConnectionRequests` |  The number of connection requests using IAM authentication to the DB instance.  |  All  |  Count  | 
| `MaximumUsedTransactionIDs` |  The maximum transaction IDs that have been used.  |  PostgreSQL  |  Count  | 
| `NetworkReceiveThroughput` |  The incoming (receive) network traffic on the DB instance, including both customer database traffic and Amazon RDS traffic used for monitoring and replication.  |  All  |  Bytes per second  | 
| `NetworkTransmitThroughput` |  The outgoing (transmit) network traffic on the DB instance, including both customer database traffic and Amazon RDS traffic used for monitoring and replication.  |  All  |  Bytes per second  | 
| `OldestLogicalReplicationSlotLag` |  The lagging size of the Amazon RDS commits a transaction on the source database and the time when RDS applies the transaction on the replica database.  |  PostgreSQL  |  Bytes  | 
| `OldestReplicationSlotLag` |  The lagging size of the replica lagging the most in terms of write-ahead log (WAL) data received.  |  PostgreSQL  |  Bytes  | 
| `ReadIOPS` |  The average number of disk read I/O operations per second.   |  All  |  Count per second  | 
| `ReadIOPSLocalStorage` |  The average number of disk read I/O operations to local storage per second. This metric only applies to DB instance classes with NVMe SSD instance store volumes. For information about Amazon EC2 instances with NVMe SSD instance store volumes, see [ Instance store volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes). The equivalent RDS DB instance classes have the same instance store volumes. For example, the db.m6gd and db.r6gd DB instance classes have NVMe SSD instance store volumes.  |    |  Count per second  | 
| `ReadIOPSLogVolume` |  The average number of disk read I/O operations per second for the log volume.  |  DB instances with [dedicated log volume](USER_PIOPS.dlv.md) enabled  |  Count per second  | 
| `ReadLatency` |  The average amount of time taken per disk I/O operation.   |  All  |  Seconds  | 
| `ReadLatencyLocalStorage` |  The average amount of time taken per disk I/O operation for local storage. This metric only applies to DB instance classes with NVMe SSD instance store volumes. For information about Amazon EC2 instances with NVMe SSD instance store volumes, see [ Instance store volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes). The equivalent RDS DB instance classes have the same instance store volumes. For example, the db.m6gd and db.r6gd DB instance classes have NVMe SSD instance store volumes.  |    |  Seconds  | 
| `ReadLatencyLogVolume` |  The average amount of time taken per disk I/O operation for the log volume.  |  DB instances with [dedicated log volume](USER_PIOPS.dlv.md) enabled  |  Seconds  | 
| `ReadThroughput` |  The average number of bytes read from disk per second.   |  All  |  Bytes per second  | 
| `ReadThroughputLocalStorage` |  The average number of bytes read from disk per second for local storage. This metric only applies to DB instance classes with NVMe SSD instance store volumes. For information about Amazon EC2 instances with NVMe SSD instance store volumes, see [ Instance store volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes). The equivalent RDS DB instance classes have the same instance store volumes. For example, the db.m6gd and db.r6gd DB instance classes have NVMe SSD instance store volumes.  |    |  Bytes per second  | 
| `ReadThroughputLogVolume` |  The average number of bytes read from disk per second for the log volume.  |  DB instances with [dedicated log volume](USER_PIOPS.dlv.md) enabled  |  Bytes per second  | 
| `ReplicaLag` |  For read replica configurations, the amount of time a read replica DB instance lags behind the source DB instance. Applies to MariaDB, Microsoft SQL Server, MySQL, Oracle, and PostgreSQL read replicas. For Multi-AZ DB clusters, the difference in time between the latest transaction on the writer DB instance and the latest applied transaction on a reader DB instance.  |    |  Seconds  | 
| `ReplicationChannelLag` |  For multi-source replica configurations, the amount of time a particular channel on the multi-source replica lags behind the source DB instance. For more information, see [Monitoring multi-source replication channels](mysql-multi-source-replication.md#mysql-multi-source-replication-monitoring).  |  MySQL  |  Seconds  | 
| `ReplicationSlotDiskUsage` |  The disk space used by replication slot files.  |  PostgreSQL  |  Bytes  | 
| `SwapUsage` |  The amount of swap space used on the DB instance.  |  MariaDB MySQL Oracle PostgreSQL  |  Bytes  | 
| `TempDbAvailableDataSpace` |  The amount of available data space on the tempdb and the volume where tempdb is located. Use this metric to monitor tempdb data space availability and plan capacity accordingly. Low values may indicate the need to increase storage or optimize queries that heavily use tempdb.  | SQL Server | Bytes | 
| `TempDbAvailableLogSpace` |  The amount of available log space on the tempdb and the volume where tempdb is located. Use this metric to monitor tempdb log space availability and prevent transaction log full conditions. Critical for workloads with large transactions or high concurrency that generate significant log activity.  | SQL Server | Bytes | 
| `TempDbDataFileUsage` |  The percentage of data files used on the tempdb. This metric doesn't account for potential file growth. Use this metric to monitor tempdb data file utilization and identify potential performance bottlenecks. High values may indicate the need to optimize queries that create large temporary objects or increase tempdb size.  | SQL Server | Percent | 
| `TempDbLogFileUsage` |  The percentage of log files used on the tempdb. This metric doesn't account for potential file growth. Use this metric to monitor tempdb log file utilization and prevent performance issues. High values may indicate long-running transactions or excessive logging activity that could impact overall database performance.  | SQL Server | Percent | 
| `TransactionLogsDiskUsage` |  The disk space used by transaction logs.  |  PostgreSQL  |  Bytes  | 
| `TransactionLogsGeneration` |  The size of transaction logs generated per second.  |  PostgreSQL  |  Bytes per second  | 
| `WriteIOPS` |  The average number of disk write I/O operations per second.   |  All  |  Count per second  | 
| `WriteIOPSLocalStorage` |  The average number of disk write I/O operations per second on local storage. This metric only applies to DB instance classes with NVMe SSD instance store volumes. For information about Amazon EC2 instances with NVMe SSD instance store volumes, see [ Instance store volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes). The equivalent RDS DB instance classes have the same instance store volumes. For example, the db.m6gd and db.r6gd DB instance classes have NVMe SSD instance store volumes.  |    |  Count per second  | 
| `WriteIOPSLogVolume` |  The average number of disk write I/O operations per second for the log volume.  |  DB instances with [dedicated log volume](USER_PIOPS.dlv.md) enabled  |  Count per second  | 
| `WriteLatency` |  The average amount of time taken per disk I/O operation.   |  All  |  Seconds  | 
| `WriteLatencyLocalStorage` |  The average amount of time taken per disk I/O operation on local storage. This metric only applies to DB instance classes with NVMe SSD instance store volumes. For information about Amazon EC2 instances with NVMe SSD instance store volumes, see [ Instance store volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes). The equivalent RDS DB instance classes have the same instance store volumes. For example, the db.m6gd and db.r6gd DB instance classes have NVMe SSD instance store volumes.  |    |  Seconds  | 
| `WriteLatencyLogVolume` |  The average amount of time taken per disk I/O operation for the log volume.  |  DB instances with [dedicated log volume](USER_PIOPS.dlv.md) enabled  |  Seconds  | 
| `WriteThroughput` |  The average number of bytes written to disk per second.  |  All  |  Bytes per second  | 
| `WriteThroughputLogVolume` |  The average number of bytes written to disk per second for the log volume.  |  DB instances with [dedicated log volume](USER_PIOPS.dlv.md) enabled  |  Bytes per second  | 
| `WriteThroughputLocalStorage` |  The average number of bytes written to disk per second for local storage. This metric only applies to DB instance classes with NVMe SSD instance store volumes. For information about Amazon EC2 instances with NVMe SSD instance store volumes, see [ Instance store volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes). The equivalent RDS DB instance classes have the same instance store volumes. For example, the db.m6gd and db.r6gd DB instance classes have NVMe SSD instance store volumes.  |    |  Bytes per second  | 

## Amazon CloudWatch usage metrics for Amazon RDS
<a name="rds-metrics-usage"></a>

The `AWS/Usage` namespace in Amazon CloudWatch includes account-level usage metrics for your Amazon RDS service quotas. CloudWatch collects usage metrics automatically for all AWS Regions.

For more information, see [CloudWatch usage metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Usage-Metrics.html) in the *Amazon CloudWatch User Guide*. For more information about quotas, see [Quotas and constraints for Amazon RDS](CHAP_Limits.md) and [Requesting a quota increase](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html) in the *Service Quotas User Guide*.


| Metric | Description | Units\$1 | 
| --- | --- | --- | 
| AllocatedStorage |  The total storage for all DB instances. The sum excludes temporary migration instances.  |  Gigabytes  | 
| AuthorizationsPerDBSecurityGroup |  The number of ingress rules per DB security group in your AWS account. The used value is the highest number of ingress rules in a DB security group in the account. Other DB security groups in the account might have a lower number of ingress rules.  |  Count  | 
| CustomEndpointsPerDBCluster |  The number of custom endpoints per DB cluster in your AWS account. The used value is the highest number of custom endpoints in a DB cluster in the account. Other DB clusters in the account might have a lower number of custom endpoints.  |  Count  | 
| CustomEngineVersions |  The number of custom engine versions (CEVs) for Amazon RDS Custom in your AWS account.  |  Count  | 
| DBClusterParameterGroups |  The number of DB cluster parameter groups in your AWS account. The count excludes default parameter groups.  |  Count  | 
| DBClusterRoles |  The number of associated AWS Identity and Access Management (IAM) roles per DB cluster in your AWS account. The used value is the highest number of associated IAM roles for a DB cluster in the account. Other DB clusters in the account might have a lower number of associated IAM roles.  |  Count  | 
| DBClusters |  The number of Amazon Aurora DB clusters in your AWS account.  |  Count  | 
| DBInstanceRoles |  The number of associated AWS Identity and Access Management (IAM) roles per DB instance in your AWS account. The used value is the highest number of associated IAM roles for a DB instance in the account. Other DB instances in the account might have a lower number of associated IAM roles.  |  Count  | 
| DBInstances |  The number of DB instances in your AWS account.  |  Count  | 
| DBParameterGroups |  The number of DB parameter groups in your AWS account. The count excludes the default DB parameter groups.  |  Count  | 
| DBSecurityGroups |  The number of security groups in your AWS account. The count excludes the default security group and the default VPC security group.  |  Count  | 
| DBSubnetGroups  |  The number of DB subnet groups in your AWS account. The count excludes the default subnet group.  |  Count  | 
| EventSubscriptions | The number of event notification subscriptions in your AWS account. | Count | 
| Integrations | The number of zero-ETL integrations with Amazon Redshift in your AWS account. | Count | 
| ManualClusterSnapshots |  The number of manually created DB cluster snapshots in your AWS account. The count excludes invalid snapshots.  |  Count  | 
| ManualSnapshots |  The number of manually created DB snapshots in your AWS account. The count excludes invalid snapshots.  |  Count  | 
| OptionGroups |  The number of option groups in your AWS account. The count excludes the default option groups.  |  Count  | 
| Proxies |  The number of RDS proxies in your AWS account.  |  Count  | 
| ReadReplicasPerMaster |  The number of read replicas per DB instance in your account. The used value is the highest number of read replicas for a DB instance in the account. Other DB instances in the account might have a lower number of read replicas.  |  Count  | 
| ReservedDBInstances |  The number of reserved DB instances in your AWS account. The count excludes retired or declined instances.  |  Count  | 
| SubnetsPerDBSubnetGroup |  The number of subnets per DB subnet group in your AWS account. The highest number of subnets for a DB subnet group in the account. Other DB subnet groups in the account might have a lower number of subnets.  |  Count  | 

**Note**  
Amazon RDS doesn't publish units for usage metrics to CloudWatch. The units only appear in the documentation.

# Amazon CloudWatch dimensions for Amazon RDS
<a name="dimensions"></a>

You can filter Amazon RDS metrics data by using any dimension in the following table.


|  Dimension  |  Filters the requested data for . . .  | 
| --- | --- | 
|  DBInstanceIdentifier  |  A specific DB instance.  | 
|  DatabaseClass  |  All instances in a database class. For example, you can aggregate metrics for all instances that belong to the database class `db.r5.large`.  | 
|  EngineName  |  The identified engine name only. For example, you can aggregate metrics for all instances that have the engine name `postgres`.  | 
|  SourceRegion  |  The specified Region only. For example, you can aggregate metrics for all DB instances in the `us-east-1` Region.  | 
|  DbInstanceIdentifier, VolumeName  |  The metrics per-volume for a single instance. RDS captures metrics for multiple storage volumes.  | 

**Note**  
If you are using additional storage volumes, you can see aggregate storage metrics under the `DBInstanceIdentifier` dimension. To see per-volume storage metrics, use the `DbInstanceIdentifier, VolumeName` dimensions.

# Amazon CloudWatch metrics for Amazon RDS Performance Insights
<a name="USER_PerfInsights.Cloudwatch"></a>

Performance Insights automatically publishes some metrics to Amazon CloudWatch. The same data can be queried from Performance Insights, but having the metrics in CloudWatch makes it easy to add CloudWatch alarms. It also makes it easy to add the metrics to existing CloudWatch Dashboards.


| Metric | Description | 
| --- | --- | 
|  DBLoad  |  The number of active sessions for the database. Typically, you want the data for the average number of active sessions. In Performance Insights, this data is queried as `db.load.avg`.  | 
|  DBLoadCPU  |  The number of active sessions where the wait event type is CPU. In Performance Insights, this data is queried as `db.load.avg`, filtered by the wait event type `CPU`.  | 
|  DBLoadNonCPU  |  The number of active sessions where the wait event type is not CPU.  | 
| DBLoadRelativeToNumVCPUs |  The ratio of the DB load to the number of virtual CPUs for the database.  | 

**Note**  
These metrics are published to CloudWatch only if there is load on the DB instance.

You can examine these metrics using the CloudWatch console, the AWS CLI, or the CloudWatch API. You can also examine other Performance Insights counter metrics using a special metric math function. For more information, see [Querying other Performance Insights counter metrics in CloudWatch](#USER_PerfInsights.Cloudwatch.ExtraMetrics).

For example, you can get the statistics for the `DBLoad` metric by running the [get-metric-statistics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/get-metric-statistics.html) command.

```
aws cloudwatch get-metric-statistics \
    --region us-west-2 \
    --namespace AWS/RDS \
    --metric-name DBLoad  \
    --period 60 \
    --statistics Average \
    --start-time 1532035185 \
    --end-time 1532036185 \
    --dimensions Name=DBInstanceIdentifier,Value=db-loadtest-0
```

This example generates output similar to the following.

```
{
		"Datapoints": [
		{
		"Timestamp": "2021-07-19T21:30:00Z",
		"Unit": "None",
		"Average": 2.1
		},
		{
		"Timestamp": "2021-07-19T21:34:00Z",
		"Unit": "None",
		"Average": 1.7
		},
		{
		"Timestamp": "2021-07-19T21:35:00Z",
		"Unit": "None",
		"Average": 2.8
		},
		{
		"Timestamp": "2021-07-19T21:31:00Z",
		"Unit": "None",
		"Average": 1.5
		},
		{
		"Timestamp": "2021-07-19T21:32:00Z",
		"Unit": "None",
		"Average": 1.8
		},
		{
		"Timestamp": "2021-07-19T21:29:00Z",
		"Unit": "None",
		"Average": 3.0
		},
		{
		"Timestamp": "2021-07-19T21:33:00Z",
		"Unit": "None",
		"Average": 2.4
		}
		],
		"Label": "DBLoad"
		}
```

For more information about CloudWatch, see [What is Amazon CloudWatch?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) in the *Amazon CloudWatch User Guide*. 

## Querying other Performance Insights counter metrics in CloudWatch
<a name="USER_PerfInsights.Cloudwatch.ExtraMetrics"></a>

**Note**  
If you enable the Advanced mode of Database Insights, Amazon RDS publishes Performance Insights counter metrics to Amazon CloudWatch. With Database Insights, you don't need to use the `DB_PERF_INSIGHTS` metric math function. You can use the CloudWatch Database Insights dashboard to search, query, and set alarms for Performance Insights counter metrics.

You can query, alarm, and graphs on RDS Performance Insights metrics from CloudWatch. You can access information about your DB instance by using the `DB_PERF_INSIGHTS` metric math function for CloudWatch. This function allows you to use the Performance Insights metrics that are not directly reported to CloudWatch to create a new time series.

You can use the new Metric Math function by clicking on the **Add Math** drop-down menu in the **Select metric** screen in the CloudWatch console. You can use it to create alarms and graphs on Performance Insights metrics or on combinations of CloudWatch and Performance Insights metrics, including high-resolution alarms for sub-minute metrics. You can also use the function programmatically by including the Metric Math expression in a [https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/get-metric-data.html](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/get-metric-data.html) request. For more information, see [Metric math syntax and functions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax-functions-list) and [Create an alarm on Performance Insights counter metrics from an AWS database](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_alarm_database_performance_insights.html).

# Performance Insights counter metrics
<a name="USER_PerfInsights_Counters"></a>

Counter metrics are operating system and database performance metrics in the Performance Insights dashboard. To help identify and analyze performance problems, you can correlate counter metrics with DB load. You must append a statistic function to the metric to get the metric values. For example, the supported functions for `os.memory.active` metric are `.avg`, `.min`, `.max`, `.sum`, and `.sample_count`. 

The counter metrics are collected one time each minute. The OS metrics collection depends on whether Enhanced Monitoring is turned on or off. If Enhanced Monitoring is turned off, the OS metrics are collected one time each minute. If Enhanced Monitoring is turned on, the OS metrics are collected for the selected time period. For more information about turning Enhanced Monitoring on or off, see [Turning Enhanced Monitoring on and off](USER_Monitoring.OS.Enabling.md#USER_Monitoring.OS.Enabling.Procedure).

**Topics**
+ [

## Performance Insights operating system counters
](#USER_PerfInsights_Counters.OS)
+ [

## Performance Insights counters for Amazon RDS for MariaDB and MySQL
](#USER_PerfInsights_Counters.MySQL)
+ [

## Performance Insights counters for Amazon RDS for Microsoft SQL Server
](#USER_PerfInsights_Counters.SQLServer)
+ [

## Performance Insights counters for Amazon RDS for Oracle
](#USER_PerfInsights_Counters.Oracle)
+ [

## Performance Insights counters for Amazon RDS for PostgreSQL
](#USER_PerfInsights_Counters.PostgreSQL)

## Performance Insights operating system counters
<a name="USER_PerfInsights_Counters.OS"></a>

The following operating system counters, which are prefixed with `os`, are available with Performance Insights for all RDS engines except RDS for SQL Server .

You can use `ListAvailableResourceMetrics` API for the list of available counter metrics for your DB instance. For more information, see [ ListAvailableResourceMetrics](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_ListAvailableResourceMetrics) in the Amazon RDS Performance Insights API Reference guide.


| Counter | Type | Unit | Metric | Description | 
| --- | --- | --- | --- | --- | 
| Active | Memory | Kilobytes | os.memory.active | The amount of assigned memory, in kilobytes. | 
| Buffers | Memory | Kilobytes | os.memory.buffers | The amount of memory used for buffering I/O requests prior to writing to the storage device, in kilobytes. | 
| Cached | Memory | Kilobytes | os.memory.cached | The amount of memory used for caching file system–based I/O, in kilobytes. | 
| DB Cache | Memory | Bytes | os.memory.db.cache |  The amount of memory used for page cache by database process including tmpfs (shmem), in bytes.  | 
| DB Resident Set Size | Memory | Bytes | os.memory.db.residentSetSize |  The amount of memory used for anonymous and swap cache by database process not including tmpfs (shmem), in bytes.  | 
| DB Swap | Memory | Bytes | os.memory.db.swap |   The amount of memory used for swap by database process, in bytes.  | 
| Dirty | Memory | Kilobytes | os.memory.dirty | The amount of memory pages in RAM that have been modified but not written to their related data block in storage, in kilobytes. | 
| Free | Memory | Kilobytes | os.memory.free | The amount of unassigned memory, in kilobytes. | 
| Huge Pages Free | Memory | Pages | os.memory.hugePagesFree | The number of free huge pages. Huge pages are a feature of the Linux kernel. | 
| Huge Pages Rsvd | Memory | Pages | os.memory.hugePagesRsvd | The number of committed huge pages. | 
| Huge Pages Size | Memory | Kilobytes | os.memory.hugePagesSize | The size for each huge pages unit, in kilobytes. | 
| Huge Pages Surp | Memory | Pages | os.memory.hugePagesSurp | The number of available surplus huge pages over the total. | 
| Huge Pages Total | Memory | Pages | os.memory.hugePagesTotal | The total number of huge pages. | 
| Inactive | Memory | Kilobytes | os.memory.inactive | The amount of least-frequently used memory pages, in kilobytes. | 
| Mapped | Memory | Kilobytes | os.memory.mapped | The total amount of file-system contents that is memory mapped inside a process address space, in kilobytes. | 
| Out of Memory Kill Count | Memory | Kills | os.memory.outOfMemoryKillCount |  The number of OOM kills that happened over the last collection interval.  | 
| Page Tables | Memory | Kilobytes | os.memory.pageTables | The amount of memory used by page tables, in kilobytes. | 
| Slab | Memory | Kilobytes | os.memory.slab | The amount of reusable kernel data structures, in kilobytes. | 
| Total | Memory | Kilobytes | os.memory.total | The total amount of memory, in kilobytes. | 
| Writeback | Memory | Kilobytes | os.memory.writeback | The amount of dirty pages in RAM that are still being written to the backing storage, in kilobytes. | 
| Guest | Cpu Utilization | Percentage | os.cpuUtilization.guest | The percentage of CPU in use by guest programs. | 
| Idle | Cpu Utilization | Percentage | os.cpuUtilization.idle | The percentage of CPU that is idle. | 
| Irq | Cpu Utilization | Percentage | os.cpuUtilization.irq | The percentage of CPU in use by software interrupts. | 
| Nice | Cpu Utilization | Percentage | os.cpuUtilization.nice | The percentage of CPU in use by programs running at lowest priority. | 
| Steal | Cpu Utilization | Percentage | os.cpuUtilization.steal | The percentage of CPU in use by other virtual machines. | 
| System | Cpu Utilization | Percentage | os.cpuUtilization.system | The percentage of CPU in use by the kernel. | 
| Total | Cpu Utilization | Percentage | os.cpuUtilization.total | The total percentage of the CPU in use. This value includes the nice value. | 
| User | Cpu Utilization | Percentage | os.cpuUtilization.user | The percentage of CPU in use by user programs. | 
| Wait | Cpu Utilization | Percentage | os.cpuUtilization.wait | The percentage of CPU unused while waiting for I/O access. | 
|  Read IOs PS  | Disk IO | Requests per second |  os.diskIO.<devicename>.readIOsPS  | The number of read operations per second. | 
|  Write IOs PS  | Disk IO | Requests per second |  os.diskIO.<devicename>.writeIOsPS  | The number of write operations per second. | 
|  Avg Queue Len | Disk IO | Requests |  os.diskIO.<devicename>.avgQueueLen  | The number of requests waiting in the I/O device's queue. | 
|  Avg Req Sz  | Disk IO | Requests |  os.diskIO.<devicename>.avgReqSz  | The number of requests waiting in the I/O device's queue. | 
|  Await  | Disk IO | Milliseconds |  os.diskIO.<devicename>.await  | The number of milliseconds required to respond to requests, including queue time and service time. | 
|  Read IOs PS  | Disk IO | Requests |  os.diskIO.<devicename>.readIOsPS  | The number of read operations per second. | 
|  Read KB  | Disk IO | Kilobytes |  os.diskIO.<devicename>.readKb  | The total number of kilobytes read. | 
|  Read KB PS  | Disk IO | Kilobytes per second |  os.diskIO.<devicename>.readKbPS  | The number of kilobytes read per second. | 
|  Rrqm PS  | Disk IO | Requests per second |  os.diskIO.<devicename>.rrqmPS  | The number of merged read requests queued per second. | 
|  TPS  | Disk IO | Transactions per second |  os.diskIO.<devicename>.tps  | The number of I/O transactions per second. | 
|  Util  | Disk IO | Percentage |  os.diskIO.<devicename>.util  | The percentage of CPU time during which requests were issued. | 
|  Write KB  | Disk IO | Kilobytes |  os.diskIO.<devicename>.writeKb  | The total number of kilobytes written. | 
|  Write KB PS  | Disk IO | Kilobytes per second |  os.diskIO.<devicename>.writeKbPS  | The number of kilobytes written per second. | 
|  Wrqm PS  | Disk IO | Requests per second |  os.diskIO.<devicename>.wrqmPS  | The number of merged write requests queued per second. | 
| Blocked | Tasks | Tasks | os.tasks.blocked | The number of tasks that are blocked. | 
| Running | Tasks | Tasks | os.tasks.running | The number of tasks that are running. | 
| Sleeping | Tasks | Tasks | os.tasks.sleeping | The number of tasks that are sleeping. | 
| Stopped | Tasks | Tasks | os.tasks.stopped | The number of tasks that are stopped. | 
| Total | Tasks | Tasks | os.tasks.total | The total number of tasks. | 
| Zombie | Tasks | Tasks | os.tasks.zombie | The number of child tasks that are inactive with an active parent task. | 
| One | Load Average Minute | Processes | os.loadAverageMinute.one | The number of processes requesting CPU time over the last minute. | 
| Fifteen | Load Average Minute | Processes | os.loadAverageMinute.fifteen | The number of processes requesting CPU time over the last 15 minutes. | 
| Five | Load Average Minute | Processes | os.loadAverageMinute.five | The number of processes requesting CPU time over the last 5 minutes. | 
| Cached | Swap | Kilobytes | os.swap.cached | The amount of swap memory, in kilobytes, used as cache memory. | 
| Free | Swap | Kilobytes | os.swap.free | The amount of swap memory free, in kilobytes.  | 
| In | Swap | Kilobytes | os.swap.in | The amount of memory, in kilobytes, swapped in from disk. | 
| Out | Swap | Kilobytes | os.swap.out | The amount of memory, in kilobytes, swapped out to disk. | 
| Total | Swap | Kilobytes | os.swap.total |  The total amount of swap memory available in kilobytes.  | 
| Max Files | File Sys | Files | os.fileSys.maxFiles | The maximum number of files that can be created for the file system across all storage volumes. | 
| Used Files | File Sys | Files | os.fileSys.usedFiles | The number of files in the file system across all storage volumes. | 
| Used File Percent | File Sys | Files | os.fileSys.usedFilePercent | The percentage of available files in use across all storage volumes. | 
| Used Percent | File Sys | Percentage | os.fileSys.usedPercent | The percentage of the file-system disk space in use across all storage volumes. | 
| Used | File Sys | Kilobytes | os.fileSys.used | The amount of disk space used by files in the file system across all storage volumes, in kilobytes. | 
| Total | File Sys | Kilobytes | os.fileSys.total | The total disk space available for the file system across all storage volumes, in kilobytes. | 
| Max Files | File Sys | Files | os.fileSys.<volumeName>.maxFiles | The maximum number of files that can be created for the storage volume. | 
| Used Files | File Sys | Files | os.fileSys.<volumeName>.usedFiles | The number of files in the storage volume. | 
| Used File Percent | File Sys | Files | os.fileSys.<volumeName>.usedFilePercent | The percentage of available files in use in the storage volume. | 
| Used Percent | File Sys | Percentage | os.fileSys.<volumeName>.usedPercent | The percentage of the storage volume disk space in use. | 
| Used | File Sys | Kilobytes | os.fileSys.<volumeName>.used | The amount of disk space used by files in the storage volume, in kilobytes. | 
| Total | File Sys | Kilobytes | os.fileSys.<volumeName>.total | The total disk space available in the storage volume, in kilobytes. | 
| Rx | Network | Bytes per second | os.network.rx | The number of bytes received per second. | 
| Tx | Network | Bytes per second | os.network.tx | The number of bytes uploaded per second. | 
| Acu Utilization | General | Percentage | os.general.acuUtilization |  The percentage of current capacity out of the maximum configured capacity.  | 
| Max Configured Acu | General | ACUs | os.general.maxConfiguredAcu |  The maximum capacity configured by the user, in Aurora capacity units (ACUs).  | 
| Min Configured Acu | General | ACUs | os.general.minConfiguredAcu |  The minimum capacity configured by the user, in ACUs.  | 
| Num VCPUs | General | vCPUs | os.general.numVCPUs | The number of virtual CPUs (vCPUs) for the DB instance. | 
| Serverless Database Capacity | General | ACUs | os.general.serverlessDatabaseCapacity |  The current capacity of the instance, in ACUs.  | 

## Performance Insights counters for Amazon RDS for MariaDB and MySQL
<a name="USER_PerfInsights_Counters.MySQL"></a>

The following database counters are available with Performance Insights for Amazon RDS for MariaDB and MySQL.

**Topics**
+ [

### Native counters for RDS for MariaDB and RDS for MySQL
](#USER_PerfInsights_Counters.MySQL.Native)
+ [

### Non-native counters for Amazon RDS for MariaDB and MySQL
](#USER_PerfInsights_Counters.MySQL.NonNative)

### Native counters for RDS for MariaDB and RDS for MySQL
<a name="USER_PerfInsights_Counters.MySQL.Native"></a>

Native metrics are defined by the database engine and not by Amazon RDS. For definitions of these native metrics, see [Server Status Variables](https://dev.mysql.com/doc/refman/8.0/en/server-status-variables.html) (for 8.0) and [Server Status Variables](https://dev.mysql.com/doc/refman/8.4/en/server-status-variables.html) (for 8.4) in the MySQL documentation.


| Counter | Type | Unit | Metric | 
| --- | --- | --- | --- | 
| Com\$1analyze | SQL | Queries per second | db.SQL.Com\$1analyze | 
| Com\$1optimize | SQL | Queries per second | db.SQL.Com\$1optimize | 
| Com\$1select | SQL | Queries per second | db.SQL.Com\$1select | 
| Connections | SQL | The number of connection attempts per minute (successful or not) to the MySQL server | db.Users.Connections | 
| Innodb\$1rows\$1deleted | SQL | Rows per second | db.SQL.Innodb\$1rows\$1deleted | 
| Innodb\$1rows\$1inserted | SQL | Rows per second | db.SQL.Innodb\$1rows\$1inserted | 
| Innodb\$1rows\$1read | SQL | Rows per second | db.SQL.Innodb\$1rows\$1read | 
| Innodb\$1rows\$1updated | SQL | Rows per second | db.SQL.Innodb\$1rows\$1updated | 
| Select\$1full\$1join | SQL | Queries per second | db.SQL.Select\$1full\$1join | 
| Select\$1full\$1range\$1join | SQL | Queries per second | db.SQL.Select\$1full\$1range\$1join | 
| Select\$1range | SQL | Queries per second | db.SQL.Select\$1range | 
| Select\$1range\$1check | SQL | Queries per second | db.SQL.Select\$1range\$1check | 
| Select\$1scan | SQL | Queries per second | db.SQL.Select\$1scan | 
| Slow\$1queries | SQL | Queries per second | db.SQL.Slow\$1queries | 
| Sort\$1merge\$1passes | SQL | Queries per second | db.SQL.Sort\$1merge\$1passes | 
| Sort\$1range | SQL | Queries per second | db.SQL.Sort\$1range | 
| Sort\$1rows | SQL | Queries per second | db.SQL.Sort\$1rows | 
| Sort\$1scan | SQL | Queries per second | db.SQL.Sort\$1scan | 
| Questions | SQL | Queries per second | db.SQL.Questions | 
| Innodb\$1row\$1lock\$1time | Locks | Milliseconds (average) | db.Locks.Innodb\$1row\$1lock\$1time | 
| Table\$1locks\$1immediate | Locks | Requests per second | db.Locks.Table\$1locks\$1immediate | 
| Table\$1locks\$1waited | Locks | Requests per second | db.Locks.Table\$1locks\$1waited | 
| Aborted\$1clients | Users | Connections | db.Users.Aborted\$1clients | 
| Aborted\$1connects | Users | Connections | db.Users.Aborted\$1connects | 
| max\$1connections | Users | Connections | db.User.max\$1connections | 
| Threads\$1created | Users | Connections | db.Users.Threads\$1created | 
| Threads\$1running | Users | Connections | db.Users.Threads\$1running | 
| Innodb\$1data\$1writes | I/O | Operations per second | db.IO.Innodb\$1data\$1writes | 
| Innodb\$1dblwr\$1writes | I/O | Operations per second | db.IO.Innodb\$1dblwr\$1writes | 
| Innodb\$1log\$1write\$1requests | I/O | Operations per second | db.IO.Innodb\$1log\$1write\$1requests | 
| Innodb\$1log\$1writes | I/O | Operations per second | db.IO.Innodb\$1log\$1writes | 
| Innodb\$1pages\$1written | I/O | Pages per second | db.IO.Innodb\$1pages\$1written | 
| Created\$1tmp\$1disk\$1tables | Temp | Tables per second | db.Temp.Created\$1tmp\$1disk\$1tables | 
| Created\$1tmp\$1tables | Temp | Tables per second | db.Temp.Created\$1tmp\$1tables | 
| Innodb\$1buffer\$1pool\$1pages\$1data | Cache | Pages | db.Cache.Innodb\$1buffer\$1pool\$1pages\$1data | 
| Innodb\$1buffer\$1pool\$1pages\$1total | Cache | Pages | db.Cache.Innodb\$1buffer\$1pool\$1pages\$1total | 
| Innodb\$1buffer\$1pool\$1read\$1requests | Cache | Pages per second | db.Cache.Innodb\$1buffer\$1pool\$1read\$1requests | 
| Innodb\$1buffer\$1pool\$1reads | Cache | Pages per second | db.Cache.Innodb\$1buffer\$1pool\$1reads | 
| Opened\$1tables | Cache | Tables | db.Cache.Opened\$1tables | 
| Opened\$1table\$1definitions | Cache | Tables | db.Cache.Opened\$1table\$1definitions | 
| Qcache\$1hits | Cache | Queries | db.Cache.Qcache\$1hits | 

### Non-native counters for Amazon RDS for MariaDB and MySQL
<a name="USER_PerfInsights_Counters.MySQL.NonNative"></a>

Non-native counter metrics are counters defined by Amazon RDS. A non-native metric can be a metric that you get with a specific query. A non-native metric also can be a derived metric, where two or more native counters are used in calculations for ratios, hit rates, or latencies.


| Counter | Type | Unit | Metric | Description | Definition | 
| --- | --- | --- | --- | --- | --- | 
| innodb\$1buffer\$1pool\$1hits | Cache | Reads | db.Cache.innoDB\$1buffer\$1pool\$1hits | The number of reads that InnoDB could satisfy from the buffer pool. | innodb\$1buffer\$1pool\$1read\$1requests - innodb\$1buffer\$1pool\$1reads | 
| innodb\$1buffer\$1pool\$1hit\$1rate | Cache | Percentage | db.Cache.innoDB\$1buffer\$1pool\$1hit\$1rate | The percentage of reads that InnoDB could satisfy from the buffer pool. | 100 \$1 innodb\$1buffer\$1pool\$1read\$1requests / (innodb\$1buffer\$1pool\$1read\$1requests \$1 innodb\$1buffer\$1pool\$1reads) | 
| innodb\$1buffer\$1pool\$1usage | Cache | Percentage | db.Cache.innoDB\$1buffer\$1pool\$1usage |  The percentage of the InnoDB buffer pool that contains data (pages).  When using compressed tables, this value can vary. For more information, see the information about `Innodb_buffer_pool_pages_data` and `Innodb_buffer_pool_pages_total` in [Server Status Variables](https://dev.mysql.com/doc/refman/8.0/en/server-status-variables.html) (for 8.0) and [Server Status Variables](https://dev.mysql.com/doc/refman/8.4/en/server-status-variables.html) (for 8.4) in the MySQL documentation.   | Innodb\$1buffer\$1pool\$1pages\$1data / Innodb\$1buffer\$1pool\$1pages\$1total \$1 100.0 | 
| query\$1cache\$1hit\$1rate | Cache | Percentage | db.Cache.query\$1cache\$1hit\$1rate | MySQL result set cache (query cache) hit ratio. | Qcache\$1hits / (QCache\$1hits \$1 Com\$1select) \$1 100 | 
| innodb\$1datafile\$1writes\$1to\$1disk | I/O | Writes | db.IO.innoDB\$1datafile\$1writes\$1to\$1disk | The number of InnoDB data file writes to disk, excluding double write and redo logging write operations. | Innodb\$1data\$1writes - Innodb\$1log\$1writes - Innodb\$1dblwr\$1writes | 
| innodb\$1rows\$1changed | SQL | Rows | db.SQL.innodb\$1rows\$1changed | The total InnoDB row operations. | db.SQL.Innodb\$1rows\$1inserted \$1 db.SQL.Innodb\$1rows\$1deleted \$1 db.SQL.Innodb\$1rows\$1updated | 
| active\$1transactions | Transactions | Transactions | db.Transactions.active\$1transactions | The total active transactions. | SELECT COUNT(1) AS active\$1transactions FROM INFORMATION\$1SCHEMA.INNODB\$1TRX | 
| trx\$1rseg\$1history\$1len | Transactions | None | db.Transactions.trx\$1rseg\$1history\$1len | A list of the undo log pages for committed transactions that is maintained by the InnoDB transaction system to implement multi-version concurrency control. For more information about undo log records details, see [InnoDB Multi-Versioning](https://dev.mysql.com/doc/refman/8.0/en/innodb-multi-versioning.html) (for 8.0) and [InnoDB Multi-Versioning](https://dev.mysql.com/doc/refman/8.4/en/innodb-multi-versioning.html) (for 8.4) in the MySQL documentation. | SELECT COUNT AS trx\$1rseg\$1history\$1len FROM INFORMATION\$1SCHEMA.INNODB\$1METRICS WHERE NAME='trx\$1rseg\$1history\$1len'  | 
| innodb\$1deadlocks | Locks | Locks | db.Locks.innodb\$1deadlocks | The total number of deadlocks. | SELECT COUNT AS innodb\$1deadlocks FROM INFORMATION\$1SCHEMA.INNODB\$1METRICS WHERE NAME='lock\$1deadlocks' | 
| innodb\$1lock\$1timeouts | Locks | Locks | db.Locks.innodb\$1lock\$1timeouts | The total number of locks that timed out. | SELECT COUNT AS innodb\$1lock\$1timeouts FROM INFORMATION\$1SCHEMA.INNODB\$1METRICS WHERE NAME='lock\$1timeouts' | 
| innodb\$1row\$1lock\$1waits | Locks | Locks | db.Locks.innodb\$1row\$1lock\$1waits | The total number of row locks that resulted in a wait. | SELECT COUNT AS innodb\$1row\$1lock\$1waits FROM INFORMATION\$1SCHEMA.INNODB\$1METRICS WHERE NAME='lock\$1row\$1lock\$1waits' | 

## Performance Insights counters for Amazon RDS for Microsoft SQL Server
<a name="USER_PerfInsights_Counters.SQLServer"></a>

The following database counters are available with Performance Insights for RDS for Microsoft SQL Server.

### Native counters for RDS for Microsoft SQL Server
<a name="USER_PerfInsights_Counters.SQLServer.Native"></a>

Native metrics are defined by the database engine and not by Amazon RDS. You can find definitions for these native metrics in [Use SQL Server Objects](https://docs.microsoft.com/en-us/sql/relational-databases/performance-monitor/use-sql-server-objects?view=sql-server-2017) in the Microsoft SQL Server documentation.


| Counter | Type | Unit | Metric | 
| --- | --- | --- | --- | 
| Forwarded Records | [Access Methods](https://docs.microsoft.com/en-us/sql/relational-databases/performance-monitor/sql-server-access-methods-object?view=sql-server-2017) | Records per second | db.Access Methods.Forwarded Records | 
| Page Splits | [Access Methods](https://docs.microsoft.com/en-us/sql/relational-databases/performance-monitor/sql-server-access-methods-object?view=sql-server-2017) | Splits per second | db.Access Methods.Page Splits | 
| Buffer cache hit ratio | [Buffer Manager](https://docs.microsoft.com/en-us/sql/relational-databases/performance-monitor/sql-server-buffer-manager-object?view=sql-server-2017) | Ratio | db.Buffer Manager.Buffer cache hit ratio | 
| Page life expectancy | [Buffer Manager](https://docs.microsoft.com/en-us/sql/relational-databases/performance-monitor/sql-server-buffer-manager-object?view=sql-server-2017) | Expectancy in seconds | db.Buffer Manager.Page life expectancy | 
| Page lookups | [Buffer Manager](https://docs.microsoft.com/en-us/sql/relational-databases/performance-monitor/sql-server-buffer-manager-object?view=sql-server-2017) | Lookups per second | db.Buffer Manager.Page lookups | 
| Page reads | [Buffer Manager](https://docs.microsoft.com/en-us/sql/relational-databases/performance-monitor/sql-server-buffer-manager-object?view=sql-server-2017) | Reads per second | db.Buffer Manager.Page reads | 
| Page writes | [Buffer Manager](https://docs.microsoft.com/en-us/sql/relational-databases/performance-monitor/sql-server-buffer-manager-object?view=sql-server-2017) | Writes per second | db.Buffer Manager.Page writes | 
| Active Transactions | [Databases](https://docs.microsoft.com/en-us/sql/relational-databases/performance-monitor/sql-server-databases-object?view=sql-server-2017) | Transactions | db.Databases.Active Transactions (\$1Total) | 
| Log Bytes Flushed | [Databases](https://docs.microsoft.com/en-us/sql/relational-databases/performance-monitor/sql-server-databases-object?view=sql-server-2017) | Bytes flushed per second | db.Databases.Log Bytes Flushed (\$1Total) | 
| Log Flush Waits | [Databases](https://docs.microsoft.com/en-us/sql/relational-databases/performance-monitor/sql-server-databases-object?view=sql-server-2017) | Waits per second | db.Databases.Log Flush Waits (\$1Total) | 
| Log Flushes | [Databases](https://docs.microsoft.com/en-us/sql/relational-databases/performance-monitor/sql-server-databases-object?view=sql-server-2017) | Flushes per second | db.Databases.Log Flushes (\$1Total) | 
| Write Transactions | [Databases](https://docs.microsoft.com/en-us/sql/relational-databases/performance-monitor/sql-server-databases-object?view=sql-server-2017) | Transactions per second | db.Databases.Write Transactions (\$1Total) | 
| Processes blocked | [General Statistics](https://docs.microsoft.com/en-us/sql/relational-databases/performance-monitor/sql-server-general-statistics-object?view=sql-server-2017) | Processes blocked | db.General Statistics.Processes blocked | 
| User Connections | [General Statistics](https://docs.microsoft.com/en-us/sql/relational-databases/performance-monitor/sql-server-general-statistics-object?view=sql-server-2017) | Connections | db.General Statistics.User Connections | 
| Latch Waits | [Latches](https://docs.microsoft.com/en-us/sql/relational-databases/performance-monitor/sql-server-latches-object?view=sql-server-2017) | Waits per second | db.Latches.Latch Waits | 
| Number of Deadlocks | [Locks](https://docs.microsoft.com/en-us/sql/relational-databases/performance-monitor/sql-server-locks-object?view=sql-server-2017) | Deadlocks per second | db.Locks.Number of Deadlocks (\$1Total) | 
| Memory Grants Pending | [Memory Manager](https://docs.microsoft.com/en-us/sql/relational-databases/performance-monitor/sql-server-memory-manager-object?view=sql-server-2017) | Memory grants | db.Memory Manager.Memory Grants Pending | 
| Batch Requests | [SQL Statistics](https://docs.microsoft.com/en-us/sql/relational-databases/performance-monitor/sql-server-sql-statistics-object?view=sql-server-2017) | Requests per second | db.SQL Statistics.Batch Requests | 
| SQL Compilations | [SQL Statistics](https://docs.microsoft.com/en-us/sql/relational-databases/performance-monitor/sql-server-sql-statistics-object?view=sql-server-2017) | Compilations per second | db.SQL Statistics.SQL Compilations | 
| SQL Re-Compilations | [SQL Statistics](https://docs.microsoft.com/en-us/sql/relational-databases/performance-monitor/sql-server-sql-statistics-object?view=sql-server-2017) | Re-compilations per second | db.SQL Statistics.SQL Re-Compilations | 

## Performance Insights counters for Amazon RDS for Oracle
<a name="USER_PerfInsights_Counters.Oracle"></a>

The following database counters are available with Performance Insights for RDS for Oracle.

### Native counters for RDS for Oracle
<a name="USER_PerfInsights_Counters.Oracle.Native"></a>

Native metrics are defined by the database engine and not by Amazon RDS. You can find definitions for these native metrics in [Statistics Descriptions](https://docs.oracle.com/en/database/oracle/oracle-database/12.2/refrn/statistics-descriptions-2.html#GUID-2FBC1B7E-9123-41DD-8178-96176260A639) in the Oracle documentation.

**Note**  
For the `CPU used by this session` counter metric, the unit has been transformed from the native centiseconds to active sessions to make the value easier to use. For example, CPU send in the DB Load chart represents the demand for CPU. The counter metric `CPU used by this session` represents the amount of CPU used by Oracle sessions. You can compare CPU send to the `CPU used by this session` counter metric. When demand for CPU is higher than CPU used, sessions are waiting for CPU time.


| Counter | Type | Unit | Metric | 
| --- | --- | --- | --- | 
| CPU used by this session | User | Active sessions | db.User.CPU used by this session | 
| SQL\$1Net roundtrips to/from client | User | Roundtrips per second | db.User.SQL\$1Net roundtrips to/from client | 
| Bytes received via SQL\$1Net from client | User | Bytes per second | db.User.bytes received via SQL\$1Net from client | 
| User commits | User | Commits per second | db.User.user commits | 
| Logons cumulative | User | Logons per second | db.User.logons cumulative | 
| User calls | User | Calls per second | db.User.user calls | 
| Bytes sent via SQL\$1Net to client | User | Bytes per second | db.User.bytes sent via SQL\$1Net to client | 
| User rollbacks | User | Rollbacks per second | db.User.user rollbacks | 
| Redo size | Redo | Bytes per second | db.Redo.redo size | 
| Parse count (total) | SQL | Parses per second | db.SQL.parse count (total) | 
| Parse count (hard) | SQL | Parses per second | db.SQL.parse count (hard) | 
| Table scan rows gotten | SQL | Rows per second | db.SQL.table scan rows gotten | 
| Sorts (memory) | SQL | Sorts per second | db.SQL.sorts (memory) | 
| Sorts (disk) | SQL | Sorts per second | db.SQL.sorts (disk) | 
| Sorts (rows) | SQL | Sorts per second | db.SQL.sorts (rows) | 
| Physical read bytes | Cache | Bytes per second | db.Cache.physical read bytes | 
| DB block gets | Cache | Blocks per second | db.Cache.db block gets | 
| DBWR checkpoints | Cache | Checkpoints per minute | db.Cache.DBWR checkpoints | 
| Physical reads | Cache | Reads per second | db.Cache.physical reads | 
| Consistent gets from cache | Cache | Gets per second | db.Cache.consistent gets from cache | 
| DB block gets from cache | Cache | Gets per second | db.Cache.db block gets from cache | 
| Consistent gets | Cache | Gets per second | db.Cache.consistent gets | 

## Performance Insights counters for Amazon RDS for PostgreSQL
<a name="USER_PerfInsights_Counters.PostgreSQL"></a>

The following database counters are available with Performance Insights for Amazon RDS for PostgreSQL.

**Topics**
+ [

### Native counters for Amazon RDS for PostgreSQL
](#USER_PerfInsights_Counters.PostgreSQL.Native)
+ [

### Non-native counters for Amazon RDS for PostgreSQL
](#USER_PerfInsights_Counters.PostgreSQL.NonNative)

### Native counters for Amazon RDS for PostgreSQL
<a name="USER_PerfInsights_Counters.PostgreSQL.Native"></a>

Native metrics are defined by the database engine and not by Amazon RDS. You can find definitions for these native metrics in [Viewing Statistics](https://www.postgresql.org/docs/current/monitoring-stats.html#MONITORING-STATS-VIEWS) in the PostgreSQL documentation.


| Counter | Type | Unit | Metric | 
| --- | --- | --- | --- | 
| blks\$1hit | Cache | Blocks per second | db.Cache.blks\$1hit | 
| buffers\$1alloc | Cache | Blocks per second | db.Cache.buffers\$1alloc | 
| buffers\$1checkpoint | Checkpoint | Blocks per second | db.Checkpoint.buffers\$1checkpoint | 
| checkpoint\$1sync\$1time | Checkpoint | Milliseconds per checkpoint | db.Checkpoint.checkpoint\$1sync\$1time | 
| checkpoint\$1write\$1time | Checkpoint | Milliseconds per checkpoint | db.Checkpoint.checkpoint\$1write\$1time | 
| checkpoints\$1req | Checkpoint | Checkpoints per minute | db.Checkpoint.checkpoints\$1req | 
| checkpoints\$1timed | Checkpoint | Checkpoints per minute | db.Checkpoint.checkpoints\$1timed | 
| maxwritten\$1clean | Checkpoint | Bgwriter clean stops per minute  | db.Checkpoint.maxwritten\$1clean | 
| deadlocks | Concurrency | Deadlocks per minute | db.Concurrency.deadlocks | 
| blk\$1read\$1time | I/O | Milliseconds | db.IO.blk\$1read\$1time | 
| blks\$1read | I/O | Blocks per second | db.IO.blks\$1read | 
| buffers\$1backend | I/O | Blocks per second | db.IO.buffers\$1backend | 
| buffers\$1backend\$1fsync | I/O | Blocks per second | db.IO.buffers\$1backend\$1fsync | 
| buffers\$1clean | I/O | Blocks per second | db.IO.buffers\$1clean | 
| tup\$1deleted | SQL | Tuples per second | db.SQL.tup\$1deleted | 
| tup\$1fetched | SQL | Tuples per second | db.SQL.tup\$1fetched | 
| tup\$1inserted | SQL | Tuples per second | db.SQL.tup\$1inserted | 
| tup\$1returned | SQL | Tuples per second | db.SQL.tup\$1returned | 
| tup\$1updated | SQL | Tuples per second | db.SQL.tup\$1updated | 
| temp\$1bytes | Temp | Bytes per second | db.Temp.temp\$1bytes | 
| temp\$1files | Temp | Files per minute | db.Temp.temp\$1files | 
| xact\$1commit | Transactions | Commits per second | db.Transactions.xact\$1commit | 
| xact\$1rollback | Transactions | Rollbacks per second | db.Transactions.xact\$1rollback | 
| numbackends | User | Connections | db.User.numbackends | 
| archived\$1count | Write-ahead log (WAL) | Files per minute | db.WAL.archived\$1count | 

### Non-native counters for Amazon RDS for PostgreSQL
<a name="USER_PerfInsights_Counters.PostgreSQL.NonNative"></a>

Non-native counter metrics are counters defined by Amazon RDS. A non-native metric can be a metric that you get with a specific query. A non-native metric also can be a derived metric, where two or more native counters are used in calculations for ratios, hit rates, or latencies.


| Counter | Type | Unit | Metric | Description | Definition | 
| --- | --- | --- | --- | --- | --- | 
| checkpoint\$1sync\$1latency | Checkpoint | db.Checkpoint.checkpoint\$1sync\$1latency |  | The total amount of time that has been spent in the portion of checkpoint processing where files are synchronized to disk. | checkpoint\$1sync\$1time / (checkpoints\$1timed \$1 checkpoints\$1req) | 
| checkpoint\$1write\$1latency | Checkpoint | db.Checkpoint.checkpoint\$1write\$1latency | The total amount of time that has been spent in the portion of checkpoint processing where files are written to disk. | checkpoint\$1write\$1time / (checkpoints\$1timed \$1 checkpoints\$1req) | 
| read\$1latency | I/O | db.IO.read\$1latency | The time spent reading data file blocks by backends in this instance. | blk\$1read\$1time / blks\$1read | 
| idle\$1in\$1transaction\$1aborted\$1count | State | Sessions | db.state.idle\$1in\$1transaction\$1aborted\$1count | The number of sessions in the idle in transaction (aborted) state. | Not applicable | 
| idle\$1in\$1transaction\$1count | State | Sessions | db.state.idle\$1in\$1transaction\$1count | The number of sessions in the idle in transaction state. | Not applicable | 
| idle\$1in\$1transaction\$1max\$1time | State | Seconds | db.state.idle\$1in\$1transaction\$1max\$1time | The duration of the longest running transaction in the idle in transaction state, in seconds. | Not applicable | 
| active\$1transactions | Transactions | Transactions | db.Transactions.active\$1transactions | The number of active transactions. | Not applicable | 
| blocked\$1transactions | Transactions | Transactions | db.Transactions.blocked\$1transactions | The number of blocked transactions. | Not applicable | 
| oldest\$1active\$1logical\$1replication\$1slot\$1xid\$1age | Transactions | db.Transactions.oldest\$1active\$1logical\$1replication\$1slot\$1xid\$1age | The age of the oldest transaction in an active logical replication slot. For more information, see [Logical replication slot](Appendix.PostgreSQL.CommonDBATasks.Autovacuum_Monitoring.Resolving_Identifiableblockers.md#Appendix.PostgreSQL.CommonDBATasks.Autovacuum_Monitoring.Logical_replication_slot). | – | 
| oldest\$1inactive\$1logical\$1replication\$1slot\$1xid\$1age | Transactions | db.Transactions.oldest\$1inactive\$1logical\$1replication\$1slot\$1xid\$1age | The age of the oldest transaction in an inactive logical replication slot. For more information, see [Logical replication slot](Appendix.PostgreSQL.CommonDBATasks.Autovacuum_Monitoring.Resolving_Identifiableblockers.md#Appendix.PostgreSQL.CommonDBATasks.Autovacuum_Monitoring.Logical_replication_slot). | – | 
| oldest\$1prepared\$1transaction\$1xid\$1age | Transactions | db.Transactions.oldest\$1prepared\$1transaction\$1xid\$1age | The age of the oldest prepared transaction. For more information, see [Prepared transaction](Appendix.PostgreSQL.CommonDBATasks.Autovacuum_Monitoring.Resolving_Identifiableblockers.md#Appendix.PostgreSQL.CommonDBATasks.Autovacuum_Monitoring.Prepared_transaction). | – | 
| oldest\$1running\$1transaction\$1xid\$1age | Transactions | db.Transactions.oldest\$1running\$1transaction\$1xid\$1age | The age of the oldest running transaction. For more information, see [Active statement](Appendix.PostgreSQL.CommonDBATasks.Autovacuum_Monitoring.Resolving_Identifiableblockers.md#Appendix.PostgreSQL.CommonDBATasks.Autovacuum_Monitoring.Active_statement) for the oldest running active transaction and [Idle in transaction](Appendix.PostgreSQL.CommonDBATasks.Autovacuum_Monitoring.Resolving_Identifiableblockers.md#Appendix.PostgreSQL.CommonDBATasks.Autovacuum_Monitoring.Idle_in_transaction) for the oldest running idle-in-transaction.  | – | 
| oldest\$1hot\$1standby\$1feedback\$1xid\$1age | Transactions | db.Transactions.oldest\$1hot\$1standby\$1feedback\$1xid\$1age | The age of the oldest running transaction on a read replica with `hot_standby_feedback` enabled. For more information, see [Read replicas](Appendix.PostgreSQL.CommonDBATasks.Autovacuum_Monitoring.Resolving_Identifiableblockers.md#Appendix.PostgreSQL.CommonDBATasks.Autovacuum_Monitoring.Read_replicas). | – | 
| max\$1used\$1xact\$1ids | Transactions | Transactions | db.Transactions.max\$1used\$1xact\$1ids | The number of transactions that haven't been vacuumed. | Not applicable | 
| max\$1connections | Users | Connections | db.User.max\$1connections | The maximum number of connections allowed for a DB instance as configured in max\$1connections parameter. | Not applicable | 
| archive\$1failed\$1count | WAL | Files per minute | db.WAL.archive\$1failed\$1count | The number of failed attempts for archiving WAL files, in files per minute. | Not applicable | 

# SQL statistics for Performance Insights
<a name="sql-statistics"></a>

*SQL statistics* are performance-related metrics about SQL queries that are collected by Performance Insights. Performance Insights gathers statistics for each second that a query is running and for each SQL call. The SQL statistics are an average for the selected time range.

A SQL digest is a composite of all queries having a given pattern but not necessarily having the same literal values. The digest replaces literal values with a question mark. For example, `SELECT * FROM emp WHERE lname= ?`. This digest might consist of the following child queries:

```
SELECT * FROM emp WHERE lname = 'Sanchez'
SELECT * FROM emp WHERE lname = 'Olagappan'
SELECT * FROM emp WHERE lname = 'Wu'
```

All engines support SQL statistics for digest queries.

For the region, DB engine, and instance class support information for this feature, see [Amazon RDS DB engine, Region, and instance class support for Performance Insights features](USER_PerfInsights.Overview.Engines.md#USER_PerfInsights.Overview.PIfeatureEngnRegSupport)

**Topics**
+ [

# SQL statistics for MariaDB and MySQL
](USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.MySQL.md)
+ [

# SQL statistics for Amazon RDS for Oracle
](USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.Oracle.md)
+ [

# SQL statistics for Amazon RDS for SQL Server
](USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.SQLServer.md)
+ [

# SQL statistics for RDS PostgreSQL
](USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.PostgreSQL.md)

# SQL statistics for MariaDB and MySQL
<a name="USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.MySQL"></a>

MariaDB and MySQL collect SQL statistics only at the digest level. No statistics are shown at the statement level.

**Topics**
+ [

## Digest statistics for MariaDB and MySQL
](#USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.MySQL.truncation)
+ [

## Per-second statistics for MariaDB and MySQL
](#USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.MySQL.per-second)
+ [

## Per-call statistics for MariaDB and MySQL
](#USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.MySQL.truncation.per-call)
+ [

## Primary statistics for MariaDB and MySQL
](#USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.MySQL.primary)

## Digest statistics for MariaDB and MySQL
<a name="USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.MySQL.truncation"></a>

Performance Insights collects SQL digest statistics from the `events_statements_summary_by_digest` table. The `events_statements_summary_by_digest` table is managed by your database. 

The digest table doesn't have an eviction policy. When the table is full, the AWS Management Console shows the following message:

```
Performance Insights is unable to collect SQL Digest statistics on new queries because the table events_statements_summary_by_digest is full. 
Please truncate events_statements_summary_by_digest table to clear the issue. Check the User Guide for more details.
```

In this situation, MariaDB and MySQL don't track SQL queries. To address this issue, Performance Insights automatically truncates the digest table when both of the following conditions are met:
+ The table is full.
+ Performance Insights manages the Performance Schema automatically.

  For automatic management, the `performance_schema` parameter must be set to `0` and the **Source** must not be set to `user`. If Performance Insights isn't managing the Performance Schema automatically, see [Overview of the Performance Schema for Performance Insights on Amazon RDS for MariaDB or MySQL](USER_PerfInsights.EnableMySQL.md).

In the AWS CLI, check the source of a parameter value by running the [describe-db-parameters](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-parameters.html) command.

## Per-second statistics for MariaDB and MySQL
<a name="USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.MySQL.per-second"></a>

The following SQL statistics are available for MariaDB and MySQL DB instances.


| Metric | Unit | 
| --- | --- | 
| db.sql\$1tokenized.stats.count\$1star\$1per\$1sec | Calls per second | 
| db.sql\$1tokenized.stats.sum\$1timer\$1wait\$1per\$1sec | Average latency per second (in ms) | 
| db.sql\$1tokenized.stats.sum\$1select\$1full\$1join\$1per\$1sec | Select full join per second | 
| db.sql\$1tokenized.stats.sum\$1select\$1range\$1check\$1per\$1sec | Select range check per second | 
| db.sql\$1tokenized.stats.sum\$1select\$1scan\$1per\$1sec | Select scan per second | 
| db.sql\$1tokenized.stats.sum\$1sort\$1merge\$1passes\$1per\$1sec | Sort merge passes per second | 
| db.sql\$1tokenized.stats.sum\$1sort\$1scan\$1per\$1sec | Sort scans per second | 
| db.sql\$1tokenized.stats.sum\$1sort\$1range\$1per\$1sec | Sort ranges per second | 
| db.sql\$1tokenized.stats.sum\$1sort\$1rows\$1per\$1sec | Sort rows per second | 
| db.sql\$1tokenized.stats.sum\$1rows\$1affected\$1per\$1sec | Rows affected per second | 
| db.sql\$1tokenized.stats.sum\$1rows\$1examined\$1per\$1sec | Rows examined per second | 
| db.sql\$1tokenized.stats.sum\$1rows\$1sent\$1per\$1sec | Rows sent per second | 
| db.sql\$1tokenized.stats.sum\$1created\$1tmp\$1disk\$1tables\$1per\$1sec | Created temporary disk tables per second | 
| db.sql\$1tokenized.stats.sum\$1created\$1tmp\$1tables\$1per\$1sec | Created temporary tables per second | 
| db.sql\$1tokenized.stats.sum\$1lock\$1time\$1per\$1sec | Lock time per second (in ms) | 

## Per-call statistics for MariaDB and MySQL
<a name="USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.MySQL.truncation.per-call"></a>

The following metrics provide per call statistics for a SQL statement.


| Metric | Unit | 
| --- | --- | 
| db.sql\$1tokenized.stats.sum\$1timer\$1wait\$1per\$1call | Average latency per call (in ms)  | 
| db.sql\$1tokenized.stats.sum\$1select\$1full\$1join\$1per\$1call | Select full joins per call | 
| db.sql\$1tokenized.stats.sum\$1select\$1range\$1check\$1per\$1call | Select range check per call | 
| db.sql\$1tokenized.stats.sum\$1select\$1scan\$1per\$1call | Select scans per call | 
| db.sql\$1tokenized.stats.sum\$1sort\$1merge\$1passes\$1per\$1call | Sort merge passes per call | 
| db.sql\$1tokenized.stats.sum\$1sort\$1scan\$1per\$1call | Sort scans per call | 
| db.sql\$1tokenized.stats.sum\$1sort\$1range\$1per\$1call | Sort ranges per call | 
| db.sql\$1tokenized.stats.sum\$1sort\$1rows\$1per\$1call | Sort rows per call | 
| db.sql\$1tokenized.stats.sum\$1rows\$1affected\$1per\$1call | Rows affected per call | 
| db.sql\$1tokenized.stats.sum\$1rows\$1examined\$1per\$1call | Rows examined per call | 
| db.sql\$1tokenized.stats.sum\$1rows\$1sent\$1per\$1call | Rows sent per call | 
| db.sql\$1tokenized.stats.sum\$1created\$1tmp\$1disk\$1tables\$1per\$1call | Created temporary disk tables per call | 
| db.sql\$1tokenized.stats.sum\$1created\$1tmp\$1tables\$1per\$1call | Created temporary tables per call | 
| db.sql\$1tokenized.stats.sum\$1lock\$1time\$1per\$1call | Lock time per call (in ms) | 

## Primary statistics for MariaDB and MySQL
<a name="USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.MySQL.primary"></a>

The following SQL statistics are available for MariaDB and MySQL DB instances.


| Metric | Unit | 
| --- | --- | 
| db.sql\$1tokenized.stats.count\$1star | Calls | 
| db.sql\$1tokenized.stats.sum\$1timer\$1wait | Wait time (in ms) | 
| db.sql\$1tokenized.stats.sum\$1select\$1full\$1join | Select full join | 
| db.sql\$1tokenized.stats.sum\$1select\$1range\$1check | Select range checks | 
| db.sql\$1tokenized.stats.sum\$1select\$1scan | Select scans | 
| db.sql\$1tokenized.stats.sum\$1sort\$1merge\$1passes | Sort merge passes | 
| db.sql\$1tokenized.stats.sum\$1sort\$1scan | Sort scans | 
| db.sql\$1tokenized.stats.sum\$1sort\$1range | Sort ranges | 
| db.sql\$1tokenized.stats.sum\$1sort\$1rows | Sort rows | 
| db.sql\$1tokenized.stats.sum\$1rows\$1affected | Rows affected | 
| db.sql\$1tokenized.stats.sum\$1rows\$1examined | Rows examined | 
| db.sql\$1tokenized.stats.sum\$1rows\$1sent | Rows sent | 
| db.sql\$1tokenized.stats.sum\$1created\$1tmp\$1disk\$1tables | Created temporary disk tables | 
| db.sql\$1tokenized.stats.sum\$1created\$1tmp\$1tables | Created temporary tables | 
| db.sql\$1tokenized.stats.sum\$1lock\$1time | Lock time (in ms) | 

# SQL statistics for Amazon RDS for Oracle
<a name="USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.Oracle"></a>

Amazon RDS for Oracle collects SQL statistics both at the statement and digest level. At the statement level, the ID column represents the value of `V$SQL.SQL_ID`. At the digest level, the ID column shows the value of `V$SQL.FORCE_MATCHING_SIGNATURE`. 

If the ID is `0` at the digest level, Oracle Database has determined that this statement is not suitable for reuse. In this case, the child SQL statements could belong to different digests. However, the statements are grouped together under the `digest_text` for the first SQL statement collected.

**Topics**
+ [

## Per-second statistics for Oracle
](#USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.Oracle.per-second)
+ [

## Per-call statistics for Oracle
](#USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.Oracle.per-call)
+ [

## Primary statistics for Oracle
](#USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.Oracle.primary)

## Per-second statistics for Oracle
<a name="USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.Oracle.per-second"></a>

The following metrics provide per-second statistics for an Oracle SQL query.


| Metric | Unit | 
| --- | --- | 
| db.sql.stats.executions\$1per\$1sec | Number of executions per second | 
| db.sql.stats.elapsed\$1time\$1per\$1sec | Average active executions (AAE) | 
| db.sql.stats.rows\$1processed\$1per\$1sec | Rows processed per second | 
| db.sql.stats.buffer\$1gets\$1per\$1sec | Buffer gets per second | 
| db.sql.stats.physical\$1read\$1requests\$1per\$1sec | Physical reads per second | 
| db.sql.stats.physical\$1write\$1requests\$1per\$1sec | Physical writes per second | 
| db.sql.stats.total\$1sharable\$1mem\$1per\$1sec | Total shareable memory per second (in bytes)  | 
| db.sql.stats.cpu\$1time\$1per\$1sec | CPU time per second (in ms) | 

The following metrics provide per-second statistics for an Oracle SQL digest query.


| Metric | Unit | 
| --- | --- | 
| db.sql\$1tokenized.stats.executions\$1per\$1sec | Number of executions per second | 
| db.sql\$1tokenized.stats.elapsed\$1time\$1per\$1sec | Average active executions (AAE) | 
| db.sql\$1tokenized.stats.rows\$1processed\$1per\$1sec | Rows processed per second | 
| db.sql\$1tokenized.stats.buffer\$1gets\$1per\$1sec | Buffer gets per second | 
| db.sql\$1tokenized.stats.physical\$1read\$1requests\$1per\$1sec | Physical reads per second | 
| db.sql\$1tokenized.stats.physical\$1write\$1requests\$1per\$1sec | Physical writes per second | 
| db.sql\$1tokenized.stats.total\$1sharable\$1mem\$1per\$1sec | Total shareable memory per second (in bytes)  | 
| db.sql\$1tokenized.stats.cpu\$1time\$1per\$1sec | CPU time per second (in ms) | 

## Per-call statistics for Oracle
<a name="USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.Oracle.per-call"></a>

The following metrics provide per-call statistics for an Oracle SQL statement.


| Metric | Unit | 
| --- | --- | 
| db.sql.stats.elapsed\$1time\$1per\$1exec | Elapsed time per executions (in ms)  | 
| db.sql.stats.rows\$1processed\$1per\$1exec | Rows processed per execution | 
| db.sql.stats.buffer\$1gets\$1per\$1exec | Buffer gets per execution | 
| db.sql.stats.physical\$1read\$1requests\$1per\$1exec | Physical reads per execution | 
| db.sql.stats.physical\$1write\$1requests\$1per\$1exec | Physical writes per execution | 
| db.sql.stats.total\$1sharable\$1mem\$1per\$1exec | Total shareable memory per execution (in bytes) | 
| db.sql.stats.cpu\$1time\$1per\$1exec | CPU time per execution (in ms) | 

The following metrics provide per-call statistics for an Oracle SQL digest query.


| Metric | Unit | 
| --- | --- | 
| db.sql\$1tokenized.stats.elapsed\$1time\$1per\$1exec | Elapsed time per executions (in ms)  | 
| db.sql\$1tokenized.stats.rows\$1processed\$1per\$1exec | Rows processed per execution | 
| db.sql\$1tokenized.stats.buffer\$1gets\$1per\$1exec | Buffer gets per execution | 
| db.sql\$1tokenized.stats.physical\$1read\$1requests\$1per\$1exec | Physical reads per execution | 
| db.sql\$1tokenized.stats.physical\$1write\$1requests\$1per\$1exec | Physical writes per execution | 
| db.sql\$1tokenized.stats.total\$1sharable\$1mem\$1per\$1exec | Total shareable memory per execution (in bytes) | 
| db.sql\$1tokenized.stats.cpu\$1time\$1per\$1exec | CPU time per execution (in ms) | 

## Primary statistics for Oracle
<a name="USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.Oracle.primary"></a>

The following metrics provide primary statistics for an Oracle SQL query.


| Metric | Unit | 
| --- | --- | 
| db.sql.stats.executions | Number of executions  | 
| db.sql.stats.elapsed\$1time | Elapsed time (in ms) | 
| db.sql.stats.rows\$1processed | Rows processed  | 
| db.sql.stats.buffer\$1gets | Buffer gets  | 
| db.sql.stats.physical\$1read\$1requests | Physical reads  | 
| db.sql.stats.physical\$1write\$1requests | Physical writes  | 
| db.sql.stats.total\$1sharable\$1mem | Total shareable memory (in bytes)  | 
| db.sql.stats.cpu\$1time | CPU time (in ms) | 

The following metrics provide primary statistics for an Oracle SQL digest query.


| Metric | Unit | 
| --- | --- | 
| db.sql\$1tokenized.stats.executions | Number of executions | 
| db.sql\$1tokenized.stats.elapsed\$1time | Elapsed time (in ms) | 
| db.sql\$1tokenized.stats.rows\$1processed | Rows processed | 
| db.sql\$1tokenized.stats.buffer\$1gets | Buffer gets | 
| db.sql\$1tokenized.stats.physical\$1read\$1requests | Physical reads | 
| db.sql\$1tokenized.stats.physical\$1write\$1requests | Physical writes | 
| db.sql\$1tokenized.stats.total\$1sharable\$1mem | Total shareable memory (in bytes)  | 
| db.sql\$1tokenized.stats.cpu\$1time | CPU time (in ms) | 

# SQL statistics for Amazon RDS for SQL Server
<a name="USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.SQLServer"></a>

Amazon RDS for SQL Server collects SQL statistics both at the statement and digest level. At the statement level, the ID column represents the value of `sql_handle`. At the digest level, the ID column shows the value of `query_hash`. 

SQL Server returns NULL values for `query_hash` for a few statements. For example, ALTER INDEX, CHECKPOINT, UPDATE STATISTICS, COMMIT TRANSACTION, FETCH NEXT FROM Cursor, and a few INSERT statements, SELECT @<variable>, conditional statements, and executable stored procedures. In this case, the `sql_handle` value is displayed as the ID at the digest level for that statement. 

**Topics**
+ [

## Per-second statistics for SQL Server
](#USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.SQLServer.per-second)
+ [

## Per-call statistics for SQL Server
](#USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.SQLServer.per-call)
+ [

## Primary statistics for SQL Server
](#USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.SQLServer.primary)

## Per-second statistics for SQL Server
<a name="USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.SQLServer.per-second"></a>

The following metrics provide per-second statistics for a SQL Server SQL query.


| Metric | Unit | 
| --- | --- | 
| db.sql.stats.execution\$1count\$1per\$1sec | Number of executions per second | 
| db.sql.stats.total\$1elapsed\$1time\$1per\$1sec | Total elapsed time per second | 
| db.sql.stats.total\$1rows\$1per\$1sec | Total rows processed per second | 
| db.sql.stats.total\$1logical\$1reads\$1per\$1sec | Total logical reads per second | 
| db.sql.stats.total\$1logical\$1writes\$1per\$1sec | Total logical writes per second | 
| db.sql.stats.total\$1physical\$1reads\$1per\$1sec | Total physical reads per second | 
| db.sql.stats.total\$1worker\$1time\$1per\$1sec | Total CPU time (in ms) | 

The following metrics provide per-second statistics for a SQL Server SQL digest query.


| Metric | Unit | 
| --- | --- | 
| db.sql\$1tokenized.stats.execution\$1count\$1per\$1sec | Number of execution per second | 
| db.sql\$1tokenized.stats.total\$1elapsed\$1time\$1per\$1sec | Total elapsed time per second | 
| db.sql\$1tokenized.stats.total\$1rows\$1per\$1sec | Total rows processed per second | 
| db.sql\$1tokenized.stats.total\$1logical\$1reads\$1per\$1sec | Total logical reads per second | 
| db.sql\$1tokenized.stats.total\$1logical\$1writes\$1per\$1sec | Total logical writes per second | 
| db.sql\$1tokenized.stats.total\$1physical\$1reads\$1per\$1sec | Total physical reads per second | 
| db.sql\$1tokenized.stats.total\$1worker\$1time\$1per\$1sec | Total CPU time (in ms) | 

## Per-call statistics for SQL Server
<a name="USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.SQLServer.per-call"></a>

The following metrics provide per-call statistics for a SQL Server SQL statement.


| Metric | Unit | 
| --- | --- | 
| db.sql.stats.total\$1elapsed\$1time\$1per\$1call | Total elapsed time per execution (in ms) | 
| db.sql.stats.total\$1rows\$1per\$1call | Total rows processed per execution | 
| db.sql.stats.total\$1logical\$1reads\$1per\$1call | Total logical reads per execution | 
| db.sql.stats.total\$1logical\$1writes\$1per\$1call | Total logical writes per execution | 
| db.sql.stats.total\$1physical\$1reads\$1per\$1call | Total physical reads per execution | 
| db.sql.stats.total\$1worker\$1time\$1per\$1call | Total CPU time per execution (in ms) | 

The following metrics provide per-call statistics for a SQL Server SQL digest query.


| Metric | Unit | 
| --- | --- | 
| db.sql\$1tokenized.stats.total\$1elapsed\$1time\$1per\$1call | Total elapsed time per execution | 
| db.sql\$1tokenized.stats.total\$1rows\$1per\$1call | Total rows processed per execution | 
| db.sql\$1tokenized.stats.total\$1logical\$1reads\$1per\$1call | Total logical reads per execution | 
| db.sql\$1tokenized.stats.total\$1logical\$1writes\$1per\$1call | Total logical writes per execution | 
| db.sql\$1tokenized.stats.total\$1physical\$1reads\$1per\$1call | Total physical reads per execution  | 
| db.sql\$1tokenized.stats.total\$1worker\$1time\$1per\$1call | Total CPU time per execution (in ms) | 

## Primary statistics for SQL Server
<a name="USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.SQLServer.primary"></a>

The following metrics provide primary statistics for a SQL Server SQL query.


| Metric | Unit | 
| --- | --- | 
| db.sql.stats.execution\$1count | Number of executions | 
| db.sql.stats.total\$1elapsed\$1time | Total elapsed time (in ms) | 
| db.sql.stats.total\$1rows | Total rows processed | 
| db.sql.stats.total\$1logical\$1reads | Total logical reads | 
| db.sql.stats.total\$1logical\$1writes | Total logical writes | 
| db.sql.stats.total\$1physical\$1reads | Total physical reads | 
| db.sql.stats.total\$1worker\$1time | Total CPU time (in ms) | 

The following metrics provide primary statistics for a SQL Server SQL digest query.


| Metric | Unit | 
| --- | --- | 
| db.sql\$1tokenized.stats.execution\$1count | Number of execution | 
| db.sql\$1tokenized.stats.total\$1elapsed\$1time | Total elapsed time (in ms) | 
| db.sql\$1tokenized.stats.total\$1rows | Total rows processed | 
| db.sql\$1tokenized.stats.total\$1logical\$1reads | Total logical reads | 
| db.sql\$1tokenized.stats.total\$1logical\$1writes | Total logical writes | 
| db.sql\$1tokenized.stats.total\$1physical\$1reads | Total physical reads | 
| db.sql\$1tokenized.stats.total\$1worker\$1time | Total CPU time (in ms) | 

# SQL statistics for RDS PostgreSQL
<a name="USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.PostgreSQL"></a>

For each SQL call and for each second that a query runs, Performance Insights collects SQL statistics. RDS for PostgreSQL collect SQL statistics only at the digest–level. No statistics are shown at the statement-level. 

Following, you can find information about digest-level statistics for RDS for PostgreSQL. 

**Topics**
+ [

## Digest statistics for RDS PostgreSQL
](#USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.PostgreSQL.digest)
+ [

## Per-second digest statistics for RDS PostgreSQL
](#USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.PostgreSQL.per-second)
+ [

## Per-call digest statistics for RDS PostgreSQL
](#USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.PostgreSQL.per-call)
+ [

## Primary statistics for RDS PostgreSQL
](#USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.PostgreSQL.primary)

## Digest statistics for RDS PostgreSQL
<a name="USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.PostgreSQL.digest"></a>

To view SQL digest statistics, RDS PostgreSQL must load the `pg_stat_statements` library. For PostgreSQL DB instances that are compatible with PostgreSQL 11 or later, the database loads this library by default. For PostgreSQL DB instances that are compatible with PostgreSQL 10 or earlier, enable this library manually. To enable it manually, add `pg_stat_statements` to `shared_preload_libraries` in the DB parameter group associated with the DB instance. Then reboot your DB instance. For more information, see [Parameter groups for Amazon RDS](USER_WorkingWithParamGroups.md).

**Note**  
Performance Insights can only collect statistics for queries in `pg_stat_activity` that aren't truncated. By default, PostgreSQL databases truncate queries longer than 1,024 bytes. To increase the query size, change the `track_activity_query_size` parameter in the DB parameter group associated with your DB instance. When you change this parameter, a DB instance reboot is required.

## Per-second digest statistics for RDS PostgreSQL
<a name="USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.PostgreSQL.per-second"></a>

The following SQL digest statistics are available for PostgreSQL DB instances.


| Metric | Unit | 
| --- | --- | 
| db.sql\$1tokenized.stats.calls\$1per\$1sec | Calls per second | 
| db.sql\$1tokenized.stats.rows\$1per\$1sec | Rows per second | 
| db.sql\$1tokenized.stats.total\$1time\$1per\$1sec | Average active executions per second (AAE) | 
| db.sql\$1tokenized.stats.shared\$1blks\$1hit\$1per\$1sec | Block hits per second | 
| db.sql\$1tokenized.stats.shared\$1blks\$1read\$1per\$1sec | Block reads per second | 
| db.sql\$1tokenized.stats.shared\$1blks\$1dirtied\$1per\$1sec | Blocks dirtied per second | 
| db.sql\$1tokenized.stats.shared\$1blks\$1written\$1per\$1sec | Block writes per second | 
| db.sql\$1tokenized.stats.local\$1blks\$1hit\$1per\$1sec | Local block hits per second | 
| db.sql\$1tokenized.stats.local\$1blks\$1read\$1per\$1sec | Local block reads per second | 
| db.sql\$1tokenized.stats.local\$1blks\$1dirtied\$1per\$1sec | Local block dirtied per second | 
| db.sql\$1tokenized.stats.local\$1blks\$1written\$1per\$1sec | Local block writes per second | 
| db.sql\$1tokenized.stats.temp\$1blks\$1written\$1per\$1sec | Temporary writes per second | 
| db.sql\$1tokenized.stats.temp\$1blks\$1read\$1per\$1sec | Temporary reads per second | 
| db.sql\$1tokenized.stats.blk\$1read\$1time\$1per\$1sec | Average concurrent reads per second | 
| db.sql\$1tokenized.stats.blk\$1write\$1time\$1per\$1sec | Average concurrent writes per second | 

## Per-call digest statistics for RDS PostgreSQL
<a name="USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.PostgreSQL.per-call"></a>

The following metrics provide per call statistics for a SQL statement.


| Metric | Unit | 
| --- | --- | 
| db.sql\$1tokenized.stats.rows\$1per\$1call | Rows per call | 
| db.sql\$1tokenized.stats.avg\$1latency\$1per\$1call | Average latency per call (in ms) | 
| db.sql\$1tokenized.stats.shared\$1blks\$1hit\$1per\$1call | Block hits per call | 
| db.sql\$1tokenized.stats.shared\$1blks\$1read\$1per\$1call | Block reads per call | 
| db.sql\$1tokenized.stats.shared\$1blks\$1written\$1per\$1call | Block writes per call | 
| db.sql\$1tokenized.stats.shared\$1blks\$1dirtied\$1per\$1call | Blocks dirtied per call | 
| db.sql\$1tokenized.stats.local\$1blks\$1hit\$1per\$1call | Local block hits per call | 
| db.sql\$1tokenized.stats.local\$1blks\$1read\$1per\$1call | Local block reads per call | 
| db.sql\$1tokenized.stats.local\$1blks\$1dirtied\$1per\$1call | Local block dirtied per call | 
| db.sql\$1tokenized.stats.local\$1blks\$1written\$1per\$1call | Local block writes per call | 
| db.sql\$1tokenized.stats.temp\$1blks\$1written\$1per\$1call | Temporary block writes per call | 
| db.sql\$1tokenized.stats.temp\$1blks\$1read\$1per\$1call | Temporary block reads per call | 
| db.sql\$1tokenized.stats.blk\$1read\$1time\$1per\$1call | Read time per call (in ms) | 
| db.sql\$1tokenized.stats.blk\$1write\$1time\$1per\$1call | Write time per call (in ms) | 

## Primary statistics for RDS PostgreSQL
<a name="USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.PostgreSQL.primary"></a>

The following SQL statistics are available for PostgreSQL DB instances.


| Metric | Unit | 
| --- | --- | 
| db.sql\$1tokenized.stats.calls | Calls  | 
| db.sql\$1tokenized.stats.rows | Rows  | 
| db.sql\$1tokenized.stats.total\$1time | Total time (in ms) | 
| db.sql\$1tokenized.stats.shared\$1blks\$1hit | Block hits  | 
| db.sql\$1tokenized.stats.shared\$1blks\$1read | Block reads  | 
| db.sql\$1tokenized.stats.shared\$1blks\$1dirtied | Blocks dirtied  | 
| db.sql\$1tokenized.stats.shared\$1blks\$1written | Block writes  | 
| db.sql\$1tokenized.stats.local\$1blks\$1hit | Local block hits  | 
| db.sql\$1tokenized.stats.local\$1blks\$1read | Local block reads  | 
| db.sql\$1tokenized.stats.local\$1blks\$1dirtied | Local blocks dirtied | 
| db.sql\$1tokenized.stats.local\$1blks\$1written | Local block writes  | 
| db.sql\$1tokenized.stats.temp\$1blks\$1written | Temporary writes  | 
| db.sql\$1tokenized.stats.temp\$1blks\$1read | Temporary reads  | 
| db.sql\$1tokenized.stats.blk\$1read\$1time | Average concurrent reads (in ms) | 
| db.sql\$1tokenized.stats.blk\$1write\$1time | Average concurrent writes (in ms) | 

For more information about these metrics, see [pg\$1stat\$1statements](https://www.postgresql.org/docs/current/pgstatstatements.html) in the PostgreSQL documentation.

# OS metrics in Enhanced Monitoring
<a name="USER_Monitoring-Available-OS-Metrics"></a>

Amazon RDS provides metrics in real time for the operating system (OS) that your DB instance runs on. RDS delivers the metrics from Enhanced Monitoring to your Amazon CloudWatch Logs account. The following tables list the OS metrics available using Amazon CloudWatch Logs.



**Topics**
+ [

## OS metrics for Db2, MariaDB, MySQL, Oracle, and PostgreSQL
](#USER_Monitoring-Available-OS-Metrics-RDS)
+ [

## OS metrics for Microsoft SQL Server
](#USER_Monitoring-Available-OS-Metrics-RDS.SQLServer)

## OS metrics for Db2, MariaDB, MySQL, Oracle, and PostgreSQL
<a name="USER_Monitoring-Available-OS-Metrics-RDS"></a>

RDS collects disk metrics for `rdsdbdata` as well as additional storage volumes present in the OS. To view OS metrics in CloudWatch Logs, see [Viewing OS metrics using CloudWatch Logs](USER_Monitoring.OS.CloudWatchLogs.md).

<a name="cloudwatch-os-metrics"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring-Available-OS-Metrics.html)

## OS metrics for Microsoft SQL Server
<a name="USER_Monitoring-Available-OS-Metrics-RDS.SQLServer"></a>

RDS collects disk metrics for `rdsdbdata` as well as additional storage volumes present in the OS. To view OS metrics in CloudWatch Logs, see [Viewing OS metrics using CloudWatch Logs](USER_Monitoring.OS.CloudWatchLogs.md).

<a name="cloudwatch-sql-server-metrics"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring-Available-OS-Metrics.html)