Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

メトリクスと分析

最終更新 Markdown で表示Agent セットアップ

KV は、アカウント内のすべての名前空間について、リクエストとストレージを確認できる分析を公開しています。

Cloudflare ダッシュボード のチャートに表示されるメトリクスは、Cloudflare の GraphQL Analytics API から照会されます。GraphQL または HTTP クライアントで、メトリクスに プログラムから アクセスできます。

メトリクス

KV が現在公開しているメトリクスは次のとおりです。

データセット GraphQL データセット名 説明
操作 kvOperationsAdaptiveGroups KV 名前空間に対して実行された操作のデータセットです。
ストレージ kvStorageAdaptiveGroups KV 名前空間のストレージ詳細のデータセットです。

メトリクスは過去 31 日間を照会でき、同期間保持されます。

ダッシュボードでメトリクスを表示する

KV の名前空間ごとの分析は、Cloudflare ダッシュボードで利用できます。データベースの現在および過去のメトリクスを表示する手順は次のとおりです。

  1. Cloudflare ダッシュボードで、Workers KV ページを開きます。

    Workers KV を開く ↗
  2. 既存の名前空間を選択します。

  3. Metrics タブを選択します。

必要に応じて、照会する時間範囲を選択できます。デフォルトは直近 24 時間です。

GraphQL API で照会する

GraphQL Analytics API を使って、KV 名前空間の分析をプログラムから照会できます。この API は Cloudflare ダッシュボードと同じデータセットを照会し、GraphQL の イントロスペクション にも対応しています。

GraphQL Analytics API の利用を始めるには、ドキュメントに従って GraphQL Analytics API の認証 を設定してください。

GraphQL API で KV のデータセットを取得するには、accountTag フィルターに Cloudflare の Account ID を指定する必要があります。KV の GraphQL データセットは次のとおりです。

  • kvOperationsAdaptiveGroups
  • kvStorageAdaptiveGroups

次は、KV 分析の情報を取得するために使える一般的な GraphQL クエリです。これらのクエリは変数 $accountTag$date_geq$date_leq$namespaceId を使います。GraphQL 変数として設定するか、インラインで置き換えてください。変数は次のような形になります。

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

操作

指定した namespaceId と日付範囲(startend)について、read、write、delete、list 操作の合計を、dateactionType でグループ化して照会します。

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

指定した namespaceId と日付範囲(startend)について、read 操作のレイテンシ分布を照会します。

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

すべての KV 名前空間を対象に、アカウント全体の read、write、delete、list 操作を照会します。

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

ストレージ

指定した日付範囲の毎日について、KV 名前空間のストレージ詳細(keyCountbyteCount)を照会します。

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

役に立ちましたか?