Amazon CloudWatch
User Guide

Metrics and Data Collected by AWS SDK Metrics for Enterprise Support

SDK Metrics collects data from your applications and uses it to emit metrics to CloudWatch. The following table lists the data collected by SDK Metrics.

Data Type

Message Version

String

Message ID

String

Service Endpoint

String

Normalized Service ID

String

API Operation name

String

Availability (from SDK customer point of view)

Integer (0 or 1) with number of samples

Latency (from SDK customer point of view)

Distribution

SDK Version

String

Client Language Runtime Version

String

Client Operating System

String

Service Response Codes

Key/value pairs

Client Language Runtime Version

String

Sample Request IDs

List

Retries

Distribution

Throttled Requests

Distribution

AccountID

String

Availability Zone

String

Instance ID

String

Runtime Environment (Lambda/ECS)

String

Network Error Messages

String/map

Source IP Address

String

Destination IP Address

String

The following table lists the metrics generated by SDK Metrics, published in the AWS/SDKMetrics namespace. These metrics are available only to customers who have the Enterprise support plan. For these customers, the metrics can be accessed through AWS support personnel and technical account managers.

Metric Description Use

CallCount

Total number of successful or failed API calls from your code to AWS services.

Unit: Count

Use CallCount as a baseline to correlate with other metrics such as ServerErrorCount and ThrottleCount.

ClientErrorCount

The number of API calls that failed with client errors (4xx HTTP response codes). These can include throttling errors, access denied, S3 bucket does not exist, and invalid parameter value.

Unit: Count

A high value for this metric usually indicates that something in your application needs to be fixed, unless the high value is a result of throttling caused by an AWS service limit. In this case, you should increase your service limit.

EndToEndLatency

The total time for your application to make a call using the AWS SDK, inclusive of retries.

Unit: Milliseconds

Use EndToEndLatency to determine how AWS API calls contribute to your application’s overall latency. Higher than expected latency might be caused by issues with your network, firewall, or other configuration settings. Latency can also result from SDK retries.

ConnectionErrorCount

The number of API calls that fail because of errors connecting to the service. These can be caused by network issues between your application and AWS services, including load balancer issues, DNS failures, and transit provider issues. In some cases, AWS issues might result in this error.

Unit: Count

Use this metric to determine whether problems are specific to your application or are caused by your infrastructure or network. A high value could also indicate short timeout values for API calls.

ServerErrorCount

The number of API calls that fail because of server errors (5xx HTTP response codes) from AWS services. These are typically caused by AWS services.

Unit: Count

Use this metric to determine the cause of SDK retries or latency. This metric doesn't always indicate that AWS services are at fault because some AWS teams classify latency as an HTTP 503 response.

ThrottleCount

The number of API calls that fail because of throttling by AWS services.

Unit: Count

Use this metric to assess if your application has reached throttle limits, as well as to determine the cause of retries and application latency. If you see high values, consider distributing calls over a window instead of batching your calls.

You can use the following dimensions with SDK Metrics.

Dimension Description

DestinationRegion

The AWS Region that is the destination of the call.

Service

The AWS service being called by the application.