INTEGRITY Dokumentace

Metriky

Artifacts poskytuje analytické přehledy, díky nimž můžete sledovat aktivitu repozitářů, chyby a dobu trvání operací v celém účtu.

Metriky Artifacts jsou dostupné prostřednictvím GraphQL Analytics API. Můžete je použít k zodpovězení otázek, například které repozitáře jsou nejvytíženější, kde se soustředí chyby a jak dlouho operace trvají.

Metriky

Artifacts aktuálně exportuje artifactsEventsAdaptiveGroups datová sada GraphQL.

Metrika GraphQL pole Popis
Operace count Celkový počet událostí Artifacts odpovídajících filtru dotazu. Zahrnuje úspěšné akce i chyby.
Celková doba trvání sum.durationMs Celkový čas strávený zpracováním odpovídajících operací Artifacts, v milisekundách.
Průměrná doba trvání avg.durationMs Průměrná doba na odpovídající operaci v milisekundách.
Doba trvání p25 quantiles.durationMsP25 Doba trvání operace na 25. percentilu, v milisekundách.
Doba trvání p50 quantiles.durationMsP50 Medián doby trvání operace v milisekundách.
Doba trvání p75 quantiles.durationMsP75 Doba trvání operace na 75. percentilu, v milisekundách.
Doba trvání p90 quantiles.durationMsP90 Doba trvání operace na 90. percentilu, v milisekundách.
Doba trvání p95 quantiles.durationMsP95 Doba trvání operace na 95. percentilu, v milisekundách.
Doba trvání p99 quantiles.durationMsP99 Doba trvání operace na 99. percentilu, v milisekundách.
Doba trvání p999 quantiles.durationMsP999 Doba trvání operace na 99.9. percentilu, v milisekundách.

Metriky lze dotazovat za posledních 31 dní. Dotazy vyžadují accountTag filtr s ID vašeho účtu Cloudflare.

Dimenze

Pomocí těchto dimenzí můžete výsledky filtrovat nebo seskupovat:

Dimenze Popis
repository Plně kvalifikovaná cesta k repozitáři ve tvaru namespace/name.
repositoryNamespace Jmenný prostor, který obsahuje repozitář.
repositoryName Název repozitáře uvnitř jmenného prostoru.
eventKind Kategorie události nejvyšší úrovně. Použijte action pro úspěšné operace a error pro selhání.
eventType Konkrétní operace nebo typ chyby.
errorMessage Chybová zpráva pro neúspěšné operace.
date Kalendářní datum události.
datetime Přesné časové razítko události.
datetimeMinute Čas události zaokrouhlený na celou minutu.
datetimeFiveMinutes Čas události zaokrouhlený na pětiminutová okna.
datetimeFifteenMinutes Čas události zaokrouhlený na patnáctiminutová okna.
datetimeHour Čas události zaokrouhlený na celou hodinu.
datetimeSixHours Čas události zaokrouhlený na šestihodinová okna.

Typy událostí

Artifacts aktuálně vysílá tyto hodnoty v eventType:

Typ události Typ Popis
create action Repozitář byl vytvořen.
fork action Repozitář byl forknut.
push action Klient odeslal data do repozitáře.
pull action Klient z repozitáře stáhl nebo naklonoval data.
delete action Repozitář byl odstraněn.
storageLimitReached error Operace narazila na limit úložiště.
serverError error Služba selhala při zpracování požadavku.
clientError error Klient odeslal neplatný nebo nepodporovaný požadavek.
rateLimited error Požadavek byl zamítnut kvůli omezení četnosti požadavků.

Příklady dotazů GraphQL

Analytiku Artifacts můžete dotazovat pomocí GraphQL Analytics API. Všechny příklady na této stránce používají artifactsEventsAdaptiveGroups datová sada.

Operace podle repozitáře v rámci jmenného prostoru

Pomocí tohoto dotazu zjistíte nejvytíženější repozitáře v jednom jmenném prostoru za zvolené časové období. Dotaz zároveň vrací průměrnou dobu trvání operace, takže můžete porovnat aktivitu i latenci najednou.

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

Chyby podle repozitáře, sestupně

Pomocí tohoto dotazu seřadíte repozitáře podle počtu chyb. Pomůže vám zjistit, které repozitáře selhávají nejčastěji a jaké typy chyb za tím stojí.

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

Repozitáře podle odeslání (push), sestupně

Pomocí tohoto dotazu zjistíte, které repozitáře přijímají nejvíce pushů ve zvoleném časovém okně. Hodí se k identifikaci aktivních repozitářů s vysokým podílem zápisů v rámci účtu.

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