Select your cookie preferences

We use essential cookies and similar tools that are necessary to provide our site and services. We use performance cookies to collect anonymous statistics, so we can understand how customers use our site and make improvements. Essential cookies cannot be deactivated, but you can choose “Customize” or “Decline” to decline performance cookies.

If you agree, AWS and approved third parties will also use cookies to provide useful site features, remember your preferences, and display relevant content, including relevant advertising. To accept or decline all non-essential cookies, choose “Accept” or “Decline.” To make more detailed choices, choose “Customize.”

Available CloudWatch metrics for Amazon SQS

Focus mode
Available CloudWatch metrics for Amazon SQS - Amazon Simple Queue Service

Amazon SQS sends the following metrics to CloudWatch.

Note

For some metrics, the result is approximate because of the distributed architecture of Amazon SQS. In most cases, the count should be close to the actual number of messages in the queue.

Amazon SQS metrics

The AWS/SQS namespace includes the following metrics.

Metric Description
ApproximateAgeOfOldestMessage The approximate age of the oldest non-deleted message in the queue.
Note
  • After a message is received three times (or more) and not processed, the message is moved to the back of the queue and the ApproximateAgeOfOldestMessage metric points to the second-oldest message that hasn't been received more than three times. This action occurs even if the queue has a redrive policy.

  • Because a single "poison-pill" message (received multiple times but never deleted) can distort this metric, the age of such a message isn't included until it is consumed successfully.

  • When the queue has a redrive policy, the message is moved to a dead-letter queue (DLQ) after the configured maximum number of receives. When the message is moved to the DLQ, the ApproximateAgeOfOldestMessage metric of the DLQ represents the time when the message was moved to the DLQ, not the original time the message was sent.

  • For FIFO queues, the message is not moved to the back of the queue because this will break the FIFO order guarantee. Instead, the message goes to the DLQ if one is configured; otherwise, it will block the message group until successfully deleted or until it expires.

Reporting criteria: A non-negative value is reported if the queue is active.

Units: Seconds

Valid statistics: Average, Minimum, Maximum, Sum, Data Samples (displays as Sample Count in the Amazon SQS console)

ApproximateNumberOfGroupsWithInflightMessages The approximate number of message groups with in flight messages, where a message is considered to be in flight after it's received from a queue by a consumer, but not yet deleted from the queue. This metric can help you troubleshoot and optimize your FIFO queue throughput by either increasing FIFO message groups, or scaling your consumers.

Reporting criteria: A non-negative value is reported if the queue is active.

Units: Count

Valid statistics: Average, Minimum, Maximum, Sum, Data Samples (displays as Sample Count in the Amazon SQS console)

For current FIFO throughput and in flight limits, see Amazon SQS message quotas.
ApproximateNumberOfMessagesDelayed The number of messages in the queue that are delayed and not available for reading immediately. This can happen when the queue is configured as a delay queue or when a message has been sent with a delay parameter.

Reporting criteria: A non-negative value is reported if the queue is active.

Units: Count

Valid statistics: Average, Minimum, Maximum, Sum, Data Samples (displays as Sample Count in the Amazon SQS console)

ApproximateNumberOfMessagesNotVisible The number of messages that are in flight. Messages are considered to be in flight if they have been sent to a client but have not yet been deleted or have not yet reached the end of their visibility window.

Reporting criteria: A non-negative value is reported if the queue is active.

Units: Count

Valid statistics: Average, Minimum, Maximum, Sum, Data Samples (displays as Sample Count in the Amazon SQS console)

ApproximateNumberOfMessagesVisible The number of messages to be processed.

Reporting criteria: A non-negative value is reported if the queue is active.

Units: Count

Valid statistics: Average, Minimum, Maximum, Sum, Data Samples (displays as Sample Count in the Amazon SQS console)

There is no limit on the number of messages to processes, however you can subject this backlog to a retention period.
NumberOfEmptyReceives¹ The number of ReceiveMessage API calls that did not return a message.

