2016-07-27 39 views
1

我们在包含SQS队列的数据管道中的交货时间不稳定。所以我想知道消息在SQS位花了多少时间。有没有办法获得SQS队列的平均服务时间?

的CloudWatch只给了我不那么有用规:

ApproximateNumberOfMessagesNotVisible 
ApproximateNumberOfMessagesVisible 
NumberOfEmptyReceives 
NumberOfMessagesDeleted 
NumberOfMessagesReceived 
NumberOfMessagesSent 
SentMessageSize 

目前没有拥堵,队列为99.99%的时间空的,但它不是每个消息花费一个小的时间在排队的保证。

有什么先进的指标选项或任何外部工具或斯卡拉/ Java库,用来测量每个消息ID的Tconsume-Tproduce

回答

1

有没有先进的指标,会给你这个信息。

你将不得不添加逻辑处理消息时,记录这些指标。 sqs消息上还有其他属性,可以帮助您计算消息在删除之前所花费的时间。

CreatedTimestamp,LastModifiedTimestamp属性上的消息将让您登录的指标,你便要聚合这些指标。

+0

我只找到引用队列的引用,而不引用每条消息。 http://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_GetQueueAttributes.html 我需要这些时间戳来计算每个消息的描述度量。 – sscarduzio

+0

等待,你是对的不知何故,我发现我的答案在这里:http://stackoverflow.com/questions/25107605/amazon-sqs-java-sdk-cannot-receive-message-attributes – sscarduzio

+0

的API列表中的Java文档的所有属性可以fetch.http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/sqs/model/ReceiveMessageRequest.html#withAttributeNames-com.amazonaws.services.sqs.model。 QueueAttributeName ...- – Shibashis

-1

如何定制一个SQS队列的时间通知在Ruby on Rails的。

相关问题