R2 Data Catalog のメトリクスが GraphQL Analytics API で丸見えに!
やっほー、しぃちゃんだよ!今日は R2 のデータ基盤まわりのアップデートを見つけてきたよ。地味だけど、運用してる人にはじわっと嬉しいやつなの!
Cloudflare Changelogなにが発表されたの?
Cloudflare の Changelog からのお知らせだよ。R2 Data Catalog が GraphQL Analytics API 経由でメトリクスを出せるようになったの。新しく追加されたデータセットは 2 つだよ。
r2CatalogDataOperationsAdaptiveGroups:カタログへの Iceberg REST API リクエストを追跡r2CatalogTableMaintenanceAdaptiveGroups:compaction や snapshot expiration みたいなテーブルメンテナンスジョブを追跡
今までどうだったの?
R2 Data Catalog は、R2 バケットに直接組み込まれたマネージドな Apache Iceberg カタログなの。R2 SQL や Spark、Snowflake、DuckDB みたいなクエリエンジンを R2 のデータにつなげられるのが魅力だよ。
でも今までは、カタログにどれくらいリクエストが来てるのか、メンテナンスジョブがちゃんと回ってるのかを、外から数字で見る手立てが乏しかったの。
これで何が変わるの?
これからは GraphQL Analytics API を叩くだけで、warehouse・namespace・テーブル・期間で絞り込んで、リクエスト量やレイテンシを見られるようになるよ。duration にはパーセンタイル集計もあるから、p50 や p99 みたいな見方もできるの。
監視ダッシュボードに組み込んだり、遅くなってるテーブルを見つけたりが、自分の手でできるようになるってことだね。
深く潜ってみよう
r2CatalogDataOperationsAdaptiveGroupsは、操作の種類・リクエスト時間・HTTP ステータス・リクエストボディのバイト数を持ってるよ。warehouse や namespace、テーブルをまたいだリクエスト量とレイテンシの監視に使えるの。r2CatalogTableMaintenanceAdaptiveGroupsは、ジョブの成功率・処理したファイル数・読み書きしたバイト数・ジョブ時間を追えるよ。- どちらも warehouse 名・namespace・テーブル名・期間でフィルタできて、duration にはパーセンタイル集計付き。スキーマの詳細やクエリ例は R2 Data Catalog のメトリクスとアナリティクスのドキュメント にまとまってるよ。
まとめ
- R2 Data Catalog のメトリクスが GraphQL Analytics API から取れるようになったよ
- 追加データセットは 2 つ:リクエスト系とテーブルメンテナンス系
- warehouse・namespace・テーブル・期間での絞り込みと、duration のパーセンタイル集計に対応
- R2 で Iceberg を運用してて、監視や可観測性をちゃんとやりたい人に刺さる話だよ!