← Artifacts / artifacts / observability
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
}
}
}
}
}