Available CloudWatch metrics for Amazon SQS - Amazon Simple Queue Service

Available CloudWatch metrics for Amazon SQS

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 at 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 a poison-pill message isn't included in the metric until the poison-pill message is consumed successfully.

  • When the queue has a redrive policy, the message is moved to a dead-letter queue after the configured maximum number of receives. When the message is moved to the dead-letter queue, the ApproximateAgeOfOldestMessage metric of the dead-letter queue represents the time when the message was moved to the dead-letter queue (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. The message will instead go to the DLQ if there is one 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 dead-letter queue manually, it is captured by the NumberOfMessagesSent metric. However, if a message is sent to a dead-letter queue as a result of a failed processing attempt, it is not captured by this metric. Thus, it is possible for the values of NumberOfMessagesSent and NumberOfMessagesReceived to be different.

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.

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.