Queues は、キューのバックログ、コンシューマーの同時実行数、メッセージ操作を計測できるメトリクスを公開します。
Cloudflare ダッシュボード ↗ に表示されるメトリクスは、Cloudflare の GraphQL Analytics API から照会されます。GraphQL または HTTP クライアントから プログラムで メトリクスにアクセスできます。
Queues は、次のメトリクスを queuesBacklogAdaptiveGroups データセットで公開します。
| メトリクス | GraphQL フィールド名 | 説明 |
|---|---|---|
| バックログバイト数 | bytes |
バックログの平均サイズ(バイト) |
| バックログメッセージ数 | messages |
バックログの平均サイズ(メッセージ数) |
queuesBacklogAdaptiveGroups データセットは、照会のフィルタとグループ化に次のディメンションを提供します。
queueID- Queue の IDdatetime- メッセージが送られた時刻date- メッセージが送られた時刻(日の始まりに切り捨て)datetimeHour- メッセージが送られた時刻(時の始まりに切り捨て)datetimeMinute- メッセージが送られた時刻(分の始まりに切り捨て)
Queues は、次のメトリクスを queueConsumerMetricsAdaptiveGroups データセットで公開します。
| メトリクス | GraphQL フィールド名 | 説明 |
|---|---|---|
| 平均コンシューマー同時実行数 | concurrency |
期間中の同時コンシューマー数の平均 |
queueConsumerMetricsAdaptiveGroups データセットは、照会のフィルタとグループ化に次のディメンションを提供します。
queueID- Queue の IDdatetime- コンシューマーメトリクスの時刻date- コンシューマーメトリクスの時刻(日の始まりに切り捨て)datetimeHour- コンシューマーメトリクスの時刻(時の始まりに切り捨て)datetimeMinute- コンシューマーメトリクスの時刻(分の始まりに切り捨て)
Queues は、次のメトリクスを queueMessageOperationsAdaptiveGroups データセットで公開します。
| メトリクス | GraphQL フィールド名 | 説明 |
|---|---|---|
| 課金対象操作の合計 | billableOperations |
期間中の課金対象操作(書き込み、読み取り、削除)の合計 |
| 合計バイト数 | bytes |
Queue から読み取り、書き込み、削除したバイト数の合計 |
| 遅延 | lagTime |
メッセージの書き込みから消費操作までの平均遅延時間(ミリ秒) |
| 再試行 | retryCount |
メッセージあたりの平均再試行回数 |
| メッセージサイズ | messageSize |
指定期間中の最大メッセージサイズ |
queueMessageOperationsAdaptiveGroups データセットは、照会のフィルタとグループ化に次のディメンションを提供します。
queueID- Queue の IDactionType- メッセージ操作の種類。WriteMessage、ReadMessage、DeleteMessageのいずれかconsumerType- Queue コンシューマーの種類。workerまたはhttp。ReadMessageとDeleteMessageの操作種別でのみ適用outcome- メッセージ操作の結果。DeleteMessageの操作種別でのみ適用。success、dlq、failのいずれかdatetime- メッセージ操作の時刻date- メッセージ操作の時刻(日の始まりに切り捨て)datetimeHour- メッセージ操作の時刻(時の始まりに切り捨て)datetimeMinute- メッセージ操作の時刻(分の始まりに切り捨て)
リアルタイムのバックログメトリクスは、Queues REST API と JavaScript API から取得できます。これらのメトリクスは集計値ではなく、その時点の値です。
| メトリクス | フィールド名 | 説明 |
|---|---|---|
| バックログ件数 | backlog_count |
現在 Queue にあるメッセージ数 |
| バックログバイト数 | backlog_bytes |
Queue 内メッセージの合計サイズ(バイト) |
| 最古メッセージのタイムスタンプ | oldest_message_timestamp_ms |
Queue 内で最も古いメッセージのタイムスタンプ(ミリ秒) |
REST API でこれらのメトリクスを取得するには、metrics エンドポイント(/accounts/{account_id}/queues/{queue_id}/metrics)を使います。
これらのフィールドは、JavaScript API の send()、sendBatch()、metrics() を呼び出したときの metadata.metrics にも含まれます。
query QueueBacklog(
$accountTag: string!
$queueId: string!
$datetimeStart: Time!
$datetimeEnd: Time!
) {
viewer {
accounts(filter: { accountTag: $accountTag }) {
queueBacklogAdaptiveGroups(
limit: 10000
filter: {
queueId: $queueId
datetime_geq: $datetimeStart
datetime_leq: $datetimeEnd
}
) {
avg {
messages
bytes
}
}
}
}
}query QueueConcurrencyByHour(
$accountTag: string!
$queueId: string!
$datetimeStart: Time!
$datetimeEnd: Time!
) {
viewer {
accounts(filter: { accountTag: $accountTag }) {
queueConsumerMetricsAdaptiveGroups(
limit: 10000
filter: {
queueId: $queueId
datetime_geq: $datetimeStart
datetime_leq: $datetimeEnd
}
orderBy: [datetimeHour_DESC]
) {
avg {
concurrency
}
dimensions {
datetimeHour
}
}
}
}
}query QueueMessageOperationsByMinute(
$accountTag: string!
$queueId: string!
$datetimeStart: Date!
$datetimeEnd: Date!
) {
viewer {
accounts(filter: { accountTag: $accountTag }) {
queueMessageOperationsAdaptiveGroups(
limit: 10000
filter: {
queueId: $queueId
datetime_geq: $datetimeStart
datetime_leq: $datetimeEnd
}
orderBy: [datetimeMinute_DESC]
) {
count
sum {
bytes
}
dimensions {
datetimeMinute
}
}
}
}
}