---
title: Temporal Cloud - OpenMetrics
description: >-
  Monitor your Temporal Cloud workloads with operational metrics across your
  Namespaces, Workflows, and Task Queues
breadcrumbs: Docs > Integrations > Temporal Cloud - OpenMetrics
---

# Temporal Cloud - OpenMetrics
Supported OS Integration version1.0.0   Dashboard OverviewActivities and workflows ratesTask polling widgets
## Overview{% #overview %}

[Temporal Cloud](https://temporal.io/cloud/) is a scalable platform for orchestrating complex workflows, enabling developers to focus on building applications, without worrying about fault tolerance and consistency.

This integration brings Temporal Cloud operational metrics into Datadog, offering insights into system health, workflow efficiency, task execution, and performance bottlenecks. This integration uses Temporal's new OpenMetrics endpoint surfacing 30+ metrics in industry-standard Prometheus format.

## Setup{% #setup %}

### Generate an API Key{% #generate-an-api-key %}

1. Log into [Temporal Cloud](https://cloud.temporal.io/) with an account owner or global admin role.
1. [Create a Service Account](https://docs.temporal.io/production-deployment/cloud/metrics/openmetrics/migration-guide#create-an-api-key) with the "Metrics Read-Only" role.
1. Generate a new API Key for the newly created Service Account.

### Connect your Temporal Cloud account to Datadog{% #connect-your-temporal-cloud-account-to-datadog %}

1. Add the newly created API Key to the Datadog integration form.

1. Optionally, add a comma-separated list of namespaces you want the metrics to be fetched for. If left empty, Datadog will try to fetch the metrics for all the available namespaces.

| Parameters            | Description                                                 |
| --------------------- | ----------------------------------------------------------- |
| API Key               | API Key for a Service account with "Metrics Read-Only" role |
| Namespaces to include | Comma-separated list of namespaces to filter the metrics    |

1. Save the changes

## Data Collected{% #data-collected %}

### Metrics{% #metrics %}

|  |
|  |
| **temporal.cloud.v1\_action\_limit**(gauge)                               | The current action per second limit for a namespace                                                                                                                 |
| **temporal.cloud.v1\_approximate\_backlog**(gauge)                        | Approximate number of tasks in a task queue                                                                                                                         |
| **temporal.cloud.v1\_service\_request\_limit**(gauge)                     | The current requests per second limit for a namespace                                                                                                               |
| **temporal.cloud.v1\_service\_error**(rate)                               | The number of service gRPC errors per second                                                                                                                        |
| **temporal.cloud.v1\_service\_pending\_requests**(gauge)                  | The number of pollers that are waiting for a task                                                                                                                   |
| **temporal.cloud.v1\_service\_request**(rate)                             | The number of RPC requests received by the service per second                                                                                                       |
| **temporal.cloud.v1\_service\_request\_throttled**(rate)                  | The number of throttled requests per second                                                                                                                         |
| **temporal.cloud.v1\_namespace\_open\_workflows**(gauge)                  | The number of open workflows in a namespace                                                                                                                         |
| **temporal.cloud.v1\_no\_poller\_tasks**(rate)                            | The per second rate of tasks added to the task queue with no poller                                                                                                 |
| **temporal.cloud.v1\_operations**(rate)                                   | The number of operations per second for a namespace                                                                                                                 |
| **temporal.cloud.v1\_operations\_limit**(gauge)                           | The current operations per second limit for a namespace                                                                                                             |
| **temporal.cloud.v1\_operations\_throttled**(rate)                        | The number of throttled operations per second for a namespace                                                                                                       |
| **temporal.cloud.v1\_poll\_success**(rate)                                | The number of successfully matched tasks per second                                                                                                                 |
| **temporal.cloud.v1\_poll\_success\_sync**(rate)                          | The number of successfully sync matched tasks per second                                                                                                            |
| **temporal.cloud.v1\_poll\_timeout**(rate)                                | The per second rate of occurrences where no tasks are available for a poller before timing out                                                                      |
| **temporal.cloud.v1\_poller\_limit**(gauge)                               | The current concurrent task poller limit for a namespace                                                                                                            |
| **temporal.cloud.v1\_replication\_lag\_p50**(gauge)                       | The 50th percentile replication lag in seconds                                                                                                                      |
| **temporal.cloud.v1\_replication\_lag\_p95**(gauge)                       | The 95th percentile replication lag in seconds                                                                                                                      |
| **temporal.cloud.v1\_replication\_lag\_p99**(gauge)                       | The 99th percentile replication lag in seconds                                                                                                                      |
| **temporal.cloud.v1\_resource\_exhausted\_error**(rate)                   | The number of resource exhaustion service errors per second                                                                                                         |
| **temporal.cloud.v1\_schedule\_action\_success**(rate)                    | The number of successfully scheduled workflow executions per second                                                                                                 |
| **temporal.cloud.v1\_schedule\_buffer\_overruns**(rate)                   | The per second rate of the number of times an average schedule run length is greater than average schedule interval while a buffer_all overlap policy is configured |
| **temporal.cloud.v1\_schedule\_missed\_catchup\_window**(rate)            | The per second rate of the number of skipped scheduled executions when workflows were delayed longer than the catchup window                                        |
| **temporal.cloud.v1\_schedule\_rate\_limited**(rate)                      | The per second rate of the number of scheduled workflows that were delayed due to exceeding a rate limit                                                            |
| **temporal.cloud.v1\_service\_latency\_p50**(gauge)                       | The 50th percentile latency of temporal service requests in seconds                                                                                                 |
| **temporal.cloud.v1\_service\_latency\_p95**(gauge)                       | The 95th percentile latency of temporal service requests in seconds                                                                                                 |
| **temporal.cloud.v1\_service\_latency\_p99**(gauge)                       | The 99th percentile latency of temporal service requests in seconds                                                                                                 |
| **temporal.cloud.v1\_total\_action**(rate)                                | The number of actions taken per second                                                                                                                              |
| **temporal.cloud.v1\_total\_action\_throttled**(rate)                     | The number of throttled actions per second                                                                                                                          |
| **temporal.cloud.v1\_workflow\_cancel**(rate)                             | The number of workflow cancellations per second                                                                                                                     |
| **temporal.cloud.v1\_workflow\_continued\_as\_new**(rate)                 | The number of workflows continued as new per second                                                                                                                 |
| **temporal.cloud.v1\_workflow\_failed**(rate)                             | The number of workflow failures per second                                                                                                                          |
| **temporal.cloud.v1\_workflow\_schedule\_to\_close\_latency\_p50**(gauge) | The 50th percentile workflow schedule-to-close latency in seconds                                                                                                   |
| **temporal.cloud.v1\_workflow\_schedule\_to\_close\_latency\_p95**(gauge) | The 95th percentile workflow schedule-to-close latency in seconds                                                                                                   |
| **temporal.cloud.v1\_workflow\_schedule\_to\_close\_latency\_p99**(gauge) | The 99th percentile workflow schedule-to-close latency in seconds                                                                                                   |
| **temporal.cloud.v1\_workflow\_success**(rate)                            | The number of successful workflows per second                                                                                                                       |
| **temporal.cloud.v1\_workflow\_terminate**(rate)                          | The number of terminated workflows per second                                                                                                                       |
| **temporal.cloud.v1\_workflow\_timeout**(rate)                            | The number of timed out workflows per second                                                                                                                        |

## Uninstallation{% #uninstallation %}

Remove any accounts created during installation. Note: Deleting an account will not remove data that was already collected by this integration, but will stop further collection of metrics for this account.

## Support{% #support %}

Need help? Contact [Datadog Support](https://app.datadoghq.com/help).

## Further Reading{% #further-reading %}

- [Temporal Cloud OpenMetrics | Temporal Platform Documentation](https://docs.temporal.io/cloud/metrics/openmetrics)
