跳转到内容
搜索文档

指标和分析

最后更新 查看 MarkdownAgent 设置

KV 公开分析数据,允许你检查账户中所有命名空间的请求和存储情况。

Cloudflare 仪表板图表中显示的指标从 Cloudflare 的 GraphQL Analytics API 查询。你可以以编程方式通过 GraphQL 或 HTTP 客户端访问这些指标。

指标

KV 目前公开以下指标:

数据集 GraphQL 数据集名称 描述
操作 kvOperationsAdaptiveGroups 此数据集包含对 KV 命名空间执行的操作。
存储 kvStorageAdaptiveGroups 此数据集包含 KV 命名空间的存储详情。

指标可查询(并保留)过去 31 天的数据。

在仪表板中查看指标

KV 的每个命名空间分析可在 Cloudflare 仪表板中查看。要查看数据库的当前和历史指标:

  1. 在 Cloudflare 仪表板中,前往 Workers KV 页面。

    Go to Workers KV ↗
  2. 选择现有命名空间。

  3. 选择 Metrics(指标) 选项卡。

你可以选择查询的时间窗口。默认为过去 24 小时。

通过 GraphQL API 查询

你可以通过 GraphQL Analytics API 以编程方式查询 KV 命名空间的分析数据。此 API 查询与 Cloudflare 仪表板相同的数据集,并支持 GraphQL 内省

要开始使用 GraphQL Analytics API,请按照文档设置 GraphQL Analytics API 的身份验证

要使用 GraphQL API 检索 KV 的数据集,必须提供带有 Cloudflare 账户 ID 的 accountTag 过滤器。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)的读取、写入、删除和列出操作总和,按 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)内读取操作的延迟分布:

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 命名空间的账户级读取、写入、删除和列出操作:

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

这篇文档对您有帮助吗?