メトリクスと分析
Hyperdriveは、クエリのボリューム、クエリのレイテンシ、およびキャッシュ比率のサイズを、アカウント内のすべてのHyperdrive構成または各構成ごとに検査できる分析を提供します。
Hyperdriveは現在、hyperdriveQueriesAdaptiveGroups GraphQLデータセットの一部として以下のメトリクスをエクスポートしています:
| メトリクス | GraphQLフィールド名 | 説明 |
|---|---|---|
| クエリ数 | count | 指定された期間内にHyperdriveに対して発行されたクエリの数。 |
| キャッシュステータス | cacheStatus | クエリがキャッシュされたかどうか。disabled、hit、miss、uncacheable、multiplestatements、notaquery、oversizedquery、oversizedresult、parseerror、transaction、volatileのいずれか。 |
| クエリバイト数 | queryBytes | クエリのサイズ(バイト単位)。 |
| 結果バイト数 | resultBytes | クエリの結果のサイズ(バイト単位)。 |
| 接続レイテンシ | connectionLatency | Hyperdriveからデータベースへの新しい接続を確立するのに必要な時間(ミリ秒単位)。 |
| クエリレイテンシ | queryLatency | データベースからクエリを実行し(結果を受け取る)のに必要な時間(ミリ秒単位)。 |
| イベントステータス | eventStatus | クエリが成功裏に応答したか(complete)、失敗したか(error)。 |
メトリクスは過去31日間のデータをクエリ(保持)できます。
Hyperdriveのデータベースごとの分析はCloudflareダッシュボードで利用可能です。Hyperdrive構成の現在および過去のメトリクスを表示するには:
- Cloudflareダッシュボード ↗にログインし、アカウントを選択します。
- Workers & Pages > Hyperdrive ↗に移動します。
- 既存のHyperdrive構成を選択します。
- メトリクスタブを選択します。
オプションで、クエリする時間ウィンドウを選択できます。デフォルトは過去24時間です。
GraphQL Analytics APIを介して、Hyperdrive構成の分析をプログラム的にクエリできます。このAPIはCloudflareダッシュボードと同じデータセットをクエリし、GraphQLのイントロスペクションをサポートしています。
HyperdriveのGraphQLデータセットには、CloudflareアカウントIDを持つaccountTagフィルターが必要です。HyperdriveはhyperdriveQueriesAdaptiveGroupsデータセットを公開しています。
Hyperdriveメトリクスを探索する方法の例。
query HyperdriveQueries($accountTag: string!, $configId: string!, $datetimeStart: Time!, $datetimeEnd: Time!) { viewer { accounts(filter: {accountTag: $accountTag}) { hyperdriveQueriesAdaptiveGroups( limit: 10000 filter: { configId: $configId datetime_geq: $datetimeStart datetime_leq: $datetimeEnd } ) { count dimensions { cacheStatus } } } }}query AverageHyperdriveLatencies($accountTag: string!, $configId: string!, $datetimeStart: Time!, $datetimeEnd: Time!) { viewer { accounts(filter: {accountTag: $accountTag}) { hyperdriveQueriesAdaptiveGroups( limit: 10000 filter: { configId: $configId eventStatus: "complete" datetime_geq: $datetimeStart datetime_leq: $datetimeEnd } ) { avg { connectionLatency queryLatency } } } }}query HyperdriveQueryAndResultBytesForSuccessfulQueries($accountTag: string!, $configId: string!, $datetimeStart: Date!, $datetimeEnd: Date!) { viewer { accounts(filter: {accountTag: $accountTag}) { hyperdriveQueriesAdaptiveGroups( limit: 10000 filter: { configId: $configId datetime_geq: $datetimeStart datetime_leq: $datetimeEnd } ) { sum { queryBytes resultBytes } } } }}