- Queue の処理遅延を監視/アラートするために欲しい情報だけれど、今のところデフォルトでは取れない
ApproximateMessageCount
のようにデフォルトで取れて欲しい
- 要望としては出した
自分で取るときの例
- Dequeue したときに
InsertionTime
と現在時刻との差分から Cloud Queue のおおまかな滞在時間を出す
- そのままモニタリング環境に送るか、
histogram
をとって Max の値を一定間隔で送る
var histogram = Metric.Histogram("myqueue.AgeOfMessage", Unit.Custom("sec"));
var queue = queueClient.GetQueueReference("myqueue");
var message = queue.GetMessage();
if (message.InsertionTime.HasValue)
{
var messageAge= (int)(DateTime.UtcNow - message.InsertionTime.Value).TotalSeconds;
histogram.Update(messageAge);
}