Pular para o conteúdo

Metrics and analytics

Atualizado em Ver como Markdown

R2 exposes analytics that allow you to inspect the requests and storage of the buckets in your account.

The metrics displayed for a bucket in the Cloudflare dashboard are queried from Cloudflare's GraphQL Analytics API. You can access the metrics programmatically via GraphQL or HTTP client.

Metrics

R2 currently has two datasets:

Dataset GraphQL Dataset Name Description
Operations r2OperationsAdaptiveGroups This dataset consists of the operations taken on a bucket within an account.
Storage r2StorageAdaptiveGroups This dataset consists of the storage of a bucket within an account.

Operations Dataset

Field Description
actionType The name of the operation performed.
actionStatus The status of the operation. Can be success, userError, or internalError.
bucketName The bucket this operation was performed on if applicable. For buckets with a jurisdiction specified, you must include the jurisdiction followed by an underscore before the bucket name. For example: eu_your-bucket-name
objectName The object this operation was performed on if applicable.
responseStatusCode The http status code returned by this operation.
datetime The time of the request.

Storage Dataset

Field Description
bucketName The bucket this storage value is for. For buckets with a jurisdiction specified, you must include the jurisdiction followed by an underscore before the bucket name. For example: eu_your-bucket-name
payloadSize The size of the objects in the bucket.
metadataSize The size of the metadata of the objects in the bucket.
objectCount The number of objects in the bucket.
uploadCount The number of pending multipart uploads in the bucket.
datetime The time that this storage value represents.

Metrics can be queried (and are retained) for the past 31 days. These datasets require an accountTag filter with your Cloudflare account ID.

View via the dashboard

Per-bucket analytics for R2 are available in the Cloudflare dashboard. To view current and historical metrics for a bucket:

  1. In the Cloudflare dashboard, go to the R2 object storage page.

    Go to Overview ↗
  2. Select your bucket.

  3. 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 R2 buckets via the GraphQL Analytics API. This API queries the same dataset as the Cloudflare dashboard, and supports GraphQL introspection.

Examples

Operations

To query the volume of each operation type on a bucket for a given time period you can run a query as such

query R2VolumeExample(
	$accountTag: string!
	$startDate: Time
	$endDate: Time
	$bucketName: string
) {
	viewer {
		accounts(filter: { accountTag: $accountTag }) {
			r2OperationsAdaptiveGroups(
				limit: 10000
				filter: {
					datetime_geq: $startDate
					datetime_leq: $endDate
					bucketName: $bucketName
				}
			) {
				sum {
					requests
				}
				dimensions {
					actionType
				}
			}
		}
	}
}

The bucketName field can be removed to get an account level overview of operations. The volume of operations can be broken down even further by adding more dimensions to the query.

Storage

To query the storage of a bucket over a given time period you can run a query as such.

query R2StorageExample(
	$accountTag: string!
	$startDate: Time
	$endDate: Time
	$bucketName: string
) {
	viewer {
		accounts(filter: { accountTag: $accountTag }) {
			r2StorageAdaptiveGroups(
				limit: 10000
				filter: {
					datetime_geq: $startDate
					datetime_leq: $endDate
					bucketName: $bucketName
				}
				orderBy: [datetime_DESC]
			) {
				max {
					objectCount
					uploadCount
					payloadSize
					metadataSize
				}
				dimensions {
					datetime
				}
			}
		}
	}
}