INTEGRITY Dokumentace

Metriky a analytika

KV poskytuje analytická data, díky kterým můžete sledovat požadavky a úložiště ve všech jmenných prostorech vašeho účtu.

Metriky zobrazené v Cloudflare dashboard ↗ grafy se získávají prostřednictvím Cloudflare GraphQL Analytics API. K metrikám máte přístup přes programově přes GraphQL nebo HTTP klienta.

Metriky

KV v současné době poskytuje tyto metriky:

Dataset GraphQL Dataset Name Popis
Operace kvOperationsAdaptiveGroups Tato datová sada obsahuje operace provedené ve vašich jmenných prostorech KV.
Úložiště kvStorageAdaptiveGroups Tato datová sada obsahuje podrobnosti o úložišti vašich jmenných prostorů KV.

Metriky lze dotazovat (a jsou uchovávány) po dobu posledních 31 dnů.

Zobrazit metriky v dashboardu

Analýzy pro jednotlivé namespace KV jsou dostupné v Cloudflare dashboardu. Aktuální a historické metriky databáze zobrazíte takto:

  1. V dashboardu Cloudflare přejděte na Workers KV stránce.

    Přejděte na Workers KV ↗
  2. Vyberte existující namespace.

  3. Vyberte Metriky kartě.

Volitelně můžete vybrat časové okno pro dotaz. Výchozí hodnota je posledních 24 hodin.

Dotazování přes GraphQL API

Analytiku svých oborů názvů KV můžete programově dotazovat prostřednictvím GraphQL Analytics API. Toto API dotazuje stejné datové sady jako dashboard Cloudflare a podporuje GraphQL introspekce.

Chcete-li začít používat GraphQL Analytics API, postupujte podle dokumentace a nastavte Autentizace pro GraphQL Analytics API.

Chcete-li pomocí GraphQL API načíst datové sady KV, musíte zadat accountTag filtr s vaším Cloudflare Account ID. Datové sady GraphQL pro KV zahrnují:

Příklady

Následují běžné dotazy GraphQL, které můžete použít k získání informací o analytice KV. Tyto dotazy využívají proměnné $accountTag, $date_geq, $date_leq, a $namespaceId, které by měly být nastaveny jako proměnné GraphQL nebo nahrazeny přímo v textu. Tyto proměnné by měly vypadat podobně jako tyto:

{
	"accountTag": "<YOUR_ACCOUNT_ID>",
	"namespaceId": "<YOUR_KV_NAMESPACE_ID>",
	"date_geq": "2024-07-15",
	"date_leq": "2024-07-30"
}

Operace

Chcete-li zjistit součet operací čtení, zápisu, mazání a výpisu pro daný namespaceId a pro dané časové rozmezí (start a end), seskupené podle date a actionType:

query KvOperationsSample(
	$accountTag: string!
	$namespaceId: string
	$start: Date
	$end: Date
) {
	viewer {
		accounts(filter: { accountTag: $accountTag }) {
			kvOperationsAdaptiveGroups(
				filter: { namespaceId: $namespaceId, date_geq: $start, date_leq: $end }
				limit: 10000
				orderBy: [date_DESC]
			) {
				sum {
					requests
				}
				dimensions {
					date
					actionType
				}
			}
		}
	}
}

Chcete-li zjistit rozložení latence operací čtení pro daný namespaceId v rámci daného časového rozsahu (start, end):

query KvOperationsSample2(
	$accountTag: string!
	$namespaceId: string
	$start: Date
	$end: Date
) {
	viewer {
		accounts(filter: { accountTag: $accountTag }) {
			kvOperationsAdaptiveGroups(
				filter: {
					namespaceId: $namespaceId
					date_geq: $start
					date_leq: $end
					actionType: "read"
				}
				limit: 10000
			) {
				sum {
					requests
				}
				dimensions {
					actionType
				}
				quantiles {
					latencyMsP25
					latencyMsP50
					latencyMsP75
					latencyMsP90
					latencyMsP99
					latencyMsP999
				}
			}
		}
	}
}

Dotaz na operace čtení, zápisu, mazání a výpisu v rámci celého účtu napříč všemi jmennými prostory KV:

query KvOperationsAllSample($accountTag: string!, $start: Date, $end: Date) {
	viewer {
		accounts(filter: { accountTag: $accountTag }) {
			kvOperationsAdaptiveGroups(
				filter: { date_geq: $start, date_leq: $end }
				limit: 10000
			) {
				sum {
					requests
				}
				dimensions {
					actionType
				}
			}
		}
	}
}

Úložiště

Chcete-li zjistit podrobnosti o úložišti (keyCount a byteCount) KV namespace za každý den daného časového rozsahu:

query Viewer(
	$accountTag: string!
	$namespaceId: string
	$start: Date
	$end: Date
) {
	viewer {
		accounts(filter: { accountTag: $accountTag }) {
			kvStorageAdaptiveGroups(
				filter: { date_geq: $start, date_leq: $end, namespaceId: $namespaceId }
				limit: 10000
				orderBy: [date_DESC]
			) {
				max {
					keyCount
					byteCount
				}
				dimensions {
					date
				}
			}
		}
	}
}