← R2 Data Catalog / r2-data-catalog / observability
Metriky a analytika
R2 Data Catalog poskytuje metriky, díky nimž můžete sledovat požadavky Iceberg REST API a úlohy údržby tabulek, tedy kompaktaci a vypršení platnosti snímků, napříč vašimi datovými sklady.
Metriky zobrazené v dashboardu Cloudflare se načítají z Cloudflare GraphQL Analytics API. K metrikám máte přístup přes programově přes GraphQL nebo libovolného HTTP klienta.
Metriky dashboardu
Metriky karta na stránce podrobností každého katalogu zobrazuje pět grafů, které shrnují aktivitu katalogu za nastavitelné časové období:
| Graf | Popis |
|---|---|
| Zkomprimované bajty | Celkový počet bajtů zapsaných úlohami komprimace |
| Zkompaktované soubory | Počet vstupních souborů zpracovaných a výstupních souborů vytvořených kompaktací |
| Požadavky na katalog | Celkový počet požadavků na Iceberg REST API (například load-table, list-namespaces, commit-table) |
| Velikost úložiště | Aktuální velikost úložiště bucketu |
| Vypršelé snímky | Počet snapshotů odstraněných úlohami vypršení platnosti snapshotů |
Stránka přehledu také zobrazuje Požadavky na katalog a Velikost bucketu sloupce v tabulce katalogů, které poskytují rychlý přehled o všech vašich katalozích.
Datové sady GraphQL
Metriky operací s daty
R2 Data Catalog exportuje níže uvedené metriky v rámci r2CatalogDataOperationsAdaptiveGroups datové sadě. Tyto metriky sledují požadavky Iceberg REST API odeslané do vašeho katalogu, například načítání tabulek, výpis oborů názvů a potvrzování aktualizací.
| Metrika | Název pole GraphQL | Agregace | Popis |
|---|---|---|---|
| Počet požadavků | count |
count | Celkový počet požadavků na Iceberg REST API |
| Bajty těla požadavku | requestBodyBytes |
sum | Celkový počet bajtů odeslaných v tělech požadavků |
| Doba trvání požadavku | requestDurationMs |
sum, avg, quantiles | Doba trvání požadavku v milisekundách |
r2CatalogDataOperationsAdaptiveGroups poskytuje tyto dimenze pro filtrování a seskupování dotazů:
warehouseName- Název warehouse R2 Data Catalogoperation- Název operace Iceberg REST API (napříkladload-table,list-namespaces,commit-table)namespaceName- Obor názvů Iceberg, na který požadavek cílí, pokud je relevantnítableName- Tabulka Iceberg, na kterou požadavek cílí, pokud je relevantníhttpStatus- kód stavu odpovědi HTTPdatetime- časové razítko požadavkudate- časové razítko požadavku zaokrouhlené na začátek dnedatetimeHour- časové razítko požadavku zaokrouhlené na začátek hodinydatetimeMinute- časové razítko požadavku zaokrouhlené na začátek minutydatetimeFiveMinutes- časové razítko požadavku zaokrouhlené na začátek pětiminutového intervaludatetimeFifteenMinutes- časové razítko požadavku zaokrouhlené na začátek patnáctiminutového intervalu
Metriky údržby tabulek
R2 Data Catalog exportuje níže uvedené metriky v rámci r2CatalogTableMaintenanceAdaptiveGroups datové sadě. Tyto metriky sledují úlohy údržby tabulek, včetně komprimace a expirace snímků.
| Metrika | Název pole GraphQL | Agregace | Popis |
|---|---|---|---|
| Počet úloh | count |
count | Celkový počet spuštěných úloh údržby |
| Zpracované soubory | filesProcessed |
sum | Celkový počet vstupních souborů zpracovaných úlohami údržby |
| Výstupní soubory | filesOutput |
sum | Celkový počet výstupních souborů vytvořených úlohami údržby |
| Vstupní bajty | inputBytes |
sum | Celkový počet bajtů přečtených nebo skenovaných úlohami údržby |
| Výstupní bajty | outputBytes |
sum | Celkový počet bajtů zapsaných úlohami údržby |
| Doba trvání úlohy | jobDurationMs |
sum, avg, quantiles | Doba trvání úlohy v milisekundách |
r2CatalogTableMaintenanceAdaptiveGroups poskytuje tyto dimenze pro filtrování a seskupování dotazů:
warehouseName- Název warehouse R2 Data CatalogjobType- Typ úlohy údržby (compaction,snapshot-expiration)namespaceName- Obor názvů Iceberg obsahující danou tabulkutableName- Tabulka Iceberg, nad kterou byla provedena údržbasuccess- Zda byla úloha úspěšná (1) nebo neúspěšné (0)datetime- časové razítko úlohydate- časové razítko úlohy zaokrouhlené na začátek dnedatetimeHour- časové razítko úlohy zaokrouhlené na začátek hodinydatetimeMinute- časové razítko úlohy zaokrouhlené na začátek minutydatetimeFiveMinutes- časové razítko úlohy zaokrouhlené na začátek pětiminutového intervaludatetimeFifteenMinutes- časové razítko úlohy zaokrouhlené na začátek patnáctiminutového intervalu
Dotazování přes GraphQL API
Analytiku pro warehouse svého R2 Data Catalog můžete programově dotazovat pomocí GraphQL Analytics API. Toto API dotazuje stejné datové sady jako Cloudflare dashboard a podporuje GraphQL introspekce.
Datové sady R2 Data Catalog GraphQL vyžadují accountTag filtr s ID vašeho účtu Cloudflare.
Měření datových operací za časové období
Tento dotaz vrací celkový počet požadavků na Iceberg REST API a celkovou dobu trvání požadavků seskupenou podle operace pro konkrétní warehouse.
query CatalogDataOperations(
$accountTag: String!
$warehouseName: String!
$datetimeStart: Time!
$datetimeEnd: Time!
) {
viewer {
accounts(filter: { accountTag: $accountTag }) {
r2CatalogDataOperationsAdaptiveGroups(
limit: 10000
filter: {
warehouseName: $warehouseName
datetime_geq: $datetimeStart
datetime_leq: $datetimeEnd
}
) {
count
dimensions {
operation
}
sum {
requestBodyBytes
requestDurationMs
}
avg {
requestDurationMs
}
}
}
}
}Měření percentilů latence požadavků
Tento dotaz vrací percentily doby trvání požadavků pro konkrétní warehouse, což je užitečné pro pochopení rozložení latence.
query CatalogLatencyPercentiles(
$accountTag: String!
$warehouseName: String!
$datetimeStart: Time!
$datetimeEnd: Time!
) {
viewer {
accounts(filter: { accountTag: $accountTag }) {
r2CatalogDataOperationsAdaptiveGroups(
limit: 10000
filter: {
warehouseName: $warehouseName
datetime_geq: $datetimeStart
datetime_leq: $datetimeEnd
}
) {
count
dimensions {
operation
}
quantiles {
requestDurationMsP50
requestDurationMsP90
requestDurationMsP99
}
}
}
}
}Dotazování metrik úloh údržby tabulek
Tento dotaz vrací souhrn úloh komprimace a expirace snímků pro konkrétní warehouse, včetně počtu zpracovaných souborů, přečtených a zapsaných bajtů a stavu úspěchu nebo selhání.
query CatalogMaintenanceMetrics(
$accountTag: String!
$warehouseName: String!
$datetimeStart: Time!
$datetimeEnd: Time!
) {
viewer {
accounts(filter: { accountTag: $accountTag }) {
r2CatalogTableMaintenanceAdaptiveGroups(
limit: 10000
filter: {
warehouseName: $warehouseName
datetime_geq: $datetimeStart
datetime_leq: $datetimeEnd
}
) {
count
dimensions {
jobType
tableName
success
}
sum {
filesProcessed
filesOutput
inputBytes
outputBytes
jobDurationMs
}
}
}
}
}Filtrovat podle operace nebo tabulky
Výsledky můžete zúžit na konkrétní operaci nebo tabulku Iceberg. Chcete-li dotazovat například pouze load-table operace pro konkrétní tabulku:
query CatalogFilterByOperation(
$accountTag: String!
$datetimeStart: Time!
$datetimeEnd: Time!
) {
viewer {
accounts(filter: { accountTag: $accountTag }) {
r2CatalogDataOperationsAdaptiveGroups(
limit: 10000
filter: {
warehouseName: "my-warehouse"
operation: "load-table"
tableName: "my_table"
datetime_geq: $datetimeStart
datetime_leq: $datetimeEnd
}
) {
count
sum {
requestDurationMs
}
}
}
}
}Chcete-li dotazovat pouze neúspěšné úlohy údržby:
query CatalogFailedMaintenanceJobs(
$accountTag: String!
$datetimeStart: Time!
$datetimeEnd: Time!
) {
viewer {
accounts(filter: { accountTag: $accountTag }) {
r2CatalogTableMaintenanceAdaptiveGroups(
limit: 10000
filter: {
warehouseName: "my-warehouse"
success: 0
datetime_geq: $datetimeStart
datetime_leq: $datetimeEnd
}
) {
count
dimensions {
jobType
tableName
}
}
}
}
}Dotazování napříč všemi datovými sklady
Chcete-li dotazovat metriky napříč všemi warehouse v účtu, vynechte warehouseName filtr a zahrňte warehouseName v dimenzích:
query CatalogAllWarehouses(
$accountTag: String!
$datetimeStart: Time!
$datetimeEnd: Time!
) {
viewer {
accounts(filter: { accountTag: $accountTag }) {
r2CatalogDataOperationsAdaptiveGroups(
limit: 10000
filter: { datetime_geq: $datetimeStart, datetime_leq: $datetimeEnd }
) {
count
dimensions {
warehouseName
operation
}
sum {
requestDurationMs
}
}
}
}
}