跳转到内容
搜索文档

指标

最后更新 查看 MarkdownAgent 设置

Artifacts 公开了分析数据,使您能够检查账户中的仓库活动、错误和操作持续时间。

Artifacts 指标可通过 Cloudflare 的 GraphQL 分析 API 获取。您可以使用它们来回答类似哪些仓库最繁忙、错误聚集在哪里以及操作耗时多久等问题。

指标

Artifacts 目前导出 artifactsEventsAdaptiveGroups GraphQL 数据集。

指标 GraphQL 字段 描述
Operations count 匹配查询筛选器的 Artifacts 事件总数。这包括成功操作和错误。
总持续时间 sum.durationMs 处理匹配的 Artifacts 操作所花费的总时间,以毫秒为单位。
平均持续时间 avg.durationMs 每次匹配操作的平均时间,以毫秒为单位。
持续时间 p25 quantiles.durationMsP25 第 25 百分位操作持续时间,以毫秒为单位。
持续时间 p50 quantiles.durationMsP50 中位数操作持续时间,以毫秒为单位。
持续时间 p75 quantiles.durationMsP75 第 75 百分位操作持续时间,以毫秒为单位。
持续时间 p90 quantiles.durationMsP90 第 90 百分位操作持续时间,以毫秒为单位。
持续时间 p95 quantiles.durationMsP95 第 95 百分位操作持续时间,以毫秒为单位。
持续时间 p99 quantiles.durationMsP99 第 99 百分位操作持续时间,以毫秒为单位。
持续时间 p999 quantiles.durationMsP999 第 99.9 百分位操作持续时间,以毫秒为单位。

可以查询过去 31 天的指标。查询需要使用包含您 Cloudflare 账户 ID 的 accountTag 筛选器。

维度

使用这些维度来过滤或分组结果:

维度 描述
repository 格式为 namespace/name 的完全限定仓库路径。
repositoryNamespace 包含该仓库的命名空间。
repositoryName 命名空间内的仓库名称。
eventKind 顶级事件类别。对于成功的操作使用 action,对于失败使用 error
eventType 特定操作或错误类型。
errorMessage 失败操作的错误消息。
date 事件的日历日期。
datetime 精确的事件时间戳。
datetimeMinute 截断到分钟的事件时间。
datetimeFiveMinutes 截断到 5 分钟窗口的事件时间。
datetimeFifteenMinutes 截断到 15 分钟窗口的事件时间。
datetimeHour 截断到小时的事件时间。
datetimeSixHours 截断到 6 小时窗口的事件时间。

事件类型

Artifacts 目前在 eventType 中发出以下值:

事件类型 类别 描述
create action 仓库已被创建。
fork action 仓库已被派生(fork)。
push action 客户端向仓库推送了数据。
pull action 客户端从仓库拉取(fetch)或克隆了数据。
delete action 仓库已被删除。
storageLimitReached error 操作达到了存储限制条件。
serverError error 服务在处理请求时失败。
clientError error 客户端发送了无效或不受支持的请求。
rateLimited error 请求被限速器拒绝。

GraphQL 查询示例

您可以使用 GraphQL 分析 API 查询 Artifacts 分析数据。本页上的所有示例均使用 artifactsEventsAdaptiveGroups 数据集。

命名空间内按仓库细分的操作

使用此查询可查找在一定时间范围内一个命名空间中最繁忙的仓库。它还会返回平均操作持续时间,以便您可以将活动与延迟组合进行比较。

query ArtifactsOperationsByRepo(
	$accountTag: String!
	$datetimeStart: Time
	$datetimeEnd: Time
	$repositoryNamespace: String!
) {
	viewer {
		accounts(filter: { accountTag: $accountTag }) {
			artifactsEventsAdaptiveGroups(
				limit: 100
				filter: {
					datetime_geq: $datetimeStart
					datetime_leq: $datetimeEnd
					repositoryNamespace: $repositoryNamespace
					eventKind: "action"
				}
				orderBy: [count_DESC]
			) {
				count
				avg {
					durationMs
				}
				dimensions {
					repositoryName
				}
			}
		}
	}
}

按仓库排序的错误,降序

使用此查询可按错误量对仓库进行排名。这有助于您发现哪些仓库最常失败,以及哪些错误类型导致了这些失败。

query ArtifactsErrorsByRepo(
	$accountTag: String!
	$datetimeStart: Time
	$datetimeEnd: Time
) {
	viewer {
		accounts(filter: { accountTag: $accountTag }) {
			artifactsEventsAdaptiveGroups(
				limit: 100
				filter: {
					datetime_geq: $datetimeStart
					datetime_leq: $datetimeEnd
					eventKind: "error"
				}
				orderBy: [count_DESC]
			) {
				count
				dimensions {
					repository
					eventType
				}
			}
		}
	}
}

按推送次数排序的仓库,降序

使用此查询可查看在特定时间窗口内接收推送次数最多的仓库。这对于识别整个账户中处于活动状态的写密集型仓库非常有用。

query ArtifactsPushesByRepo(
	$accountTag: String!
	$datetimeStart: Time
	$datetimeEnd: Time
) {
	viewer {
		accounts(filter: { accountTag: $accountTag }) {
			artifactsEventsAdaptiveGroups(
				limit: 100
				filter: {
					datetime_geq: $datetimeStart
					datetime_leq: $datetimeEnd
					eventKind: "action"
					eventType: "push"
				}
				orderBy: [count_DESC]
			) {
				count
				dimensions {
					repository
				}
			}
		}
	}
}

这篇文档对您有帮助吗?