Metrics
Queues expose metrics which allow you to measure the queue backlog, consumer concurrency, and message operations.
The metrics displayed in the Cloudflare dashboard ↗ are queried from Cloudflare’s GraphQL Analytics API. You can access the metrics programmatically via GraphQL or HTTP client.
Queues export the below metrics within the queuesBacklogAdaptiveGroups dataset.
| Metric | GraphQL Field Name | Description |
|---|---|---|
| Backlog bytes | bytes | Average size of the backlog, in bytes |
| Backlog messages | messages | Average size of the backlog, in number of messages |
The queuesBacklogAdaptiveGroups dataset provides the following dimensions for filtering and grouping queries:
queueID- ID of the queuedatetime- Timestamp for when the message was sentdate- Timestamp for when the message was sent, truncated to the start of a daydatetimeHour- Timestamp for when the message was sent, truncated to the start of an hourdatetimeMinute- Timestamp for when the message was sent, truncated to the start of a minute
Queues export the below metrics within the queueConsumerMetricsAdaptiveGroups dataset.
| Metric | GraphQL Field Name | Description |
|---|---|---|
| Avg. Consumer Concurrency | concurrency | Average number of concurrent consumers over the period |
The queueConsumerMetricsAdaptiveGroups dataset provides the following dimensions for filtering and grouping queries:
queueID- ID of the queuedatetime- Timestamp for the consumer metricsdate- Timestamp for the consumer metrics, truncated to the start of a daydatetimeHour- Timestamp for the consumer metrics, truncated to the start of an hourdatetimeMinute- Timestamp for the consumer metrics, truncated to the start of a minute
Queues export the below metrics within the queueMessageOperationsAdaptiveGroups dataset.
| Metric | GraphQL Field Name | Description |
|---|---|---|
| Total billable operations | billableOperations | Sum of billable operations (writes, reads, and deletes) over the time period |
| Total Bytes | bytes | Sum of bytes read, written, and deleted from the queue |
| Lag | lagTime | Average lag time in milliseconds between when the message was written and the operation to consume the message. |
| Retries | retryCount | Average number of retries per message |
| Message Size | messageSize | Maximum message size over the specified period |
The queueMessageOperationsAdaptiveGroups dataset provides the following dimensions for filtering and grouping queries:
queueID- ID of the queueactionType- The type of message operation. Can beWriteMessage,ReadMessageorDeleteMessageconsumerType- The queue consumer type. Can beworkerorhttp. Only applicable forReadMessageandDeleteMessageaction typesoutcome- The outcome of the mesage operation. Only applicable forDeleteMessageaction types. Can besuccess,dlqorfail.datetime- Timestamp for the message operationdate- Timestamp for the message operation, truncated to the start of a daydatetimeHour- Timestamp for the message operation, truncated to the start of an hourdatetimeMinute- Timestamp for the message operation, truncated to the start of a minute
query QueueBacklog( $accountTag: string! $queueId: string! $datetimeStart: Time! $datetimeEnd: Time!) { viewer { accounts(filter: { accountTag: $accountTag }) { queueBacklogAdaptiveGroups( limit: 10000 filter: { queueId: $queueId datetime_geq: $datetimeStart datetime_leq: $datetimeEnd } ) { avg { messages bytes } } } }}query QueueConcurrencyByHour( $accountTag: string! $queueId: string! $datetimeStart: Time! $datetimeEnd: Time!) { viewer { accounts(filter: { accountTag: $accountTag }) { queueConsumerMetricsAdaptiveGroups( limit: 10000 filter: { queueId: $queueId datetime_geq: $datetimeStart datetime_leq: $datetimeEnd } orderBy: [datetimeHour_DESC] ) { avg { concurrency } dimensions { datetimeHour } } } }}query QueueMessageOperationsByMinute( $accountTag: string! $queueId: string! $datetimeStart: Date! $datetimeEnd: Date!) { viewer { accounts(filter: { accountTag: $accountTag }) { queueMessageOperationsAdaptiveGroups( limit: 10000 filter: { queueId: $queueId datetime_geq: $datetimeStart datetime_leq: $datetimeEnd } orderBy: [datetimeMinute_DESC] ) { count sum { bytes } dimensions { datetimeMinute } } } }}Was this helpful?
- Resources
- API
- New to Cloudflare?
- Directory
- Sponsorships
- Open Source
- Support
- Help Center
- System Status
- Compliance
- GDPR
- Company
- cloudflare.com
- Our team
- Careers
- © 2025 Cloudflare, Inc.
- Privacy Policy
- Terms of Use
- Report Security Issues
- Trademark