INTEGRITY Dokumentace

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ů:

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ů:

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ů:

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
				}
			}
		}
	}
}