コンテンツにスキップ

メトリクスと分析

Hyperdriveは、クエリのボリューム、クエリのレイテンシ、およびキャッシュ比率のサイズを、アカウント内のすべてのHyperdrive構成または各構成ごとに検査できる分析を提供します。

メトリクス

Hyperdriveは現在、hyperdriveQueriesAdaptiveGroups GraphQLデータセットの一部として以下のメトリクスをエクスポートしています:

メトリクスGraphQLフィールド名説明
クエリ数count指定された期間内にHyperdriveに対して発行されたクエリの数。
キャッシュステータスcacheStatusクエリがキャッシュされたかどうか。disabledhitmissuncacheablemultiplestatementsnotaqueryoversizedqueryoversizedresultparseerrortransactionvolatileのいずれか。
クエリバイト数queryBytesクエリのサイズ(バイト単位)。
結果バイト数resultBytesクエリの結果のサイズ(バイト単位)。
接続レイテンシconnectionLatencyHyperdriveからデータベースへの新しい接続を確立するのに必要な時間(ミリ秒単位)。
クエリレイテンシqueryLatencyデータベースからクエリを実行し(結果を受け取る)のに必要な時間(ミリ秒単位)。
イベントステータスeventStatusクエリが成功裏に応答したか(complete)、失敗したか(error)。

メトリクスは過去31日間のデータをクエリ(保持)できます。

ダッシュボードでメトリクスを表示

Hyperdriveのデータベースごとの分析はCloudflareダッシュボードで利用可能です。Hyperdrive構成の現在および過去のメトリクスを表示するには:

  1. Cloudflareダッシュボードにログインし、アカウントを選択します。
  2. Workers & Pages > Hyperdriveに移動します。
  3. 既存のHyperdrive構成を選択します。
  4. メトリクスタブを選択します。

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

GraphQL APIを介してクエリ

GraphQL Analytics APIを介して、Hyperdrive構成の分析をプログラム的にクエリできます。このAPIはCloudflareダッシュボードと同じデータセットをクエリし、GraphQLのイントロスペクションをサポートしています。

HyperdriveのGraphQLデータセットには、CloudflareアカウントIDを持つaccountTagフィルターが必要です。HyperdriveはhyperdriveQueriesAdaptiveGroupsデータセットを公開しています。

GraphQLクエリを書く

Hyperdriveメトリクスを探索する方法の例。

キャッシュステータスによって処理された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
}
}
}
}
}

エラーによって失敗したクエリを除外し、Hyperdrive構成によって処理されたクエリの平均クエリおよび接続レイテンシを取得

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
}
}
}
}
}

Hyperdrive構成を通じて流れるクエリおよび結果バイトの合計を取得

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
}
}
}
}
}