| id | metrics-reference | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| title | OpenMetrics metrics reference | ||||||||||
| sidebar_label | Metrics reference | ||||||||||
| description | Detailed API documentation for the Temporal Cloud OpenMetrics endpoint. | ||||||||||
| keywords |
|
||||||||||
| tags |
|
This document describes all metrics available from the Temporal Cloud OpenMetrics endpoint.
All metrics are exposed as OpenMetrics gauges, but represent different measurement types:
- Rate Metrics: per-second rate of the aggregated values
- Value Metrics: The most recent aggregate value within a look-back window (e.g. backlogs, limits)
- Percentile Metrics: Pre-calculated aggregated latency percentiles in seconds
:::note
All metrics are stored as 1 minute aggregates.
:::
All metrics include these base labels:
| Label | Description |
|---|---|
temporal_namespace |
The Temporal namespace |
temporal_account |
The Temporal account identifier |
region |
Cloud region where the metric originated |
Some labels are opt-in due to their high cardinality.
These labels are not included by default when you scrape the OpenMetrics endpoint.
To enable an opt-in label, add it to the labels query parameter on your scrape URL.
When an opt-in label is enabled, it is populated on all metrics that support it.
| Label | Available on | Description |
|---|---|---|
temporal_activity_type |
Activity metrics | The activity type name |
worker_version |
temporal_cloud_v1_approximate_backlog_count |
The Worker version |
For example, to include temporal_activity_type in your scrape results:
/v1/metrics?labels=temporal_activity_type
gRPC requests received per second.
| Label | Description |
|---|---|
operation |
The name of the RPC operation |
Type: Rate
gRPC requests throttled per second.
| Label | Description |
|---|---|
operation |
The name of the RPC operation |
Type: Rate
gRPC errors per second.
| Label | Description |
|---|---|
operation |
The name of the RPC operation |
Type: Rate
The number of pollers that are waiting for a task. Use this to track against temporal_cloud_v1_poller_limit
| Label | Description |
|---|---|
operation |
The name of the operation |
Type: Value
Resource exhaustion errors per second. This metric does not include throttling due to Namespace limits.
| Label | Description |
|---|---|
operation |
The name of the operation |
Type: Rate
:::caution
Avoid aggregating this metric across dimensions because the percentile won't be accurate.
:::
The 50th percentile latency of service requests in seconds
| Label | Description |
|---|---|
operation |
The name of the operation |
Type: Latency
:::caution
Avoid aggregating this metric across dimensions because the percentile won't be accurate.
:::
The 95th percentile latency of service requests in seconds
| Label | Description |
|---|---|
operation |
The name of the operation |
Type: Latency
:::caution
Avoid aggregating this metric across dimensions as the percentile won't be accurate.
:::
The 99th percentile latency of service requests in seconds
| Label | Description |
|---|---|
operation |
The name of the operation |
Type: Latency
:::caution High Cardinality
These metrics could have high cardinality depending on number of workflow types and task queues.
:::
Successful workflow completions per second.
| Label | Description |
|---|---|
temporal_task_queue |
The task queue name |
temporal_workflow_type |
The workflow type |
Type: Rate
Workflow failures per second.
| Label | Description |
|---|---|
temporal_task_queue |
The task queue name |
temporal_workflow_type |
The workflow type |
Type: Rate
Workflow timeouts per second.
| Label | Description |
|---|---|
temporal_task_queue |
The task queue name |
temporal_workflow_type |
The workflow type |
Type: Rate
Workflow cancellations per second.
| Label | Description |
|---|---|
temporal_task_queue |
The task queue name |
temporal_workflow_type |
The workflow type |
Type: Rate
Workflow terminations per second.
| Label | Description |
|---|---|
temporal_task_queue |
The task queue name |
temporal_workflow_type |
The workflow type |
Type: Rate
Workflows continued as new per second.
| Label | Description |
|---|---|
temporal_task_queue |
The task queue name |
temporal_workflow_type |
The workflow type |
Type: Rate
:::caution
Avoid aggregating this metric across dimensions because the percentile won't be accurate.
:::
The 50th percentile workflow schedule-to-close latency in seconds.
| Label | Description |
|---|---|
temporal_workflow_type |
The workflow type |
Type: Latency
:::caution
Avoid aggregating this metric across dimensions because the percentile won't be accurate.
:::
The 95th percentile workflow schedule-to-close latency in seconds.
| Label | Description |
|---|---|
temporal_workflow_type |
The workflow type |
Type: Latency
:::caution
Avoid aggregating this metric across dimensions because the percentile won't be accurate.
:::
The 99th percentile workflow schedule-to-close latency in seconds.
| Label | Description |
|---|---|
temporal_workflow_type |
The workflow type |
Type: Latency
:::caution High Cardinality
These metrics could have high cardinality depending on number of activity types, workflow types, and task queues. The temporal_activity_type label is opt-in to help manage cardinality.
:::
:::note Standalone Activities
Standalone Activities are Activity Executions that are started independently, without an associated Workflow. For Activity metrics that include the temporal_workflow_type label, Standalone Activities use the placeholder value "__standalone_activity".
:::
Successful activity completions per second.
| Label | Description |
|---|---|
temporal_task_queue |
The task queue name |
temporal_workflow_type |
The workflow type |
temporal_activity_type |
The activity type (opt-in) |
Type: Rate
Activity failures per second.
| Label | Description |
|---|---|
temporal_task_queue |
The task queue name |
temporal_workflow_type |
The workflow type |
temporal_activity_type |
The activity type (opt-in) |
Type: Rate
Activity timeouts per second.
| Label | Description |
|---|---|
temporal_task_queue |
The task queue name |
temporal_workflow_type |
The workflow type |
temporal_activity_type |
The activity type (opt-in) |
timeout_type |
The timeout type |
Type: Rate
Activity task failures per second.
| Label | Description |
|---|---|
temporal_task_queue |
The task queue name |
temporal_workflow_type |
The workflow type |
temporal_activity_type |
The activity type (opt-in) |
Type: Rate
Activity task timeouts per second.
| Label | Description |
|---|---|
temporal_task_queue |
The task queue name |
temporal_workflow_type |
The workflow type |
temporal_activity_type |
The activity type (opt-in) |
timeout_type |
The timeout type |
Type: Rate
Activity cancellations per second.
| Label | Description |
|---|---|
temporal_task_queue |
The task queue name |
temporal_workflow_type |
The workflow type |
temporal_activity_type |
The activity type (opt-in) |
Type: Rate
Activity terminations per second. This metric only applies to Standalone Activities. Regular Activities that run within a Workflow cannot be terminated independently.
| Label | Description |
|---|---|
temporal_task_queue |
The task queue name |
temporal_workflow_type |
The workflow type |
temporal_activity_type |
The activity type (opt-in) |
Type: Rate
:::info Activity latency labels
Activity latency metrics include only the temporal_activity_type label.
Labels such as temporal_task_queue and temporal_workflow_type are intentionally excluded because pre-calculated percentile values cannot be accurately aggregated across additional dimensions.
:::
:::caution
Avoid aggregating this metric across dimensions because the percentile won't be accurate.
:::
The 50th percentile activity start-to-close latency in seconds.
| Label | Description |
|---|---|
temporal_activity_type |
The activity type (opt-in) |
Type: Latency
:::caution
Avoid aggregating this metric across dimensions because the percentile won't be accurate.
:::
The 95th percentile activity start-to-close latency in seconds.
| Label | Description |
|---|---|
temporal_activity_type |
The activity type (opt-in) |
Type: Latency
:::caution
Avoid aggregating this metric across dimensions because the percentile won't be accurate.
:::
The 99th percentile activity start-to-close latency in seconds.
| Label | Description |
|---|---|
temporal_activity_type |
The activity type (opt-in) |
Type: Latency
:::caution
Avoid aggregating this metric across dimensions because the percentile won't be accurate.
:::
The 50th percentile activity schedule-to-close latency in seconds.
| Label | Description |
|---|---|
temporal_activity_type |
The activity type (opt-in) |
Type: Latency
:::caution
Avoid aggregating this metric across dimensions because the percentile won't be accurate.
:::
The 95th percentile activity schedule-to-close latency in seconds.
| Label | Description |
|---|---|
temporal_activity_type |
The activity type (opt-in) |
Type: Latency
:::caution
Avoid aggregating this metric across dimensions because the percentile won't be accurate.
:::
The 99th percentile activity schedule-to-close latency in seconds.
| Label | Description |
|---|---|
temporal_activity_type |
The activity type (opt-in) |
Type: Latency
:::caution High Cardinality
These metrics could have high cardinality depending on number of task queues present.
:::
The approximate number of tasks pending in a task queue. Started Activities are not included in the count as they have been dequeued from the task queue.
:::note Known accuracy limitations This metric may temporarily overcount due to cancelled Workflow Tasks that haven't yet expired, and may reset to zero if no Workers poll and no Tasks are added for approximately 5 minutes (due to partition unload). See backlog accuracy limitations for details. :::
| Label | Description |
|---|---|
temporal_task_queue |
The task queue name |
task_type |
Type of task: workflow or activity |
task_priority |
The task priority |
worker_version |
The Worker version (opt-in) |
Type: Value
Successfully matched tasks per second.
| Label | Description |
|---|---|
operation |
The poll operation name |
task_type |
Type of task: workflow or activity |
temporal_task_queue |
The task queue name |
Type: Rate
Tasks matched synchronously per second (no polling wait).
| Label | Description |
|---|---|
operation |
The poll operation name |
task_type |
Type of task: workflow or activity |
temporal_task_queue |
The task queue name |
Type: Rate
The rate of poll requests that timed out without receiving a task.
| Label | Description |
|---|---|
operation |
The poll operation name |
task_type |
Type of task: workflow or activity |
temporal_task_queue |
The task queue name |
Type: Rate
The rate of tasks added to queues with no active pollers.
| Label | Description |
|---|---|
temporal_task_queue |
The task queue name |
task_type |
Type of task: workflow or activity |
Type: Rate
The current number of open workflows in a namespace.
Type: Value
The total number of actions performed per second. Actions with is_background=false are counted toward the temporal_cloud_v1_action_limit.
| Label | Description |
|---|---|
is_background |
Whether the action was background: true or false. Background actions (e.g. History export) do not count toward the action rate limit |
namespace_mode |
Indicates if actions are produced by an active or a standby Namespace |
:::note
Does not include the region label. Actions are scoped to the Namespace level.
:::
Type: Rate
The total number of actions throttled per second.
Type: Rate
Operations performed per second.
| Label | Description |
|---|---|
operation |
The name of the operation |
is_background |
Whether the operation was background: true or false. Background operations do not count toward the operation rate limit |
namespace_mode |
Indicates if operations are produced by an active or a standby Namespace |
Type: Rate
Operations throttled due to rate limits per second.
| Label | Description |
|---|---|
operation |
The name of the operation |
is_background |
Whether the operation was background: true or false. Background operations do not count toward the operation rate limit |
namespace_mode |
Indicates if actions are throttled in an active or a standby Namespace |
Type: Rate
Successfully executed scheduled workflows per second.
Type: Rate
The rate of schedule buffer overruns when using BUFFER_ALL overlap policy.
Type: Rate
The rate of missed schedule executions outside the catchup window.
Type: Rate
The rate of scheduled workflows delayed due to rate limiting.
Type: Rate
The 50th percentile cross-region replication lag in seconds.
Type: Latency
The 95th percentile cross-region replication lag in seconds.
Type: Latency
The 99th percentile cross-region replication lag in seconds.
Type: Latency
The current configured operations per second limit for a namespace.
Type: Value
The current configured actions per second limit for a namespace. Track utilization against this limit with temporal_cloud_v1_total_action_count and is_background=false.
Type: Value
The current configured frontend service RPS limit for a namespace. Track utilization against this limit with temporal_cloud_v1_service_request_count
Type: Value
The current configured poller limit for a namespace. Track utilization against this limit with temporal_cloud_v1_service_pending_requests.
Type: Value
The on-demand envelope limit for actions per second. For Namespaces in provisioned capacity mode, this shows what the action limit would be if operating in on-demand mode. For Namespaces already in on-demand mode, this tracks the same value as temporal_cloud_v1_action_limit.
:::note
Does not include the region label. Limits are scoped to the Namespace level.
:::
Type: Value
The on-demand envelope limit for operations per second. For Namespaces in provisioned capacity mode, this shows what the operations limit would be if operating in on-demand mode. For Namespaces already in on-demand mode, this tracks the same value as temporal_cloud_v1_operations_limit.
:::note
Does not include the region label. Limits are scoped to the Namespace level.
:::
Type: Value
The on-demand envelope limit for service requests per second. For Namespaces in provisioned capacity mode, this shows what the service request limit would be if operating in on-demand mode. For Namespaces already in on-demand mode, this tracks the same value as temporal_cloud_v1_service_request_limit.
:::note
Does not include the region label. Limits are scoped to the Namespace level.
:::
Type: Value