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
,ReadMessage
orDeleteMessage
consumerType
- The queue consumer type. Can beworker
orhttp
. Only applicable forReadMessage
andDeleteMessage
action typesoutcome
- The outcome of the mesage operation. Only applicable forDeleteMessage
action types. Can besuccess
,dlq
orfail
.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?
- Products
- 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