我们在包含 SQS 队列的数据管道中的交付时间很慢。所以我想知道消息在 SQS 位上花费了多少时间。
CloudWatch 只提供了不太有用的仪表:
ApproximateNumberOfMessagesNotVisible
ApproximateNumberOfMessagesVisible
NumberOfEmptyReceives
NumberOfMessagesDeleted
NumberOfMessagesReceived
NumberOfMessagesSent
SentMessageSize
目前没有拥塞,队列99.99%的时间都是空的,但并不能保证每条消息在队列中花费的时间很短。
是否有任何高级指标选项或任何外部工具或 Scala/Java 库来测量每个消息 ID 的 Tconsume-T Produce
?
最佳答案
没有任何高级指标可以为您提供此信息。
在处理消息时,您必须添加逻辑来记录这些指标。 sqs 消息上还有其他属性,可以帮助您计算消息在删除之前在队列上花费的时间。
消息上的 CreatedTimestamp、LastModifiedTimestamp 属性将允许您记录指标,然后您必须聚合这些指标。
关于java - 有没有办法获得SQS队列的平均服务时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38616556/