コンテンツにスキップ

メトリクスとGraphQL分析

Durable Objectsは、Durable Objectの名前空間レベルおよびリクエストレベルのメトリクスを公開します。

Cloudflareダッシュボードのチャートに表示されるメトリクスは、CloudflareのGraphQL Analytics APIからクエリされます。メトリクスにはGraphQLを介してプログラム的にアクセスすることも、HTTPクライアントを使用してアクセスすることもできます。

ダッシュボードを介してメトリクスと分析を表示

Durable Objectsの名前空間ごとの分析は、Cloudflareダッシュボードで利用可能です。名前空間の現在および過去のメトリクスを表示するには:

  1. Cloudflareダッシュボードにログインし、アカウントを選択します。
  2. Workers & Pages > Durable Objectsに移動します。
  3. アカウントレベルのDurable Objectsの使用状況を表示します。
  4. 既存の名前空間を選択します。
  5. メトリクスタブを選択します。

オプションで、クエリする時間ウィンドウを選択できます。デフォルトは過去24時間です。

GraphQL APIを介してクエリ

Durable ObjectメトリクスはGraphQLによって提供されています。

Durable Objectメトリクスを含むデータセットは次のとおりです:

  • durableObjectsInvocationsAdaptiveGroups
  • durableObjectsPeriodicGroups
  • durableObjectsStorageGroups
  • durableObjectsSubrequestsAdaptiveGroups

GraphQL Introspectionを使用して、各データセットによって公開されているフィールドに関する情報を取得します。

WebSocketメトリクス

WebSocketsを使用するDurable Objectsは、WebSocketが異なるタイプのリクエストを持つため、いくつかのGraphQLデータセットにわたるリクエストメトリクスを確認できます。

  • WebSocket接続自体のメトリクスは、接続が閉じられるとdurableObjectsInvocationsAdaptiveGroupsに表示されます。WebSocket接続は長期間持続するため、接続はDurable Objectが終了するまで終了しないことがよくあります。
  • WebSocket接続の受信および送信WebSocketメッセージのメトリクスは、durableObjectsPeriodicGroupsで利用可能です。WebSocket接続がWebSocketハイバネーションを使用している場合、受信WebSocketメッセージは代わりにdurableObjectsInvocationsAdaptiveGroupsに表示されます。

Durable ObjectsのためのGraphQLクエリの例

viewer {
/*
アカウントタグを置き換えてください。これは、dash.cloudflare.comにログインしたときに
すべてのURLの先頭に表示される32桁の16進数のIDです。
または、Workers & Pagesの概要のサイドバーの「アカウントID」の下に表示されます。
*/
accounts(filter: {accountTag: "your account tag here"}) {
// 日付を最近の日付に置き換えてください
durableObjectsInvocationsAdaptiveGroups(filter: {date_gt: "2023-05-23"}, limit: 1000) {
sum {
// インストロスペクションを通じて見つかった他のフィールドをここに追加できます
requests
responseBodySize
}
}
durableObjectsPeriodicGroups(filter: {date_gt: "2023-05-23"}, limit: 1000) {
sum {
cpuTime
}
}
durableObjectsStorageGroups(filter: {date_gt: "2023-05-23"}, limit: 1000) {
max {
storedBytes
}
}
}
}

認証やWorkersデータセットのクエリについて詳しくは、GraphQLを使用したWorkersメトリクスのクエリチュートリアルを参照してください。