Reporting criteria: A non-negative value is reported if the queue is active.

Units: Count

Valid statistics: Average, Minimum, Maximum, Sum, Data Samples (displays as Sample Count in the Amazon SQS console)

NumberOfDeduplicatedSentMessages The number of messages sent to a queue that were deduplicated. This metric can help determine if a producer is sending duplicate messages to an Amazon SQS FIFO queue.

Reporting criteria: A non-negative value is reported if the queue is active.

Units: Count

Valid statistics: Average, Minimum, Maximum, Sum, Data Samples (displays as Sample Count in the Amazon SQS console)

NumberOfMessagesDeleted¹ The number of messages deleted from the queue.

Reporting criteria: A non-negative value is reported if the queue is active.

Units: Count

Valid statistics: Average, Minimum, Maximum, Sum, Data Samples (displays as Sample Count in the Amazon SQS console)

Amazon SQS emits the NumberOfMessagesDeleted metric for every successful deletion operation that uses a valid receipt handle, including duplicate deletions. The following scenarios might cause the value of the NumberOfMessagesDeleted metric to be higher than expected:
  • Calling the DeleteMessage action on different receipt handles that belong to the same message: If the message is not processed before the visibility timeout expires, the message becomes available to other consumers that can process it and delete it again, increasing the value of the NumberOfMessagesDeleted metric.

  • Calling the DeleteMessage action on the same receipt handle: If the message is processed and deleted but you call the DeleteMessage action again using the same receipt handle, a success status is returned, increasing the value of the NumberOfMessagesDeleted metric.

NumberOfMessagesReceived¹ The number of messages returned by calls to the ReceiveMessage action.

Reporting criteria: A non-negative value is reported if the queue is active.

Units: Count

Valid statistics: Average, Minimum, Maximum, Sum, Data Samples (displays as Sample Count in the Amazon SQS console)

NumberOfMessagesSent¹ The number of messages added to a queue.

If you send a message to a DLQ manually, it is captured by the NumberOfMessagesSent metric. However, if a message is sent to a DLQ as a result of a failed processing attempt (for example, automatically moved due to exceeding the maxReceiveCount), it is not captured by this metric. Therefore, it is possible for the values of NumberOfMessagesSent and NumberOfMessagesReceived to differ.

Reporting criteria: A non-negative value is reported if the queue is active.

Units: Count

Valid statistics: Average, Minimum, Maximum, Sum, Data Samples (displays as Sample Count in the Amazon SQS console)

SentMessageSize¹ The size of messages added to a queue.

Reporting criteria: A non-negative value is reported if the queue is active.

Units: Bytes

Valid statistics: Average, Minimum, Maximum, Sum, Data Samples (displays as Sample Count in the Amazon SQS console)

Note

SentMessageSize does not display as an available metric in the CloudWatch console until at least one message is sent to the corresponding queue.

¹ These metrics are calculated from a service perspective, and can include retries. Don't rely on the absolute values of these metrics, or use them to estimate current queue status.

Dead-letter queues (DLQs) and CloudWatch metrics

When working with DLQs, it's important to understand how Amazon SQS metrics behave:

  • NumberOfMessagesSent – This metric behaves differently for DLQs:

    • Manual Sending – Messages manually sent to a DLQ are captured by this metric.

    • Automatic Redrive – Messages automatically moved to a DLQ due to processing failures are not captured by this metric. As a result, the NumberOfMessagesSent and NumberOfMessagesReceived metrics may show discrepancies for DLQs.

  • Recommended Metric for DLQs – To monitor the state of a DLQ, use the ApproximateNumberOfMessagesVisible metric. This metric indicates the number of messages currently available for processing in the DLQ.

Dimensions for Amazon SQS metrics

The only dimension that Amazon SQS sends to CloudWatch is QueueName. This means that all available statistics are filtered by QueueName.

PrivacySite termsCookie preferences
© 2025, Amazon Web Services, Inc. or its affiliates. All rights reserved.