2016-07-27 41 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的。

相關問題