← Cloudflare Queues / queues / pozorovatelnost
Metriky
Queues poskytují metriky, pomocí kterých můžete měřit počet nevyřízených zpráv ve frontě, souběžnost konzumentů a operace se zprávami.
Metriky zobrazené v Cloudflare dashboard ↗ se získávají dotazem na Cloudflare GraphQL Analytics API. K metrikám máte přístup přes programově přes GraphQL nebo HTTP klienta.
Metriky
Fronta nevyřízených zpráv
Queues exportují níže uvedené metriky v rámci queuesBacklogAdaptiveGroups datová sada.
| Metrika | Název pole GraphQL | Popis |
|---|---|---|
| Objem nevyřízených zpráv (bajty) | bytes |
Průměrná velikost nevyřízených zpráv v bajtech |
| Nevyřízené zprávy | messages |
Průměrná velikost nevyřízených zpráv v počtu zpráv |
queuesBacklogAdaptiveGroups poskytuje tyto dimenze pro filtrování a seskupování dotazů:
queueID- ID frontydatetime- časové razítko odeslání zprávydate- časové razítko odeslání zprávy, zaokrouhlené na začátek dnedatetimeHour- časové razítko odeslání zprávy, zaokrouhlené na začátek hodinydatetimeMinute- časové razítko odeslání zprávy, zaokrouhlené na začátek minuty
Souběžnost konzumentů
Queues exportují níže uvedené metriky v rámci queueConsumerMetricsAdaptiveGroups datová sada.
| Metrika | Název pole GraphQL | Popis |
|---|---|---|
| Prům. souběžnost konzumentů | concurrency |
Průměrný počet souběžných konzumentů za dané období |
queueConsumerMetricsAdaptiveGroups poskytuje tyto dimenze pro filtrování a seskupování dotazů:
queueID- ID frontydatetime- časové razítko metrik konzumentadate- časové razítko metrik konzumenta, zaokrouhlené na začátek dnedatetimeHour- časové razítko metrik konzumenta, zaokrouhlené na začátek hodinydatetimeMinute- časové razítko metrik konzumenta, zaokrouhlené na začátek minuty
Operace se zprávami
Queues exportují níže uvedené metriky v rámci queueMessageOperationsAdaptiveGroups datová sada.
| Metrika | Název pole GraphQL | Popis |
|---|---|---|
| Celkový počet zpoplatněných operací | billableOperations |
Součet zpoplatněných operací (zápisy, čtení a mazání) za dané časové období |
| Celkový počet bajtů | bytes |
Součet bajtů přečtených, zapsaných a odstraněných z fronty |
| Prodleva | lagTime |
Průměrná prodleva v milisekundách mezi zápisem zprávy a operací jejího zpracování konzumentem. |
| Opakování | retryCount |
Průměrný počet opakování na jednu zprávu |
| Velikost zprávy | messageSize |
Maximální velikost zprávy za dané období |
queueMessageOperationsAdaptiveGroups poskytuje tyto dimenze pro filtrování a seskupování dotazů:
queueID- ID frontyactionType- typ operace se zprávou. Může býtWriteMessage,ReadMessageneboDeleteMessageconsumerType- typ konzumenta fronty. Může býtworkernebohttp. Platí pouze proReadMessageaDeleteMessagetypy akcíoutcome- výsledek operace se zprávou. Platí pouze proDeleteMessagetypy akcí. Může býtsuccess,dlqnebofail.datetime- časové razítko operace se zprávoudate- časové razítko operace se zprávou, zaokrouhlené na začátek dnedatetimeHour- časové razítko operace se zprávou, zaokrouhlené na začátek hodinydatetimeMinute- časové razítko operace se zprávou, zaokrouhlené na začátek minuty
Nevyřízené zprávy v reálném čase
K metrikám backlogu v reálném čase máte přístup přes REST API pro Queues a JavaScript API. Tyto metriky poskytují hodnoty k danému okamžiku, nikoli agregovaná data.
| Metrika | Název pole | Popis |
|---|---|---|
| Počet nevyřízených zpráv | backlog_count |
Počet zpráv aktuálně ve frontě |
| Objem nevyřízených zpráv (bajty) | backlog_bytes |
Celková velikost zpráv ve frontě v bajtech |
| Časové razítko nejstarší zprávy | oldest_message_timestamp_ms |
Časové razítko (v milisekundách) nejstarší zprávy ve frontě |
Chcete-li tyto metriky získat přes REST API, použijte endpoint metrik (/accounts/{account_id}/queues/{queue_id}/metrics).
Tato pole jsou rovněž součástí metadata.metrics při volání send(), sendBatch(), nebo metrics() prostřednictvím JavaScript API.
Příklady GraphQL dotazů
Získat průměrný backlog fronty za časové období
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
}
}
}
}
}Získat průměrnou souběžnost konzumentů podle hodiny
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
}
}
}
}
}Získat operace se zprávami podle minuty
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
}
}
}
}
}