AWS SQS - 我如何知道从 "a message sent to a queue" 到 "the message being received" 所需的时间间隔?
AWS SQS - How do I know time interval it takes from "a message sent to a queue" to "the message being received"?
例如,一条消息被发送到 2016-05-19 23:29:05
的队列。消费者在 2016-05-19 23:30:05
收到它。处理后,消息在 2016-05-19 23:30:08
处被删除。这意味着从消息发送到队列到消费者接收它需要 60 秒,从消息出生到死亡需要 63 秒。
此指标有助于监控消费者使用消息的速度。
要获得消息的生命周期,我必须在每条消息发送到队列时手动添加时间戳属性。消费者将检索时间戳并计算时间间隔。
SQS 是否提供类似的 API 来获取消息的生命周期(我检查了 SQS API 但没有运气),或者还有其他好主意吗?
SQS 消息上有一些属性,可让您测量消息在队列中花费的时间。
您可以使用的一些属性是
SentTimestamp、CreatedTimestamp、LastModifiedTimestamp 等
我正在查看 javascript SDK,似乎某些属性仅在明确请求时才返回
http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SQS.html#receiveMessage-property
有关 SQS 消息中所有可用属性的列表,请参阅 http://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html
例如,一条消息被发送到 2016-05-19 23:29:05
的队列。消费者在 2016-05-19 23:30:05
收到它。处理后,消息在 2016-05-19 23:30:08
处被删除。这意味着从消息发送到队列到消费者接收它需要 60 秒,从消息出生到死亡需要 63 秒。
此指标有助于监控消费者使用消息的速度。
要获得消息的生命周期,我必须在每条消息发送到队列时手动添加时间戳属性。消费者将检索时间戳并计算时间间隔。
SQS 是否提供类似的 API 来获取消息的生命周期(我检查了 SQS API 但没有运气),或者还有其他好主意吗?
SQS 消息上有一些属性,可让您测量消息在队列中花费的时间。
您可以使用的一些属性是 SentTimestamp、CreatedTimestamp、LastModifiedTimestamp 等
我正在查看 javascript SDK,似乎某些属性仅在明确请求时才返回 http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SQS.html#receiveMessage-property
有关 SQS 消息中所有可用属性的列表,请参阅 http://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html