KV は、アカウント内のすべての名前空間について、リクエストとストレージを確認できる分析を公開しています。
Cloudflare ダッシュボード ↗ のチャートに表示されるメトリクスは、Cloudflare の GraphQL Analytics API から照会されます。GraphQL または HTTP クライアントで、メトリクスに プログラムから アクセスできます。
KV が現在公開しているメトリクスは次のとおりです。
| データセット | GraphQL データセット名 | 説明 |
|---|---|---|
| 操作 | kvOperationsAdaptiveGroups |
KV 名前空間に対して実行された操作のデータセットです。 |
| ストレージ | kvStorageAdaptiveGroups |
KV 名前空間のストレージ詳細のデータセットです。 |
メトリクスは過去 31 日間を照会でき、同期間保持されます。
KV の名前空間ごとの分析は、Cloudflare ダッシュボードで利用できます。データベースの現在および過去のメトリクスを表示する手順は次のとおりです。
-
Cloudflare ダッシュボードで、Workers KV ページを開きます。
Workers KV を開く ↗ -
既存の名前空間を選択します。
-
Metrics タブを選択します。
必要に応じて、照会する時間範囲を選択できます。デフォルトは直近 24 時間です。
GraphQL Analytics API を使って、KV 名前空間の分析をプログラムから照会できます。この API は Cloudflare ダッシュボードと同じデータセットを照会し、GraphQL の イントロスペクション にも対応しています。
GraphQL Analytics API の利用を始めるには、ドキュメントに従って GraphQL Analytics API の認証 を設定してください。
GraphQL API で KV のデータセットを取得するには、accountTag フィルターに Cloudflare の Account ID を指定する必要があります。KV の GraphQL データセットは次のとおりです。
kvOperationsAdaptiveGroupskvStorageAdaptiveGroups
次は、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 と日付範囲(start と end)について、read、write、delete、list 操作の合計を、date と 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
}
}
}
}
}指定した namespaceId と日付範囲(start、end)について、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 名前空間のストレージ詳細(keyCount と byteCount)を照会します。
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
}
}
}
}
}