Skip to content

Metrics and analytics

Hyperdrive exposes analytics that allow you to inspect query volume, query latency and cache ratios size across all and/or each Hyperdrive configuration in your account.

Metrics

Hyperdrive currently exports the below metrics as part of the hyperdriveQueriesAdaptiveGroups GraphQL dataset:

MetricGraphQL Field NameDescription
QueriescountThe number of queries issued against your Hyperdrive in the given time period.
Cache StatuscacheStatusWhether the query was cached or not. Can be one of disabled, hit, miss, uncacheable, multiplestatements, notaquery, oversizedquery, oversizedresult, parseerror, transaction, and volatile.
Query BytesqueryBytesThe size of your queries, in bytes.
Result BytesresultBytesThe size of your query results, in bytes.
Connection LatencyconnectionLatencyThe time (in milliseconds) required to establish new connections from Hyperdrive to your database.
Query LatencyqueryLatencyThe time (in milliseconds) required to query (and receive results) from your database.
Event StatuseventStatusWhether a query responded successfully (complete) or failed (error).

Metrics can be queried (and are retained) for the past 31 days.

View metrics in the dashboard

Per-database analytics for Hyperdrive are available in the Cloudflare dashboard. To view current and historical metrics for a Hyperdrive configuration:

  1. Log in to the Cloudflare dashboard and select your account.
  2. Go to Workers & Pages > Hyperdrive.
  3. Select an existing Hyperdrive configuration.
  4. Select the Metrics tab.

You can optionally select a time window to query. This defaults to the last 24 hours.

Query via the GraphQL API

You can programmatically query analytics for your Hyperdrive configurations via the GraphQL Analytics API. This API queries the same datasets as the Cloudflare dashboard, and supports GraphQL introspection.

Hyperdrives’s GraphQL datasets require an accountTag filter with your Cloudflare account ID. Hyperdrive exposes the hyperdriveQueriesAdaptiveGroups dataset.

Write GraphQL queries

Examples of how to explore your Hyperdrive metrics.

Get the number of queries handled via your Hyperdrive config by cache status

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

Get the average query and connection latency for queries handled via your Hyperdrive config within a range of time, excluding queries that failed due to an error

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

Get the total amount of query and result bytes flowing through your Hyperdrive config

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