---
title: Temporal
description: Monitor the health and performance of Temporal Cluster.
breadcrumbs: Docs > Integrations > Temporal
---

> For the complete documentation index, see [llms.txt](https://docs.datadoghq.com/llms.txt).

# Temporal
Supported OS Integration version4.7.1
{% callout %}
# Important note for users on the following Datadog sites: us2.ddog-gov.com

{% alert level="info" %}
To find out if this integration is available in your organization, see your [Datadog Integrations](https://app.datadoghq.com/integrations) page or ask your organization administrator.

To initiate an exception request to enable this integration for your organization, email [support@ddog-gov.com](mailto:support@ddog-gov.com).
{% /alert %}

{% /callout %}

## Overview{% #overview %}

This check monitors [Temporal](https://temporal.io/) through the Datadog Agent.

**Note**: This check can only be installed if you are self-hosting Temporal. **To monitor your Temporal Cloud instance**, follow the [Datadog Temporal Cloud - OpenMetrics integration documentation](https://docs.datadoghq.com/integrations/temporal-cloud-openmetrics.md).

**Minimum Agent version:** 7.45.0

## Setup{% #setup %}

Follow the instructions below to install and configure this check for an Agent running on a host. For containerized environments, see the [Autodiscovery Integration Templates](https://docs.datadoghq.com/agent/kubernetes/integrations.md) for guidance on applying these instructions.

### Installation{% #installation %}

The Temporal check is included in the [Datadog Agent](https://app.datadoghq.com/account/settings/agent/latest) package. No additional installation is needed on your server.

### Configuration{% #configuration %}

{% tab title="Host" %}
#### Host{% #host %}

##### Metric collection{% #metric-collection %}

1. Configure your Temporal services to expose metrics via a `prometheus` endpoint by following the [official Temporal documentation](https://docs.temporal.io/references/configuration#prometheus).

1. Edit the `temporal.d/conf.yaml` file located in the `conf.d/` folder at the root of your Agent's configuration directory to start collecting your Temporal performance data.

Configure the `openmetrics_endpoint` option to match the `listenAddress` and `handlerPath` options from your Temporal server configuration.

   ```yaml
   init_config:
   instances:
     - openmetrics_endpoint: <LISTEN_ADDRESS>/<HANDLER_PATH>
   ```

Note that when Temporal services in a cluster are deployed independently, every service exposes its own metrics. As a result, you need to configure the `prometheus` endpoint for every service that you want to monitor and define a separate `instance` on the integration's configuration for each of them.

##### Log collection{% #log-collection %}

1. Collecting logs is disabled by default in the Datadog Agent. Enable it in your `datadog.yaml` file:

   ```yaml
   logs_enabled: true
   ```

1. Configure your Temporal Cluster to output logs to a file by following the [official documentation](https://docs.temporal.io/references/configuration#log).

1. Uncomment and edit the logs configuration block in your `temporal.d/conf.yaml` file, and set the `path` to point to the file you configured on your Temporal Cluster:

```yaml
logs:
  - type: file
    path: /var/log/temporal/temporal-server.log
    source: temporal
```
[Restart the Agent](https://docs.datadoghq.com/agent/guide/agent-commands.md#start-stop-and-restart-the-agent).
{% /tab %}

{% tab title="Containerized" %}
#### Containerized{% #containerized %}

##### Metric collection{% #metric-collection %}

For containerized environments, refer to [Configure integrations with Autodiscovery on Kubernetes](https://docs.datadoghq.com/containers/kubernetes/integrations.md) or [Configure integrations with Autodiscovery on Docker](https://docs.datadoghq.com/containers/docker/integrations.md) for instructions on using the parameters below. See the [sample temporal.d/conf.yaml](https://github.com/DataDog/integrations-core/blob/master/temporal/datadog_checks/temporal/data/conf.yaml.example) for a complete list of configuration options.

| Parameter            | Value                                                                                                                                                                                                       |
| -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `<INTEGRATION_NAME>` | `temporal`                                                                                                                                                                                                  |
| `<INIT_CONFIG>`      | blank or `{}`                                                                                                                                                                                               |
| `<INSTANCES_CONFIG>` | `{"openmetrics_endpoint": "<LISTEN_ADDRESS>/<HANDLER_PATH>"}`, where `<LISTEN_ADDRESS>` and `<HANDLER_PATH>` are replaced by the `listenAddress` and `handlerPath` from your Temporal server configuration. |

Note that when Temporal services in a cluster are deployed independently, every service exposes its own metrics. As a result, you need to configure the `prometheus` endpoint for every service that you want to monitor and define a separate `instance` on the integration's configuration for each of them.

**Example**

Choose one of the following Kubernetes Autodiscovery configurations, where `<CONTAINER_NAME>` is the name of your Temporal container:

###### Kubernetes annotations{% #kubernetes-annotations %}

```
ad.datadoghq.com/<CONTAINER_NAME>.checks: |
  {
    "temporal": {
      "init_config": {},
      "instances": [{"openmetrics_endpoint": "<LISTEN_ADDRESS>/<HANDLER_PATH>"}]
    }
  } 
```

###### DatadogInstrumentation CRD{% #datadoginstrumentation-crd %}

Temporal services are commonly deployed separately. Create one resource for each service workload that you monitor:

```yaml
apiVersion: datadoghq.com/v1alpha1
kind: DatadogInstrumentation
metadata:
  name: <CR_NAME>
  namespace: <WORKLOAD_NAMESPACE>
spec:
  targetRef:
    apiVersion: apps/v1
    kind: Deployment # Or another target kind, if applicable.
    name: <TEMPORAL_SERVICE_NAME>
  config:
    checks:
      - integration: temporal
        containerName: <CONTAINER_NAME>
        initConfig: {}
        instances:
          - openmetrics_endpoint: "<LISTEN_ADDRESS>/<HANDLER_PATH>"
```

For setup details, see [Configure Autodiscovery with the DatadogInstrumentation CRD](https://docs.datadoghq.com/containers/guide/configure-autodiscovery-with-the-datadoginstrumentation-crd.md).

##### Log collection{% #log-collection %}

Collecting logs is disabled by default in the Datadog Agent. To enable it, see [Docker Log Collection](https://docs.datadoghq.com/containers/docker/log.md) or [Kubernetes Log Collection](https://docs.datadoghq.com/agent/kubernetes/log.md).

Apply the following configuration parameter to `logs`:

| Parameter      | Value                                                                                     |
| -------------- | ----------------------------------------------------------------------------------------- |
| `<LOG_CONFIG>` | `{"source": "temporal", "type": "file", "path": "/var/log/temporal/temporal-server.log"}` |

**Example**

The following Kubernetes annotation is applied to a pod under `metadata`, where `<CONTAINER_NAME>` is the name of your Temporal container (or a [custom identifier](https://docs.datadoghq.com/containers/guide/ad_identifiers.md)):

```gdscript3
ad.datadoghq.com/<CONTAINER_NAME>.logs: |
  [
    {
      "source": "temporal",
      "type": "file",
      "path": "/var/log/temporal/temporal-server.log"
    } 
  ]
```

{% /tab %}

### Validation{% #validation %}

[Run the Agent's status subcommand](https://docs.datadoghq.com/agent/guide/agent-commands.md#agent-status-and-information) and look for `temporal` under the Checks section.

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

### Metrics{% #metrics %}

|  |
|  |
| **temporal.server.accept_workflow_update_message.count**(count)                                  |
| **temporal.server.ack_level.update.count**(count)                                                  |
| **temporal.server.ack_level.update.failed.count**(count)                                           |
| **temporal.server.acquire_lock_failed.count**(count)                                              |
| **temporal.server.acquire_shards.count**(count)                                                    |
| **temporal.server.acquire_shards.latency.bucket**(count)                                           |
| **temporal.server.acquire_shards.latency.count**(count)                                            |
| **temporal.server.acquire_shards.latency.seconds.bucket**(count)                                   |
| **temporal.server.acquire_shards.latency.seconds.count**(count)                                    |
| **temporal.server.acquire_shards.latency.seconds.sum**(count)                                      | *Shown as second*                                                                                                          |
| **temporal.server.acquire_shards.latency.sum**(count)                                              | *Shown as millisecond*                                                                                                     |
| **temporal.server.action.count**(count)                                                             |
| **temporal.server.activity.eager_execution.count**(count)                                          |
| **temporal.server.activity.end_to_end_latency.bucket**(count)                                    |
| **temporal.server.activity.end_to_end_latency.count**(count)                                     |
| **temporal.server.activity.end_to_end_latency.seconds.bucket**(count)                            |
| **temporal.server.activity.end_to_end_latency.seconds.count**(count)                             |
| **temporal.server.activity.end_to_end_latency.seconds.sum**(count)                               | *Shown as second*                                                                                                          |
| **temporal.server.activity.end_to_end_latency.sum**(count)                                       | *Shown as millisecond*                                                                                                     |
| **temporal.server.activity.schedule_to_close_latency.bucket**(count)                             | Duration of activity execution from scheduled time to terminal state. Includes retries and backoffs.                       |
| **temporal.server.activity.schedule_to_close_latency.count**(count)                              | Duration of activity execution from scheduled time to terminal state. Includes retries and backoffs.                       |
| **temporal.server.activity.schedule_to_close_latency.seconds.bucket**(count)                     |
| **temporal.server.activity.schedule_to_close_latency.seconds.count**(count)                      |
| **temporal.server.activity.schedule_to_close_latency.seconds.sum**(count)                        | *Shown as second*                                                                                                          |
| **temporal.server.activity.schedule_to_close_latency.sum**(count)                                | Duration of activity execution from scheduled time to terminal state. Includes retries and backoffs.*Shown as millisecond* |
| **temporal.server.activity.start_to_close_latency.bucket**(count)                                | Duration of a single activity attempt. Does not include retries or backoffs.                                               |
| **temporal.server.activity.start_to_close_latency.count**(count)                                 | Duration of a single activity attempt. Does not include retries or backoffs.                                               |
| **temporal.server.activity.start_to_close_latency.seconds.bucket**(count)                        |
| **temporal.server.activity.start_to_close_latency.seconds.count**(count)                         |
| **temporal.server.activity.start_to_close_latency.seconds.sum**(count)                           | *Shown as second*                                                                                                          |
| **temporal.server.activity.start_to_close_latency.sum**(count)                                   | Duration of a single activity attempt. Does not include retries or backoffs.*Shown as millisecond*                         |
| **temporal.server.activity_info.bucket**(count)                                                    |
| **temporal.server.activity_info.count**(count)                                                     |
| **temporal.server.activity_info.size.bucket**(count)                                               |
| **temporal.server.activity_info.size.count**(count)                                                |
| **temporal.server.activity_info.size.sum**(count)                                                  | *Shown as byte*                                                                                                            |
| **temporal.server.activity_info.sum**(count)                                                       |
| **temporal.server.add_search_attributes.failures.count**(count)                                   |
| **temporal.server.add_search_attributes.workflow_failure**(gauge)                                |
| **temporal.server.add_search_attributes.workflow_failure.count**(count)                          |
| **temporal.server.add_search_attributes.workflow_success.count**(count)                          |
| **temporal.server.approximate_backlog_age_seconds**(gauge)                                       |
| **temporal.server.approximate_backlog_count**(gauge)                                              |
| **temporal.server.archival.task_invalid_uri.count**(count)                                        |
| **temporal.server.archiver.archive.latency.bucket**(count)                                          |
| **temporal.server.archiver.archive.latency.count**(count)                                           |
| **temporal.server.archiver.archive.latency.seconds.bucket**(count)                                  |
| **temporal.server.archiver.archive.latency.seconds.count**(count)                                   |
| **temporal.server.archiver.archive.latency.seconds.sum**(count)                                     | *Shown as second*                                                                                                          |
| **temporal.server.archiver.archive.latency.sum**(count)                                             | *Shown as millisecond*                                                                                                     |
| **temporal.server.archiver.archive.target_latency.bucket**(count)                                  |
| **temporal.server.archiver.archive.target_latency.count**(count)                                   |
| **temporal.server.archiver.archive.target_latency.seconds.bucket**(count)                          |
| **temporal.server.archiver.archive.target_latency.seconds.count**(count)                           |
| **temporal.server.archiver.archive.target_latency.seconds.sum**(count)                             | *Shown as second*                                                                                                          |
| **temporal.server.archiver.archive.target_latency.sum**(count)                                     | *Shown as millisecond*                                                                                                     |
| **temporal.server.archiver.backlog.size.count**(count)                                              |
| **temporal.server.archiver.client.history.inline_archive.attempt.count**(count)                    |
| **temporal.server.archiver.client.history.inline_archive.failure.count**(count)                    |
| **temporal.server.archiver.client.history.request.count**(count)                                    |
| **temporal.server.archiver.client.send_signal_error.count**(count)                                |
| **temporal.server.archiver.client.sent_signal.count**(count)                                       |
| **temporal.server.archiver.client.visibility.inline_archive_attempt.count**(count)                |
| **temporal.server.archiver.client.visibility.inline_archive_failure.count**(count)                |
| **temporal.server.archiver.client.visibility.request.count**(count)                                 |
| **temporal.server.archiver.coroutine.started.count**(count)                                         |
| **temporal.server.archiver.coroutine.stopped.count**(count)                                         |
| **temporal.server.archiver.delete.failed_all_retries.count**(count)                               |
| **temporal.server.archiver.delete.success.count**(count)                                            |
| **temporal.server.archiver.delete.with_retries.latency.bucket**(count)                             |
| **temporal.server.archiver.delete.with_retries.latency.count**(count)                              |
| **temporal.server.archiver.delete.with_retries.latency.sum**(count)                                | *Shown as millisecond*                                                                                                     |
| **temporal.server.archiver.handle_all_requests_latency.bucket**(count)                           |
| **temporal.server.archiver.handle_all_requests_latency.count**(count)                            |
| **temporal.server.archiver.handle_all_requests_latency.sum**(count)                              | *Shown as millisecond*                                                                                                     |
| **temporal.server.archiver.handle_history.request.latency.bucket**(count)                          |
| **temporal.server.archiver.handle_history.request.latency.count**(count)                           |
| **temporal.server.archiver.handle_history.request.latency.sum**(count)                             | *Shown as millisecond*                                                                                                     |
| **temporal.server.archiver.handle_visibility.failed_all_retries.count**(count)                   |
| **temporal.server.archiver.handle_visibility.request.latency.bucket**(count)                       |
| **temporal.server.archiver.handle_visibility.request.latency.count**(count)                        |
| **temporal.server.archiver.handle_visibility.request.latency.sum**(count)                          | *Shown as millisecond*                                                                                                     |
| **temporal.server.archiver.handle_visibility.success.count**(count)                                |
| **temporal.server.archiver.non_retryable_error.count**(count)                                     |
| **temporal.server.archiver.num_handled_requests.count**(count)                                    |
| **temporal.server.archiver.num_pumped_requests.count**(count)                                     |
| **temporal.server.archiver.pump.signal_channel_closed.count**(count)                              |
| **temporal.server.archiver.pump.signal_threshold.count**(count)                                    |
| **temporal.server.archiver.pump.timeout.count**(count)                                              |
| **temporal.server.archiver.pump.timeout_without_signals.count**(count)                            |
| **temporal.server.archiver.pumped_not_equal_handled.count**(count)                               |
| **temporal.server.archiver.started.count**(count)                                                   |
| **temporal.server.archiver.stopped.count**(count)                                                   |
| **temporal.server.archiver.upload.failed_all_retries.count**(count)                               |
| **temporal.server.archiver.upload.success.count**(count)                                            |
| **temporal.server.archiver.upload.with_retries.latency.bucket**(count)                             |
| **temporal.server.archiver.upload.with_retries.latency.count**(count)                              |
| **temporal.server.archiver.upload.with_retries.latency.sum**(count)                                | *Shown as millisecond*                                                                                                     |
| **temporal.server.archiver.workflow.started.count**(count)                                          |
| **temporal.server.archiver.workflow.stopping.count**(count)                                         |
| **temporal.server.asyncmatch.latency.bucket**(count)                                                | Distribution of latencies from creation to delivery for async matched tasks.                                               |
| **temporal.server.asyncmatch.latency.count**(count)                                                 | Count of latencies from creation to delivery for async matched tasks.                                                      |
| **temporal.server.asyncmatch.latency.seconds.bucket**(count)                                        |
| **temporal.server.asyncmatch.latency.seconds.count**(count)                                         |
| **temporal.server.asyncmatch.latency.seconds.sum**(count)                                           | *Shown as second*                                                                                                          |
| **temporal.server.asyncmatch.latency.sum**(count)                                                   | Sum of time latencies creation to delivery for async matched tasks.*Shown as millisecond*                                  |
| **temporal.server.auto_reset_point.corruption.count**(count)                                      |
| **temporal.server.auto_reset_points.exceed_limit.count**(count)                                  |
| **temporal.server.batchable_task.batch_count**(gauge)                                             |
| **temporal.server.batcher.operation_errors.count**(count)                                          |
| **temporal.server.batcher.processor_errors.count**(count)                                          |
| **temporal.server.batcher.processor_requests.count**(count)                                        |
| **temporal.server.buffer_replication_tasks.bucket**(count)                                        |
| **temporal.server.buffer_replication_tasks.count**(count)                                         |
| **temporal.server.buffer_replication_tasks.sum**(count)                                           | *Shown as millisecond*                                                                                                     |
| **temporal.server.buffer_throttle.count**(count)                                                   |
| **temporal.server.buffered_events.bucket**(count)                                                  |
| **temporal.server.buffered_events.count**(count)                                                   |
| **temporal.server.buffered_events.size.bucket**(count)                                             |
| **temporal.server.buffered_events.size.count**(count)                                              |
| **temporal.server.buffered_events.size.sum**(count)                                                | *Shown as byte*                                                                                                            |
| **temporal.server.buffered_events.sum**(count)                                                     |
| **temporal.server.cache.entry_age_on_eviction.bucket**(count)                                    |
| **temporal.server.cache.entry_age_on_eviction.count**(count)                                     |
| **temporal.server.cache.entry_age_on_eviction.seconds.bucket**(count)                            |
| **temporal.server.cache.entry_age_on_eviction.seconds.count**(count)                             |
| **temporal.server.cache.entry_age_on_eviction.seconds.sum**(count)                               | *Shown as second*                                                                                                          |
| **temporal.server.cache.entry_age_on_eviction.sum**(count)                                       | *Shown as millisecond*                                                                                                     |
| **temporal.server.cache.entry_age_on_get.bucket**(count)                                         |
| **temporal.server.cache.entry_age_on_get.count**(count)                                          |
| **temporal.server.cache.entry_age_on_get.seconds.bucket**(count)                                 |
| **temporal.server.cache.entry_age_on_get.seconds.count**(count)                                  |
| **temporal.server.cache.entry_age_on_get.seconds.sum**(count)                                    | *Shown as second*                                                                                                          |
| **temporal.server.cache.entry_age_on_get.sum**(count)                                            | *Shown as millisecond*                                                                                                     |
| **temporal.server.cache.errors.count**(count)                                                       |
| **temporal.server.cache.latency.bucket**(count)                                                     |
| **temporal.server.cache.latency.count**(count)                                                      |
| **temporal.server.cache.latency.seconds.bucket**(count)                                             |
| **temporal.server.cache.latency.seconds.count**(count)                                              |
| **temporal.server.cache.latency.seconds.sum**(count)                                                | *Shown as second*                                                                                                          |
| **temporal.server.cache.latency.sum**(count)                                                        | *Shown as millisecond*                                                                                                     |
| **temporal.server.cache.miss.count**(count)                                                         |
| **temporal.server.cache.pinned_usage**(gauge)                                                      |
| **temporal.server.cache.requests.count**(count)                                                     |
| **temporal.server.cache.size**(gauge)                                                               |
| **temporal.server.cache.ttl.bucket**(count)                                                         |
| **temporal.server.cache.ttl.count**(count)                                                          |
| **temporal.server.cache.ttl.seconds.bucket**(count)                                                 |
| **temporal.server.cache.ttl.seconds.count**(count)                                                  |
| **temporal.server.cache.ttl.seconds.sum**(count)                                                    | *Shown as second*                                                                                                          |
| **temporal.server.cache.ttl.sum**(count)                                                            | *Shown as millisecond*                                                                                                     |
| **temporal.server.cache.usage**(gauge)                                                              |
| **temporal.server.cache_entry.age_on_eviction.bucket**(count)                                    |
| **temporal.server.cache_entry.age_on_eviction.count**(count)                                     |
| **temporal.server.cache_entry.age_on_eviction.sum**(count)                                       | *Shown as millisecond*                                                                                                     |
| **temporal.server.cache_entry.age_on_get.bucket**(count)                                         |
| **temporal.server.cache_entry.age_on_get.count**(count)                                          |
| **temporal.server.cache_entry.age_on_get.sum**(count)                                            | *Shown as millisecond*                                                                                                     |
| **temporal.server.cancel_activity_command.count**(count)                                          |
| **temporal.server.cancel_external_workflow_command.count**(count)                                |
| **temporal.server.cancel_timer_command.count**(count)                                             |
| **temporal.server.cancel_workflow_command.count**(count)                                          |
| **temporal.server.cassandra.init_session.latency.bucket**(count)                                   |
| **temporal.server.cassandra.init_session.latency.count**(count)                                    |
| **temporal.server.cassandra.init_session.latency.sum**(count)                                      | *Shown as millisecond*                                                                                                     |
| **temporal.server.cassandra.init_session_latency.bucket**(count)                                  |
| **temporal.server.cassandra.init_session_latency.count**(count)                                   |
| **temporal.server.cassandra.init_session_latency.seconds.bucket**(count)                          |
| **temporal.server.cassandra.init_session_latency.seconds.count**(count)                           |
| **temporal.server.cassandra.init_session_latency.seconds.sum**(count)                             | *Shown as second*                                                                                                          |
| **temporal.server.cassandra.init_session_latency.sum**(count)                                     | *Shown as millisecond*                                                                                                     |
| **temporal.server.cassandra.session_refresh.failures.count**(count)                                |
| **temporal.server.catchup.ready_shard_count**(gauge)                                              |
| **temporal.server.certificates.expired**(gauge)                                                     |
| **temporal.server.certificates.expiring**(gauge)                                                    |
| **temporal.server.chasm.total_size.bucket**(count)                                                 |
| **temporal.server.chasm.total_size.count**(count)                                                  |
| **temporal.server.chasm.total_size.sum**(count)                                                    | *Shown as byte*                                                                                                            |
| **temporal.server.child_info.bucket**(count)                                                       |
| **temporal.server.child_info.count**(count)                                                        |
| **temporal.server.child_info.size.bucket**(count)                                                  |
| **temporal.server.child_info.size.count**(count)                                                   |
| **temporal.server.child_info.size.sum**(count)                                                     | *Shown as byte*                                                                                                            |
| **temporal.server.child_info.sum**(count)                                                          |
| **temporal.server.child_workflow_command.count**(count)                                           |
| **temporal.server.circuit_breaker.executable_blocked.count**(count)                               |
| **temporal.server.client.errors.count**(count)                                                      | An indicator for connection issues between different Server roles.                                                         |
| **temporal.server.client.latency.bucket**(count)                                                    |
| **temporal.server.client.latency.count**(count)                                                     |
| **temporal.server.client.latency.seconds.bucket**(count)                                            |
| **temporal.server.client.latency.seconds.count**(count)                                             |
| **temporal.server.client.latency.seconds.sum**(count)                                               | *Shown as second*                                                                                                          |
| **temporal.server.client.latency.sum**(count)                                                       | *Shown as millisecond*                                                                                                     |
| **temporal.server.client.redirection.errors.count**(count)                                          |
| **temporal.server.client.redirection.latency.bucket**(count)                                        |
| **temporal.server.client.redirection.latency.count**(count)                                         |
| **temporal.server.client.redirection.latency.seconds.bucket**(count)                                |
| **temporal.server.client.redirection.latency.seconds.count**(count)                                 |
| **temporal.server.client.redirection.latency.seconds.sum**(count)                                   | *Shown as second*                                                                                                          |
| **temporal.server.client.redirection.latency.sum**(count)                                           | *Shown as millisecond*                                                                                                     |
| **temporal.server.client.redirection.requests.count**(count)                                        |
| **temporal.server.client.requests.count**(count)                                                    |
| **temporal.server.closed_workflow_buffer_event_counter.count**(count)                           |
| **temporal.server.cluster_metadata.callback.lock_latency.bucket**(count)                          |
| **temporal.server.cluster_metadata.callback.lock_latency.count**(count)                           |
| **temporal.server.cluster_metadata.callback.lock_latency.sum**(count)                             | *Shown as millisecond*                                                                                                     |
| **temporal.server.cluster_metadata.lock_latency.bucket**(count)                                   |
| **temporal.server.cluster_metadata.lock_latency.count**(count)                                    |
| **temporal.server.cluster_metadata.lock_latency.sum**(count)                                      | *Shown as millisecond*                                                                                                     |
| **temporal.server.command.count**(count)                                                            |
| **temporal.server.complete_task_fail.count**(count)                                               |
| **temporal.server.complete_workflow_command.count**(count)                                        |
| **temporal.server.complete_workflow_task_sticky.disabled.count**(count)                          |
| **temporal.server.complete_workflow_task_sticky.enabled.count**(count)                           |
| **temporal.server.complete_workflow_update_message.count**(count)                                |
| **temporal.server.concurrency_update_failure.count**(count)                                       |
| **temporal.server.condition_failed_errors.count**(count)                                          |
| **temporal.server.consistent_query_timeout.count**(count)                                         |
| **temporal.server.continue_as_new_command.count**(count)                                         |
| **temporal.server.count_executions.failures.count**(count)                                         |
| **temporal.server.dd.cluster_metadata.callback_lock.latency.bucket**(count)                       |
| **temporal.server.dd.cluster_metadata.callback_lock.latency.count**(count)                        |
| **temporal.server.dd.cluster_metadata.callback_lock.latency.sum**(count)                          | *Shown as millisecond*                                                                                                     |
| **temporal.server.dd.cluster_metadata.callback_lock_latency.bucket**(count)                      |
| **temporal.server.dd.cluster_metadata.callback_lock_latency.count**(count)                       |
| **temporal.server.dd.cluster_metadata.callback_lock_latency.seconds.bucket**(count)              |
| **temporal.server.dd.cluster_metadata.callback_lock_latency.seconds.count**(count)               |
| **temporal.server.dd.cluster_metadata.callback_lock_latency.seconds.sum**(count)                 | *Shown as second*                                                                                                          |
| **temporal.server.dd.cluster_metadata.callback_lock_latency.sum**(count)                         | *Shown as millisecond*                                                                                                     |
| **temporal.server.dd.cluster_metadata.lock_latency.bucket**(count)                                |
| **temporal.server.dd.cluster_metadata.lock_latency.count**(count)                                 |
| **temporal.server.dd.cluster_metadata.lock_latency.seconds.bucket**(count)                        |
| **temporal.server.dd.cluster_metadata.lock_latency.seconds.count**(count)                         |
| **temporal.server.dd.cluster_metadata.lock_latency.seconds.sum**(count)                           | *Shown as second*                                                                                                          |
| **temporal.server.dd.cluster_metadata.lock_latency.sum**(count)                                   | *Shown as millisecond*                                                                                                     |
| **temporal.server.dd.cluster_metadata_lock_latency.bucket**(count)                               |
| **temporal.server.dd.cluster_metadata_lock_latency.count**(count)                                |
| **temporal.server.dd.cluster_metadata_lock_latency.sum**(count)                                  | *Shown as millisecond*                                                                                                     |
| **temporal.server.dd.current_suspected_deadlocks**(gauge)                                         |
| **temporal.server.dd.namespace_registry.lock_latency.bucket**(count)                              |
| **temporal.server.dd.namespace_registry.lock_latency.count**(count)                               |
| **temporal.server.dd.namespace_registry.lock_latency.seconds.bucket**(count)                      |
| **temporal.server.dd.namespace_registry.lock_latency.seconds.count**(count)                       |
| **temporal.server.dd.namespace_registry.lock_latency.seconds.sum**(count)                         | *Shown as second*                                                                                                          |
| **temporal.server.dd.namespace_registry.lock_latency.sum**(count)                                 | *Shown as millisecond*                                                                                                     |
| **temporal.server.dd.namespace_registry_lock_latency.bucket**(count)                             |
| **temporal.server.dd.namespace_registry_lock_latency.count**(count)                              |
| **temporal.server.dd.namespace_registry_lock_latency.sum**(count)                                | *Shown as millisecond*                                                                                                     |
| **temporal.server.dd.shard.io_semaphore_latency.bucket**(count)                                   |
| **temporal.server.dd.shard.io_semaphore_latency.count**(count)                                    |
| **temporal.server.dd.shard.io_semaphore_latency.seconds.bucket**(count)                           |
| **temporal.server.dd.shard.io_semaphore_latency.seconds.count**(count)                            |
| **temporal.server.dd.shard.io_semaphore_latency.seconds.sum**(count)                              | *Shown as second*                                                                                                          |
| **temporal.server.dd.shard.io_semaphore_latency.sum**(count)                                      | *Shown as millisecond*                                                                                                     |
| **temporal.server.dd.shard.lock_latency.bucket**(count)                                            |
| **temporal.server.dd.shard.lock_latency.count**(count)                                             |
| **temporal.server.dd.shard.lock_latency.seconds.bucket**(count)                                    |
| **temporal.server.dd.shard.lock_latency.seconds.count**(count)                                     |
| **temporal.server.dd.shard.lock_latency.seconds.sum**(count)                                       | *Shown as second*                                                                                                          |
| **temporal.server.dd.shard.lock_latency.sum**(count)                                               | *Shown as millisecond*                                                                                                     |
| **temporal.server.dd.shard_controller.lock_latency.bucket**(count)                                |
| **temporal.server.dd.shard_controller.lock_latency.count**(count)                                 |
| **temporal.server.dd.shard_controller.lock_latency.seconds.bucket**(count)                        |
| **temporal.server.dd.shard_controller.lock_latency.seconds.count**(count)                         |
| **temporal.server.dd.shard_controller.lock_latency.seconds.sum**(count)                           | *Shown as second*                                                                                                          |
| **temporal.server.dd.shard_controller.lock_latency.sum**(count)                                   | *Shown as millisecond*                                                                                                     |
| **temporal.server.dd.shard_controller_lock_latency.bucket**(count)                               |
| **temporal.server.dd.shard_controller_lock_latency.count**(count)                                |
| **temporal.server.dd.shard_controller_lock_latency.sum**(count)                                  | *Shown as millisecond*                                                                                                     |
| **temporal.server.dd.shard_io_semaphore_latency.bucket**(count)                                  |
| **temporal.server.dd.shard_io_semaphore_latency.count**(count)                                   |
| **temporal.server.dd.shard_io_semaphore_latency.sum**(count)                                     | *Shown as millisecond*                                                                                                     |
| **temporal.server.dd.shard_lock_latency.bucket**(count)                                           |
| **temporal.server.dd.shard_lock_latency.count**(count)                                            |
| **temporal.server.dd.shard_lock_latency.sum**(count)                                              | *Shown as millisecond*                                                                                                     |
| **temporal.server.dd.suspected_deadlocks.count**(count)                                            |
| **temporal.server.delete_execution.failures.count**(count)                                         |
| **temporal.server.delete_execution.not_found.count**(count)                                       |
| **temporal.server.delete_executions.failure.count**(count)                                         |
| **temporal.server.delete_executions.not_found.count**(count)                                      |
| **temporal.server.delete_executions.success.count**(count)                                         |
| **temporal.server.delete_namespace.failures.count**(count)                                         |
| **temporal.server.delete_namespace.success.count**(count)                                          |
| **temporal.server.delete_namespace.workflow_failure.count**(count)                                |
| **temporal.server.delete_namespace.workflow_success.count**(count)                                |
| **temporal.server.direct_query_dispatch.clear_stickiness.latency.bucket**(count)                 |
| **temporal.server.direct_query_dispatch.clear_stickiness.latency.count**(count)                  |
| **temporal.server.direct_query_dispatch.clear_stickiness.latency.seconds.bucket**(count)         |
| **temporal.server.direct_query_dispatch.clear_stickiness.latency.seconds.count**(count)          |
| **temporal.server.direct_query_dispatch.clear_stickiness.latency.seconds.sum**(count)            | *Shown as second*                                                                                                          |
| **temporal.server.direct_query_dispatch.clear_stickiness.latency.sum**(count)                    | *Shown as millisecond*                                                                                                     |
| **temporal.server.direct_query_dispatch.clear_stickiness.success.count**(count)                  |
| **temporal.server.direct_query_dispatch.latency.bucket**(count)                                   |
| **temporal.server.direct_query_dispatch.latency.count**(count)                                    |
| **temporal.server.direct_query_dispatch.latency.seconds.bucket**(count)                           |
| **temporal.server.direct_query_dispatch.latency.seconds.count**(count)                            |
| **temporal.server.direct_query_dispatch.latency.seconds.sum**(count)                              | *Shown as second*                                                                                                          |
| **temporal.server.direct_query_dispatch.latency.sum**(count)                                      | *Shown as millisecond*                                                                                                     |
| **temporal.server.direct_query_dispatch.non_sticky.latency.bucket**(count)                       |
| **temporal.server.direct_query_dispatch.non_sticky.latency.count**(count)                        |
| **temporal.server.direct_query_dispatch.non_sticky.latency.seconds.bucket**(count)               |
| **temporal.server.direct_query_dispatch.non_sticky.latency.seconds.count**(count)                |
| **temporal.server.direct_query_dispatch.non_sticky.latency.seconds.sum**(count)                  | *Shown as second*                                                                                                          |
| **temporal.server.direct_query_dispatch.non_sticky.latency.sum**(count)                          | *Shown as millisecond*                                                                                                     |
| **temporal.server.direct_query_dispatch.non_sticky.success.count**(count)                        |
| **temporal.server.direct_query_dispatch.sticky.latency.bucket**(count)                            |
| **temporal.server.direct_query_dispatch.sticky.latency.count**(count)                             |
| **temporal.server.direct_query_dispatch.sticky.latency.seconds.bucket**(count)                    |
| **temporal.server.direct_query_dispatch.sticky.latency.seconds.count**(count)                     |
| **temporal.server.direct_query_dispatch.sticky.latency.seconds.sum**(count)                       | *Shown as second*                                                                                                          |
| **temporal.server.direct_query_dispatch.sticky.latency.sum**(count)                               | *Shown as millisecond*                                                                                                     |
| **temporal.server.direct_query_dispatch.sticky.success.count**(count)                             |
| **temporal.server.direct_query_dispatch.timeout_before_non_sticky.count**(count)               |
| **temporal.server.dlq.message_count**(gauge)                                                       |
| **temporal.server.dlq_writes.count**(count)                                                        |
| **temporal.server.duplicate_replication_events.count**(count)                                     |
| **temporal.server.dynamic_rate_limit_multiplier**(gauge)                                         |
| **temporal.server.dynamic_worker_pool_scheduler.active_workers**(gauge)                         |
| **temporal.server.dynamic_worker_pool_scheduler.buffer_size**(gauge)                            |
| **temporal.server.dynamic_worker_pool_scheduler.dequeued_tasks.count**(count)                   |
| **temporal.server.dynamic_worker_pool_scheduler.enqueued_tasks.count**(count)                   |
| **temporal.server.dynamic_worker_pool_scheduler.rejected_tasks.count**(count)                   |
| **temporal.server.elasticsearch.bulk_processor.bulk_request_took.latency.bucket**(count)         |
| **temporal.server.elasticsearch.bulk_processor.bulk_request_took.latency.count**(count)          |
| **temporal.server.elasticsearch.bulk_processor.bulk_request_took.latency.seconds.bucket**(count) |
| **temporal.server.elasticsearch.bulk_processor.bulk_request_took.latency.seconds.count**(count)  |
| **temporal.server.elasticsearch.bulk_processor.bulk_request_took.latency.seconds.sum**(count)    | *Shown as second*                                                                                                          |
| **temporal.server.elasticsearch.bulk_processor.bulk_request_took.latency.sum**(count)            | *Shown as millisecond*                                                                                                     |
| **temporal.server.elasticsearch.bulk_processor.bulk_request_took_latency.bucket**(count)        |
| **temporal.server.elasticsearch.bulk_processor.bulk_request_took_latency.count**(count)         |
| **temporal.server.elasticsearch.bulk_processor.bulk_request_took_latency.sum**(count)           | *Shown as millisecond*                                                                                                     |
| **temporal.server.elasticsearch.bulk_processor.bulk_size.bucket**(count)                          |
| **temporal.server.elasticsearch.bulk_processor.bulk_size.count**(count)                           |
| **temporal.server.elasticsearch.bulk_processor.bulk_size.sum**(count)                             |
| **temporal.server.elasticsearch.bulk_processor.commit.latency.bucket**(count)                      |
| **temporal.server.elasticsearch.bulk_processor.commit.latency.count**(count)                       |
| **temporal.server.elasticsearch.bulk_processor.commit.latency.seconds.bucket**(count)              |
| **temporal.server.elasticsearch.bulk_processor.commit.latency.seconds.count**(count)               |
| **temporal.server.elasticsearch.bulk_processor.commit.latency.seconds.sum**(count)                 | *Shown as second*                                                                                                          |
| **temporal.server.elasticsearch.bulk_processor.commit.latency.sum**(count)                         | *Shown as millisecond*                                                                                                     |
| **temporal.server.elasticsearch.bulk_processor.corrupted_data.count**(count)                      |
| **temporal.server.elasticsearch.bulk_processor.duplicate_request.count**(count)                   |
| **temporal.server.elasticsearch.bulk_processor.errors.count**(count)                               |
| **temporal.server.elasticsearch.bulk_processor.queued_requests.bucket**(count)                    |
| **temporal.server.elasticsearch.bulk_processor.queued_requests.count**(count)                     |
| **temporal.server.elasticsearch.bulk_processor.queued_requests.sum**(count)                       |
| **temporal.server.elasticsearch.bulk_processor.request.latency.bucket**(count)                     |
| **temporal.server.elasticsearch.bulk_processor.request.latency.count**(count)                      |
| **temporal.server.elasticsearch.bulk_processor.request.latency.seconds.bucket**(count)             |
| **temporal.server.elasticsearch.bulk_processor.request.latency.seconds.count**(count)              |
| **temporal.server.elasticsearch.bulk_processor.request.latency.seconds.sum**(count)                | *Shown as second*                                                                                                          |
| **temporal.server.elasticsearch.bulk_processor.request.latency.sum**(count)                        | *Shown as millisecond*                                                                                                     |
| **temporal.server.elasticsearch.bulk_processor.requests.count**(count)                             |
| **temporal.server.elasticsearch.bulk_processor.wait_add.latency.bucket**(count)                   |
| **temporal.server.elasticsearch.bulk_processor.wait_add.latency.count**(count)                    |
| **temporal.server.elasticsearch.bulk_processor.wait_add.latency.seconds.bucket**(count)           |
| **temporal.server.elasticsearch.bulk_processor.wait_add.latency.seconds.count**(count)            |
| **temporal.server.elasticsearch.bulk_processor.wait_add.latency.seconds.sum**(count)              | *Shown as second*                                                                                                          |
| **temporal.server.elasticsearch.bulk_processor.wait_add.latency.sum**(count)                      | *Shown as millisecond*                                                                                                     |
| **temporal.server.elasticsearch.bulk_processor.wait_start.latency.bucket**(count)                 |
| **temporal.server.elasticsearch.bulk_processor.wait_start.latency.count**(count)                  |
| **temporal.server.elasticsearch.bulk_processor.wait_start.latency.seconds.bucket**(count)         |
| **temporal.server.elasticsearch.bulk_processor.wait_start.latency.seconds.count**(count)          |
| **temporal.server.elasticsearch.bulk_processor.wait_start.latency.seconds.sum**(count)            | *Shown as second*                                                                                                          |
| **temporal.server.elasticsearch.bulk_processor.wait_start.latency.sum**(count)                    | *Shown as millisecond*                                                                                                     |
| **temporal.server.elasticsearch.bulk_processor_retries.count**(count)                             |
| **temporal.server.elasticsearch.custom_order_by_clause_counter.count**(count)                   |
| **temporal.server.elasticsearch.document.generate_failures_counter.count**(count)                 |
| **temporal.server.elasticsearch.document.parse_failures_counter.count**(count)                    |
| **temporal.server.empty_completion_commands.count**(count)                                        |
| **temporal.server.empty_replication_events.count**(count)                                         |
| **temporal.server.encounter_not_found_workflow_count.count**(count)                             |
| **temporal.server.encounter_pass_retention_workflow_count.count**(count)                        |
| **temporal.server.encounter_zombie_workflow_count.count**(count)                                 |
| **temporal.server.event.blob_size.bucket**(count)                                                  |
| **temporal.server.event.blob_size.count**(count)                                                   |
| **temporal.server.event.blob_size.sum**(count)                                                     | *Shown as byte*                                                                                                            |
| **temporal.server.event.reapply_skipped.count**(count)                                             |
| **temporal.server.execution_info.size.bucket**(count)                                              |
| **temporal.server.execution_info.size.count**(count)                                               |
| **temporal.server.execution_info.size.sum**(count)                                                 | *Shown as byte*                                                                                                            |
| **temporal.server.execution_state.size.bucket**(count)                                             |
| **temporal.server.execution_state.size.count**(count)                                              |
| **temporal.server.execution_state.size.sum**(count)                                                | *Shown as byte*                                                                                                            |
| **temporal.server.executions_outstanding**(gauge)                                                  |
| **temporal.server.executor.deferred.count**(count)                                                  |
| **temporal.server.executor.done.count**(count)                                                      |
| **temporal.server.executor.dropped.count**(count)                                                   |
| **temporal.server.executor.err.count**(count)                                                       |
| **temporal.server.external_payload.upload_size.bucket**(count)                                    |
| **temporal.server.external_payload.upload_size.count**(count)                                     |
| **temporal.server.external_payload.upload_size.sum**(count)                                       | *Shown as byte*                                                                                                            |
| **temporal.server.fail_workflow_command.count**(count)                                            |
| **temporal.server.failed_workflow_tasks.count**(count)                                            |
| **temporal.server.finalizer.items_completed.count**(count)                                         |
| **temporal.server.finalizer.items_unfinished.count**(count)                                        |
| **temporal.server.finalizer.latency.bucket**(count)                                                 |
| **temporal.server.finalizer.latency.count**(count)                                                  |
| **temporal.server.finalizer.latency.seconds.bucket**(count)                                         |
| **temporal.server.finalizer.latency.seconds.count**(count)                                          |
| **temporal.server.finalizer.latency.seconds.sum**(count)                                            | *Shown as second*                                                                                                          |
| **temporal.server.finalizer.latency.sum**(count)                                                    | *Shown as millisecond*                                                                                                     |
| **temporal.server.force_loaded_task_queue_partition_unnecessarily_count.count**(count)        |
| **temporal.server.force_loaded_task_queue_partitions_count.count**(count)                      |
| **temporal.server.forward_poll.calls.count**(count)                                                |
| **temporal.server.forward_poll.errors.count**(count)                                               |
| **temporal.server.forward_poll.latency.bucket**(count)                                             |
| **temporal.server.forward_poll.latency.count**(count)                                              |
| **temporal.server.forward_poll.latency.sum**(count)                                                | *Shown as millisecond*                                                                                                     |
| **temporal.server.forward_query.calls.count**(count)                                               |
| **temporal.server.forward_query.errors.count**(count)                                              |
| **temporal.server.forward_query.latency.bucket**(count)                                            |
| **temporal.server.forward_query.latency.count**(count)                                             |
| **temporal.server.forward_query.latency.sum**(count)                                               | *Shown as millisecond*                                                                                                     |
| **temporal.server.forward_task.calls.count**(count)                                                |
| **temporal.server.forward_task.errors.count**(count)                                               |
| **temporal.server.forward_task.latency.bucket**(count)                                             |
| **temporal.server.forward_task.latency.count**(count)                                              |
| **temporal.server.forward_task.latency.sum**(count)                                                | *Shown as millisecond*                                                                                                     |
| **temporal.server.forwarded.count**(count)                                                          |
| **temporal.server.forwarded_per_tl.count**(count)                                                 |
| **temporal.server.generate_replication_tasks.latency.bucket**(count)                              |
| **temporal.server.generate_replication_tasks.latency.count**(count)                               |
| **temporal.server.generate_replication_tasks.latency.seconds.bucket**(count)                      |
| **temporal.server.generate_replication_tasks.latency.seconds.count**(count)                       |
| **temporal.server.generate_replication_tasks.latency.seconds.sum**(count)                         | *Shown as second*                                                                                                          |
| **temporal.server.generate_replication_tasks.latency.sum**(count)                                 | *Shown as millisecond*                                                                                                     |
| **temporal.server.generate_replication_tasks_latency.bucket**(count)                             |
| **temporal.server.generate_replication_tasks_latency.count**(count)                              |
| **temporal.server.generate_replication_tasks_latency.sum**(count)                                | *Shown as millisecond*                                                                                                     |
| **temporal.server.get_dlq_replication_messages.bucket**(count)                                   |
| **temporal.server.get_dlq_replication_messages.count**(count)                                    |
| **temporal.server.get_dlq_replication_messages.sum**(count)                                      | *Shown as millisecond*                                                                                                     |
| **temporal.server.get_engine_for_shard.errors.count**(count)                                     |
| **temporal.server.get_engine_for_shard.latency.bucket**(count)                                   |
| **temporal.server.get_engine_for_shard.latency.count**(count)                                    |
| **temporal.server.get_engine_for_shard.latency.seconds.bucket**(count)                           |
| **temporal.server.get_engine_for_shard.latency.seconds.count**(count)                            |
| **temporal.server.get_engine_for_shard.latency.seconds.sum**(count)                              | *Shown as second*                                                                                                          |
| **temporal.server.get_engine_for_shard.latency.sum**(count)                                      | *Shown as millisecond*                                                                                                     |
| **temporal.server.get_replication_messages_for_shard.bucket**(count)                            |
| **temporal.server.get_replication_messages_for_shard.count**(count)                             |
| **temporal.server.get_replication_messages_for_shard.sum**(count)                               | *Shown as millisecond*                                                                                                     |
| **temporal.server.gomaxprocs**(gauge)                                                               |
| **temporal.server.handover.ready_shard_count**(gauge)                                             |
| **temporal.server.handover.wait_latency.bucket**(count)                                            |
| **temporal.server.handover.wait_latency.count**(count)                                             |
| **temporal.server.handover.wait_latency.seconds.bucket**(count)                                    |
| **temporal.server.handover.wait_latency.seconds.count**(count)                                     |
| **temporal.server.handover.wait_latency.seconds.sum**(count)                                       | *Shown as second*                                                                                                          |
| **temporal.server.handover.wait_latency.sum**(count)                                               | *Shown as millisecond*                                                                                                     |
| **temporal.server.header.size.bucket**(count)                                                       |
| **temporal.server.header.size.count**(count)                                                        |
| **temporal.server.header.size.sum**(count)                                                          | *Shown as byte*                                                                                                            |
| **temporal.server.heartbeat.timeout.count**(count)                                                  |
| **temporal.server.history.archiver.archive.non_retryable_error.count**(count)                     |
| **temporal.server.history.archiver.archive.success.count**(count)                                   |
| **temporal.server.history.archiver.archive.transient_error.count**(count)                          |
| **temporal.server.history.archiver.blob_exists.count**(count)                                      |
| **temporal.server.history.archiver.blob_integrity_check_failed.count**(count)                    |
| **temporal.server.history.archiver.blob_size.bucket**(count)                                       |
| **temporal.server.history.archiver.blob_size.count**(count)                                        |
| **temporal.server.history.archiver.blob_size.sum**(count)                                          | *Shown as byte*                                                                                                            |
| **temporal.server.history.archiver.deterministic_construction_check_failed.count**(count)        |
| **temporal.server.history.archiver.duplicate_archivals.count**(count)                              |
| **temporal.server.history.archiver.history_mutated.count**(count)                                  |
| **temporal.server.history.archiver.history_size.bucket**(count)                                    |
| **temporal.server.history.archiver.history_size.count**(count)                                     |
| **temporal.server.history.archiver.history_size.sum**(count)                                       | *Shown as byte*                                                                                                            |
| **temporal.server.history.archiver.running_blob_integrity_check.count**(count)                   |
| **temporal.server.history.archiver.running_deterministic_construction_check.count**(count)       |
| **temporal.server.history.archiver.total_upload_size.bucket**(count)                              |
| **temporal.server.history.archiver.total_upload_size.count**(count)                               |
| **temporal.server.history.archiver.total_upload_size.sum**(count)                                 | *Shown as byte*                                                                                                            |
| **temporal.server.history.bucket**(count)                                                           |
| **temporal.server.history.conflicts.count**(count)                                                  |
| **temporal.server.history.count**(count)                                                            |
| **temporal.server.history.event_notification.fail_delivery.count**(count)                         |
| **temporal.server.history.event_notification.fanout_latency.bucket**(count)                       |
| **temporal.server.history.event_notification.fanout_latency.count**(count)                        |
| **temporal.server.history.event_notification.fanout_latency.seconds.bucket**(count)               |
| **temporal.server.history.event_notification.fanout_latency.seconds.count**(count)                |
| **temporal.server.history.event_notification.fanout_latency.seconds.sum**(count)                  | *Shown as second*                                                                                                          |
| **temporal.server.history.event_notification.fanout_latency.sum**(count)                          | *Shown as millisecond*                                                                                                     |
| **temporal.server.history.event_notification.inflight_message**(gauge)                            |
| **temporal.server.history.event_notification.queueing_latency.bucket**(count)                     |
| **temporal.server.history.event_notification.queueing_latency.count**(count)                      |
| **temporal.server.history.event_notification.queueing_latency.seconds.bucket**(count)             |
| **temporal.server.history.event_notification.queueing_latency.seconds.count**(count)              |
| **temporal.server.history.event_notification.queueing_latency.seconds.sum**(count)                | *Shown as second*                                                                                                          |
| **temporal.server.history.event_notification.queueing_latency.sum**(count)                        | *Shown as millisecond*                                                                                                     |
| **temporal.server.history.size.bucket**(count)                                                      |
| **temporal.server.history.size.count**(count)                                                       |
| **temporal.server.history.size.sum**(count)                                                         | *Shown as byte*                                                                                                            |
| **temporal.server.history.sum**(count)                                                              |
| **temporal.server.history.workflow_execution_cache.lock_hold_duration.bucket**(count)           |
| **temporal.server.history.workflow_execution_cache.lock_hold_duration.count**(count)            |
| **temporal.server.history.workflow_execution_cache.lock_hold_duration.seconds.bucket**(count)   |
| **temporal.server.history.workflow_execution_cache.lock_hold_duration.seconds.count**(count)    |
| **temporal.server.history.workflow_execution_cache.lock_hold_duration.seconds.sum**(count)      | *Shown as second*                                                                                                          |
| **temporal.server.history.workflow_execution_cache.lock_hold_duration.sum**(count)              | *Shown as millisecond*                                                                                                     |
| **temporal.server.history.workflow_execution_cache_latency.bucket**(count)                       |
| **temporal.server.history.workflow_execution_cache_latency.count**(count)                        |
| **temporal.server.history.workflow_execution_cache_latency.seconds.bucket**(count)               |
| **temporal.server.history.workflow_execution_cache_latency.seconds.count**(count)                |
| **temporal.server.history.workflow_execution_cache_latency.seconds.sum**(count)                  | *Shown as second*                                                                                                          |
| **temporal.server.history.workflow_execution_cache_latency.sum**(count)                          | *Shown as millisecond*                                                                                                     |
| **temporal.server.history_workflow_execution_cache.lock_hold_duration.bucket**(count)          |
| **temporal.server.history_workflow_execution_cache.lock_hold_duration.count**(count)           |
| **temporal.server.history_workflow_execution_cache.lock_hold_duration.sum**(count)             | *Shown as millisecond*                                                                                                     |
| **temporal.server.host.health**(gauge)                                                              |
| **temporal.server.host_rps_limit**(gauge)                                                         |
| **temporal.server.http.service_requests.count**(count)                                             |
| **temporal.server.inordered_buffered_events.count**(count)                                        |
| **temporal.server.invalid_state_transition_workflow_update_message.count**(count)              |
| **temporal.server.invalid_task_queue_name.count**(count)                                         |
| **temporal.server.invalid_task_queue_partition.count**(count)                                    |
| **temporal.server.last_processed_message_id**(gauge)                                             |
| **temporal.server.last_retrieved_message_id**(gauge)                                             |
| **temporal.server.lease.failures.count**(count)                                                     |
| **temporal.server.lease.requests.count**(count)                                                     |
| **temporal.server.list_executions.failures.count**(count)                                          |
| **temporal.server.loaded_physical_task_queue_count**(gauge)                                     |
| **temporal.server.loaded_task_queue_count**(gauge)                                               |
| **temporal.server.loaded_task_queue_family_count**(gauge)                                       |
| **temporal.server.loaded_task_queue_partition_count**(gauge)                                    |
| **temporal.server.local_to_local.matches.count**(count)                                           |
| **temporal.server.local_to_remote.matches.count**(count)                                          |
| **temporal.server.lock.failures.count**(count)                                                      |
| **temporal.server.lock.latency.bucket**(count)                                                      |
| **temporal.server.lock.latency.count**(count)                                                       |
| **temporal.server.lock.latency.seconds.bucket**(count)                                              |
| **temporal.server.lock.latency.seconds.count**(count)                                               |
| **temporal.server.lock.latency.seconds.sum**(count)                                                 | *Shown as second*                                                                                                          |
| **temporal.server.lock.latency.sum**(count)                                                         | *Shown as millisecond*                                                                                                     |
| **temporal.server.lock.requests.count**(count)                                                      |
| **temporal.server.membership_changed.count**(count)                                                |
| **temporal.server.memo_size.bucket**(count)                                                        |
| **temporal.server.memo_size.count**(count)                                                         |
| **temporal.server.memo_size.sum**(count)                                                           | *Shown as byte*                                                                                                            |
| **temporal.server.memory.allocated**(gauge)                                                         |
| **temporal.server.memory.frees**(gauge)                                                             |
| **temporal.server.memory.gc_pause_ms.bucket**(count)                                              |
| **temporal.server.memory.gc_pause_ms.count**(count)                                               |
| **temporal.server.memory.gc_pause_ms.seconds.bucket**(count)                                      |
| **temporal.server.memory.gc_pause_ms.seconds.count**(count)                                       |
| **temporal.server.memory.gc_pause_ms.seconds.sum**(count)                                         | *Shown as second*                                                                                                          |
| **temporal.server.memory.gc_pause_ms.sum**(count)                                                 | *Shown as millisecond*                                                                                                     |
| **temporal.server.memory.heap**(gauge)                                                              |
| **temporal.server.memory.heap_objects**(gauge)                                                     |
| **temporal.server.memory.heapidle**(gauge)                                                          |
| **temporal.server.memory.heapinuse**(gauge)                                                         |
| **temporal.server.memory.mallocs**(gauge)                                                           |
| **temporal.server.memory.num_gc.bucket**(count)                                                    |
| **temporal.server.memory.num_gc.count**(count)                                                     |
| **temporal.server.memory.num_gc.sum**(count)                                                       | *Shown as byte*                                                                                                            |
| **temporal.server.memory.num_gc_last**(gauge)                                                     |
| **temporal.server.memory.pause_total_ns_last**(gauge)                                            |
| **temporal.server.memory.stack**(gauge)                                                             |
| **temporal.server.modify_workflow_properties_command.count**(count)                              |
| **temporal.server.multiple_completion_commands.count**(count)                                     |
| **temporal.server.mutable_state.size.bucket**(count)                                               |
| **temporal.server.mutable_state.size.count**(count)                                                |
| **temporal.server.mutable_state.size.sum**(count)                                                  | *Shown as byte*                                                                                                            |
| **temporal.server.mutable_state_checksum.invalidated.count**(count)                               |
| **temporal.server.mutable_state_checksum.mismatch.count**(count)                                  |
| **temporal.server.mutable_state_dirty.count**(count)                                              |
| **temporal.server.namespace_cache.callbacks_latency.bucket**(count)                               |
| **temporal.server.namespace_cache.callbacks_latency.count**(count)                                |
| **temporal.server.namespace_cache.callbacks_latency.sum**(count)                                  | *Shown as millisecond*                                                                                                     |
| **temporal.server.namespace_cache.prepare_callbacks_latency.bucket**(count)                      |
| **temporal.server.namespace_cache.prepare_callbacks_latency.count**(count)                       |
| **temporal.server.namespace_cache.prepare_callbacks_latency.sum**(count)                         | *Shown as millisecond*                                                                                                     |
| **temporal.server.namespace_dlq.ack_level**(gauge)                                                |
| **temporal.server.namespace_dlq.max_level**(gauge)                                                |
| **temporal.server.namespace_host_rps_limit**(gauge)                                              |
| **temporal.server.namespace_registry.callback_lock_latency.bucket**(count)                       |
| **temporal.server.namespace_registry.callback_lock_latency.count**(count)                        |
| **temporal.server.namespace_registry.callback_lock_latency.sum**(count)                          | *Shown as millisecond*                                                                                                     |
| **temporal.server.namespace_registry.lock_latency.bucket**(count)                                 |
| **temporal.server.namespace_registry.lock_latency.count**(count)                                  |
| **temporal.server.namespace_registry.lock_latency.sum**(count)                                    | *Shown as millisecond*                                                                                                     |
| **temporal.server.namespace_registry.refresh_latency.bucket**(count)                              |
| **temporal.server.namespace_registry.refresh_latency.count**(count)                               |
| **temporal.server.namespace_registry.refresh_latency.seconds.bucket**(count)                      |
| **temporal.server.namespace_registry.refresh_latency.seconds.count**(count)                       |
| **temporal.server.namespace_registry.refresh_latency.seconds.sum**(count)                         | *Shown as second*                                                                                                          |
| **temporal.server.namespace_registry.refresh_latency.sum**(count)                                 | *Shown as millisecond*                                                                                                     |
| **temporal.server.namespace_replication.dlq_enqueue_requests.count**(count)                      |
| **temporal.server.namespace_replication.task_ack_level**(gauge)                                  |
| **temporal.server.new_timer_notifications.count**(count)                                          |
| **temporal.server.nexus.completion_latency.bucket**(count)                                         |
| **temporal.server.nexus.completion_latency.count**(count)                                          |
| **temporal.server.nexus.completion_latency.seconds.bucket**(count)                                 |
| **temporal.server.nexus.completion_latency.seconds.count**(count)                                  |
| **temporal.server.nexus.completion_latency.seconds.sum**(count)                                    | *Shown as second*                                                                                                          |
| **temporal.server.nexus.completion_latency.sum**(count)                                            | *Shown as millisecond*                                                                                                     |
| **temporal.server.nexus.completion_request_preprocess_errors.count**(count)                      |
| **temporal.server.nexus.completion_requests.count**(count)                                         |
| **temporal.server.nexus.latency.bucket**(count)                                                     |
| **temporal.server.nexus.latency.count**(count)                                                      |
| **temporal.server.nexus.latency.seconds.bucket**(count)                                             |
| **temporal.server.nexus.latency.seconds.count**(count)                                              |
| **temporal.server.nexus.latency.seconds.sum**(count)                                                | *Shown as second*                                                                                                          |
| **temporal.server.nexus.latency.sum**(count)                                                        | *Shown as millisecond*                                                                                                     |
| **temporal.server.nexus.request_preprocess_errors.count**(count)                                  |
| **temporal.server.nexus.requests.count**(count)                                                     |
| **temporal.server.no_poller_tasks.count**(count)                                                  | Tasks added to a task queue that has no poller.                                                                            |
| **temporal.server.non_retryable_tasks.count**(count)                                              |
| **temporal.server.num_goroutines**(gauge)                                                          |
| **temporal.server.numshards**(gauge)                                                                |
| **temporal.server.operation.count**(count)                                                          |
| **temporal.server.out_of_order_buffered_events.count**(count)                                   |
| **temporal.server.parent_close_policy_processor.errors.count**(count)                            |
| **temporal.server.parent_close_policy_processor.requests.count**(count)                          |
| **temporal.server.paused_activities.count**(count)                                                 |
| **temporal.server.pending_tasks.bucket**(count)                                                    |
| **temporal.server.pending_tasks.count**(count)                                                     |
| **temporal.server.pending_tasks.sum**(count)                                                       |
| **temporal.server.persisted_mutable_state.size.bucket**(count)                                    |
| **temporal.server.persisted_mutable_state.size.count**(count)                                     |
| **temporal.server.persisted_mutable_state.size.sum**(count)                                       | *Shown as byte*                                                                                                            |
| **temporal.server.persisted_mutable_state_size.bucket**(count)                                   |
| **temporal.server.persisted_mutable_state_size.count**(count)                                    |
| **temporal.server.persisted_mutable_state_size.sum**(count)                                      | *Shown as byte*                                                                                                            |
| **temporal.server.persistence.error_with_type.count**(count)                                      | Number of persistence errors, tagged by error type.                                                                        |
| **temporal.server.persistence.errors.bad_request.count**(count)                                    |
| **temporal.server.persistence.errors.busy.count**(count)                                            |
| **temporal.server.persistence.errors.condition_failed.count**(count)                               |
| **temporal.server.persistence.errors.count**(count)                                                 | Number of persistence errors.                                                                                              |
| **temporal.server.persistence.errors.current_workflow_condition_failed.count**(count)            |
| **temporal.server.persistence.errors.entity_not_exists.count**(count)                             |
| **temporal.server.persistence.errors.namespace_already_exists.count**(count)                      |
| **temporal.server.persistence.errors.resource_exhausted.count**(count)                             |
| **temporal.server.persistence.errors.shard_exists.count**(count)                                   |
| **temporal.server.persistence.errors.shard_ownership_lost.count**(count)                          |
| **temporal.server.persistence.errors.timeout.count**(count)                                         |
| **temporal.server.persistence.errors.workflow_condition_failed.count**(count)                     |
| **temporal.server.persistence.latency.bucket**(count)                                               | Distribution of latencies on persistence operations.                                                                       |
| **temporal.server.persistence.latency.count**(count)                                                | Count of latencies on persistence operations.                                                                              |
| **temporal.server.persistence.latency.seconds.bucket**(count)                                       |
| **temporal.server.persistence.latency.seconds.count**(count)                                        |
| **temporal.server.persistence.latency.seconds.sum**(count)                                          | *Shown as second*                                                                                                          |
| **temporal.server.persistence.latency.sum**(count)                                                  | Sum of latencies on persistence operations.*Shown as millisecond*                                                          |
| **temporal.server.persistence.requests.count**(count)                                               | Number of persistence requests.                                                                                            |
| **temporal.server.persistence.session_refresh_attempts.count**(count)                             |
| **temporal.server.persistence.session_refresh_failures.count**(count)                             |
| **temporal.server.persistence.shard_rps.bucket**(count)                                            |
| **temporal.server.persistence.shard_rps.count**(count)                                             |
| **temporal.server.persistence.shard_rps.sum**(count)                                               |
| **temporal.server.poll.latency.bucket**(count)                                                      |
| **temporal.server.poll.latency.count**(count)                                                       |
| **temporal.server.poll.latency.seconds.bucket**(count)                                              |
| **temporal.server.poll.latency.seconds.count**(count)                                               |
| **temporal.server.poll.latency.seconds.sum**(count)                                                 | *Shown as second*                                                                                                          |
| **temporal.server.poll.latency.sum**(count)                                                         | *Shown as millisecond*                                                                                                     |
| **temporal.server.poll.success.count**(count)                                                       | Number of tasks successfully matched by the poller.                                                                        |
| **temporal.server.poll.success_sync.count**(count)                                                 | Number of tasks successfully matched synchronously.                                                                        |
| **temporal.server.poll.timeouts.count**(count)                                                      | Number of times a poller timed out due to no tasks being available.                                                        |
| **temporal.server.poll_latency.bucket**(count)                                                     |
| **temporal.server.poll_latency.count**(count)                                                      |
| **temporal.server.poll_latency.sum**(count)                                                        | *Shown as millisecond*                                                                                                     |
| **temporal.server.protocol_message_command.count**(count)                                         |
| **temporal.server.query_before_first_workflow_task.count**(count)                               |
| **temporal.server.query_buffer_exceeded.count**(count)                                            |
| **temporal.server.query_registry_invalid_state.count**(count)                                    |
| **temporal.server.queue.action_errors.count**(count)                                               |
| **temporal.server.queue.actions.count**(count)                                                      |
| **temporal.server.queue.latency_schedule.bucket**(count)                                           |
| **temporal.server.queue.latency_schedule.count**(count)                                            |
| **temporal.server.queue.latency_schedule.seconds.bucket**(count)                                   |
| **temporal.server.queue.latency_schedule.seconds.count**(count)                                    |
| **temporal.server.queue.latency_schedule.seconds.sum**(count)                                      | *Shown as second*                                                                                                          |
| **temporal.server.queue.latency_schedule.sum**(count)                                              | *Shown as millisecond*                                                                                                     |
| **temporal.server.queue.reader.bucket**(count)                                                      |
| **temporal.server.queue.reader.count**(count)                                                       |
| **temporal.server.queue.reader.sum**(count)                                                         |
| **temporal.server.queue.slice.bucket**(count)                                                       |
| **temporal.server.queue.slice.count**(count)                                                        |
| **temporal.server.queue.slice.sum**(count)                                                          |
| **temporal.server.rate_limited_task.runnable_wait_time.bucket**(count)                          |
| **temporal.server.rate_limited_task.runnable_wait_time.count**(count)                           |
| **temporal.server.rate_limited_task.runnable_wait_time.seconds.bucket**(count)                  |
| **temporal.server.rate_limited_task.runnable_wait_time.seconds.count**(count)                   |
| **temporal.server.rate_limited_task.runnable_wait_time.seconds.sum**(count)                     | *Shown as second*                                                                                                          |
| **temporal.server.rate_limited_task.runnable_wait_time.sum**(count)                             | *Shown as millisecond*                                                                                                     |
| **temporal.server.rate_limiter.failures.count**(count)                                             |
| **temporal.server.reachability_exit_point_count.count**(count)                                   |
| **temporal.server.read_namespace.errors.count**(count)                                             |
| **temporal.server.read_namespace.failures.count**(count)                                           |
| **temporal.server.reclaim_resources.delete_executions.failure.count**(count)                      |
| **temporal.server.reclaim_resources.delete_executions.success.count**(count)                      |
| **temporal.server.reclaim_resources.namespace_delete.failure.count**(count)                       |
| **temporal.server.reclaim_resources.namespace_delete.success.count**(count)                       |
| **temporal.server.record_marker_command.count**(count)                                            |
| **temporal.server.reject_workflow_update_message.count**(count)                                  |
| **temporal.server.remote_to_local.matches.count**(count)                                          |
| **temporal.server.remote_to_remote.matches.count**(count)                                         |
| **temporal.server.remove_engine_for_shard.latency.bucket**(count)                                |
| **temporal.server.remove_engine_for_shard.latency.count**(count)                                 |
| **temporal.server.remove_engine_for_shard.latency.seconds.bucket**(count)                        |
| **temporal.server.remove_engine_for_shard.latency.seconds.count**(count)                         |
| **temporal.server.remove_engine_for_shard.latency.seconds.sum**(count)                           | *Shown as second*                                                                                                          |
| **temporal.server.remove_engine_for_shard.latency.sum**(count)                                   | *Shown as millisecond*                                                                                                     |
| **temporal.server.rename_namespace.failures.count**(count)                                         |
| **temporal.server.rename_namespace.success.count**(count)                                          |
| **temporal.server.replication.dlq.ack_level**(gauge)                                               |
| **temporal.server.replication.dlq.enqueue_failed.count**(count)                                    |
| **temporal.server.replication.dlq.max_level**(gauge)                                               |
| **temporal.server.replication.dlq_non_empty.count**(count)                                        |
| **temporal.server.replication.duplicated_task.count**(count)                                       |
| **temporal.server.replication.latency.bucket**(count)                                               |
| **temporal.server.replication.latency.count**(count)                                                |
| **temporal.server.replication.latency.seconds.bucket**(count)                                       |
| **temporal.server.replication.latency.seconds.count**(count)                                        |
| **temporal.server.replication.latency.seconds.sum**(count)                                          | *Shown as second*                                                                                                          |
| **temporal.server.replication.latency.sum**(count)                                                  | *Shown as millisecond*                                                                                                     |
| **temporal.server.replication.outlier_namespace.count**(count)                                     |
| **temporal.server.replication.sender_rate_limit_latency.bucket**(count)                          |
| **temporal.server.replication.sender_rate_limit_latency.count**(count)                           |
| **temporal.server.replication.sender_rate_limit_latency.seconds.bucket**(count)                  |
| **temporal.server.replication.sender_rate_limit_latency.seconds.count**(count)                   |
| **temporal.server.replication.sender_rate_limit_latency.seconds.sum**(count)                     | *Shown as second*                                                                                                          |
| **temporal.server.replication.sender_rate_limit_latency.sum**(count)                             | *Shown as millisecond*                                                                                                     |
| **temporal.server.replication.service_error.count**(count)                                         |
| **temporal.server.replication.stream_error.count**(count)                                          |
| **temporal.server.replication.stream_panic.count**(count)                                          |
| **temporal.server.replication.stream_stuck.count**(count)                                          |
| **temporal.server.replication.task_cleanup.count**(count)                                          |
| **temporal.server.replication.task_cleanup.failed.count**(count)                                   |
| **temporal.server.replication.task_generation_latency.bucket**(count)                             |
| **temporal.server.replication.task_generation_latency.count**(count)                              |
| **temporal.server.replication.task_generation_latency.seconds.bucket**(count)                     |
| **temporal.server.replication.task_generation_latency.seconds.count**(count)                      |
| **temporal.server.replication.task_generation_latency.seconds.sum**(count)                        | *Shown as second*                                                                                                          |
| **temporal.server.replication.task_generation_latency.sum**(count)                                | *Shown as millisecond*                                                                                                     |
| **temporal.server.replication.task_load_latency.bucket**(count)                                   |
| **temporal.server.replication.task_load_latency.count**(count)                                    |
| **temporal.server.replication.task_load_latency.seconds.bucket**(count)                           |
| **temporal.server.replication.task_load_latency.seconds.count**(count)                            |
| **temporal.server.replication.task_load_latency.seconds.sum**(count)                              | *Shown as second*                                                                                                          |
| **temporal.server.replication.task_load_latency.sum**(count)                                      | *Shown as millisecond*                                                                                                     |
| **temporal.server.replication.task_load_size.bucket**(count)                                      |
| **temporal.server.replication.task_load_size.count**(count)                                       |
| **temporal.server.replication.task_load_size.sum**(count)                                         |
| **temporal.server.replication.task_processing_latency.bucket**(count)                             |
| **temporal.server.replication.task_processing_latency.count**(count)                              |
| **temporal.server.replication.task_processing_latency.seconds.bucket**(count)                     |
| **temporal.server.replication.task_processing_latency.seconds.count**(count)                      |
| **temporal.server.replication.task_processing_latency.seconds.sum**(count)                        | *Shown as second*                                                                                                          |
| **temporal.server.replication.task_processing_latency.sum**(count)                                | *Shown as millisecond*                                                                                                     |
| **temporal.server.replication.task_queue_latency.bucket**(count)                                  |
| **temporal.server.replication.task_queue_latency.count**(count)                                   |
| **temporal.server.replication.task_queue_latency.seconds.bucket**(count)                          |
| **temporal.server.replication.task_queue_latency.seconds.count**(count)                           |
| **temporal.server.replication.task_queue_latency.seconds.sum**(count)                             | *Shown as second*                                                                                                          |
| **temporal.server.replication.task_queue_latency.sum**(count)                                     | *Shown as millisecond*                                                                                                     |
| **temporal.server.replication.task_send_attempt.bucket**(count)                                   |
| **temporal.server.replication.task_send_attempt.count**(count)                                    |
| **temporal.server.replication.task_send_attempt.sum**(count)                                      |
| **temporal.server.replication.task_send_backlog.bucket**(count)                                   |
| **temporal.server.replication.task_send_backlog.count**(count)                                    |
| **temporal.server.replication.task_send_backlog.sum**(count)                                      |
| **temporal.server.replication.task_send_error.count**(count)                                      |
| **temporal.server.replication.task_send_latency.bucket**(count)                                   |
| **temporal.server.replication.task_send_latency.count**(count)                                    |
| **temporal.server.replication.task_send_latency.seconds.bucket**(count)                           |
| **temporal.server.replication.task_send_latency.seconds.count**(count)                            |
| **temporal.server.replication.task_send_latency.seconds.sum**(count)                              | *Shown as second*                                                                                                          |
| **temporal.server.replication.task_send_latency.sum**(count)                                      | *Shown as millisecond*                                                                                                     |
| **temporal.server.replication.task_transmission_latency.bucket**(count)                           |
| **temporal.server.replication.task_transmission_latency.count**(count)                            |
| **temporal.server.replication.task_transmission_latency.seconds.bucket**(count)                   |
| **temporal.server.replication.task_transmission_latency.seconds.count**(count)                    |
| **temporal.server.replication.task_transmission_latency.seconds.sum**(count)                      | *Shown as second*                                                                                                          |
| **temporal.server.replication.task_transmission_latency.sum**(count)                              | *Shown as millisecond*                                                                                                     |
| **temporal.server.replication.tasks.applied.count**(count)                                          |
| **temporal.server.replication.tasks.applied_latency.bucket**(count)                                |
| **temporal.server.replication.tasks.applied_latency.count**(count)                                 |
| **temporal.server.replication.tasks.applied_latency.sum**(count)                                   | *Shown as millisecond*                                                                                                     |
| **temporal.server.replication.tasks.failed.count**(count)                                           |
| **temporal.server.replication.tasks.fetched.bucket**(count)                                         |
| **temporal.server.replication.tasks.fetched.count**(count)                                          |
| **temporal.server.replication.tasks.fetched.sum**(count)                                            | *Shown as millisecond*                                                                                                     |
| **temporal.server.replication.tasks.lag.bucket**(count)                                             |
| **temporal.server.replication.tasks.lag.count**(count)                                              |
| **temporal.server.replication.tasks.lag.sum**(count)                                                | *Shown as millisecond*                                                                                                     |
| **temporal.server.replication.tasks.returned.bucket**(count)                                        |
| **temporal.server.replication.tasks.returned.count**(count)                                         |
| **temporal.server.replication.tasks.returned.sum**(count)                                           | *Shown as millisecond*                                                                                                     |
| **temporal.server.replication.tasks_back_fill.count**(count)                                      |
| **temporal.server.replication.tasks_back_fill_latency.bucket**(count)                            |
| **temporal.server.replication.tasks_back_fill_latency.count**(count)                             |
| **temporal.server.replication.tasks_back_fill_latency.seconds.bucket**(count)                    |
| **temporal.server.replication.tasks_back_fill_latency.seconds.count**(count)                     |
| **temporal.server.replication.tasks_back_fill_latency.seconds.sum**(count)                       | *Shown as second*                                                                                                          |
| **temporal.server.replication.tasks_back_fill_latency.sum**(count)                               | *Shown as millisecond*                                                                                                     |
| **temporal.server.replication.tasks_recv.count**(count)                                            |
| **temporal.server.replication.tasks_recv_backlog.bucket**(count)                                  |
| **temporal.server.replication.tasks_recv_backlog.count**(count)                                   |
| **temporal.server.replication.tasks_recv_backlog.sum**(count)                                     |
| **temporal.server.replication.tasks_send.count**(count)                                            |
| **temporal.server.replication.tasks_skipped.count**(count)                                         |
| **temporal.server.replication_events_size.bucket**(count)                                         |
| **temporal.server.replication_events_size.count**(count)                                          |
| **temporal.server.replication_events_size.sum**(count)                                            | *Shown as millisecond*                                                                                                     |
| **temporal.server.replicator.dlq_enqueue_fails.count**(count)                                     |
| **temporal.server.replicator.errors.count**(count)                                                  |
| **temporal.server.replicator.latency.bucket**(count)                                                |
| **temporal.server.replicator.latency.count**(count)                                                 |
| **temporal.server.replicator.latency.seconds.bucket**(count)                                        |
| **temporal.server.replicator.latency.seconds.count**(count)                                         |
| **temporal.server.replicator.latency.seconds.sum**(count)                                           | *Shown as second*                                                                                                          |
| **temporal.server.replicator.latency.sum**(count)                                                   | *Shown as millisecond*                                                                                                     |
| **temporal.server.replicator.messages.count**(count)                                                |
| **temporal.server.request_cancel_info.bucket**(count)                                             |
| **temporal.server.request_cancel_info.count**(count)                                              |
| **temporal.server.request_cancel_info.size.bucket**(count)                                        |
| **temporal.server.request_cancel_info.size.count**(count)                                         |
| **temporal.server.request_cancel_info.size.sum**(count)                                           | *Shown as byte*                                                                                                            |
| **temporal.server.request_cancel_info.sum**(count)                                                |
| **temporal.server.request_workflow_update_message.count**(count)                                 |
| **temporal.server.respond_nexus_failed.count**(count)                                             |
| **temporal.server.respond_query_failed.count**(count)                                             |
| **temporal.server.respond_workflow_update_message.count**(count)                                 |
| **temporal.server.restarts.count**(count)                                                           |
| **temporal.server.scan_duration.bucket**(count)                                                    |
| **temporal.server.scan_duration.count**(count)                                                     |
| **temporal.server.scan_duration.sum**(count)                                                       | *Shown as millisecond*                                                                                                     |
| **temporal.server.scavenger.errors.count**(count)                                                   |
| **temporal.server.scavenger.skips.count**(count)                                                    |
| **temporal.server.scavenger.success.count**(count)                                                  |
| **temporal.server.scavenger.validation.failures.count**(count)                                      |
| **temporal.server.scavenger.validation.requests.count**(count)                                      |
| **temporal.server.scavenger.validation.skips.count**(count)                                         |
| **temporal.server.schedule.action.errors.count**(count)                                             |
| **temporal.server.schedule.action.success.count**(count)                                            |
| **temporal.server.schedule.action_delay.bucket**(count)                                            |
| **temporal.server.schedule.action_delay.count**(count)                                             |
| **temporal.server.schedule.action_delay.seconds.bucket**(count)                                    |
| **temporal.server.schedule.action_delay.seconds.count**(count)                                     |
| **temporal.server.schedule.action_delay.seconds.sum**(count)                                       | *Shown as second*                                                                                                          |
| **temporal.server.schedule.action_delay.sum**(count)                                               | *Shown as millisecond*                                                                                                     |
| **temporal.server.schedule.buffer_overruns.count**(count)                                          |
| **temporal.server.schedule.cancel_workflow.errors.count**(count)                                   |
| **temporal.server.schedule.missed_catchup_window.count**(count)                                   |
| **temporal.server.schedule.rate_limited.count**(count)                                             |
| **temporal.server.schedule.terminate_workflow.errors.count**(count)                                |
| **temporal.server.schedule_action.attempt.count**(count)                                           |
| **temporal.server.schedule_action.dropped.count**(count)                                           |
| **temporal.server.schedule_action_delay.bucket**(count)                                           |
| **temporal.server.schedule_action_delay.count**(count)                                            |
| **temporal.server.schedule_action_delay.sum**(count)                                              | *Shown as millisecond*                                                                                                     |
| **temporal.server.schedule_activity_command.count**(count)                                        |
| **temporal.server.schedule_to_close.timeout.count**(count)                                        |
| **temporal.server.schedule_to_start.timeout.count**(count)                                        |
| **temporal.server.search_attributes_size.bucket**(count)                                          |
| **temporal.server.search_attributes_size.count**(count)                                           |
| **temporal.server.search_attributes_size.sum**(count)                                             | *Shown as byte*                                                                                                            |
| **temporal.server.semaphore.failures.count**(count)                                                 |
| **temporal.server.semaphore.latency.bucket**(count)                                                 |
| **temporal.server.semaphore.latency.count**(count)                                                  |
| **temporal.server.semaphore.latency.seconds.bucket**(count)                                         |
| **temporal.server.semaphore.latency.seconds.count**(count)                                          |
| **temporal.server.semaphore.latency.seconds.sum**(count)                                            | *Shown as second*                                                                                                          |
| **temporal.server.semaphore.latency.sum**(count)                                                    | *Shown as millisecond*                                                                                                     |
| **temporal.server.semaphore.requests.count**(count)                                                 |
| **temporal.server.service.authorization_latency.bucket**(count)                                    |
| **temporal.server.service.authorization_latency.count**(count)                                     |
| **temporal.server.service.authorization_latency.seconds.bucket**(count)                            |
| **temporal.server.service.authorization_latency.seconds.count**(count)                             |
| **temporal.server.service.authorization_latency.seconds.sum**(count)                               | *Shown as second*                                                                                                          |
| **temporal.server.service.authorization_latency.sum**(count)                                       | *Shown as millisecond*                                                                                                     |
| **temporal.server.service.dial_latency.bucket**(count)                                             |
| **temporal.server.service.dial_latency.count**(count)                                              |
| **temporal.server.service.dial_latency.seconds.bucket**(count)                                     |
| **temporal.server.service.dial_latency.seconds.count**(count)                                      |
| **temporal.server.service.dial_latency.seconds.sum**(count)                                        | *Shown as second*                                                                                                          |
| **temporal.server.service.dial_latency.sum**(count)                                                | *Shown as millisecond*                                                                                                     |
| **temporal.server.service.error_with_type.count**(count)                                          | Errors encountered by the service, tagged by type.                                                                         |
| **temporal.server.service.errors.authorize_failed.count**(count)                                   |
| **temporal.server.service.errors.bad_binary.count**(count)                                         |
| **temporal.server.service.errors.cancellation_already_requested.count**(count)                    |
| **temporal.server.service.errors.client_version_not_supported.count**(count)                     |
| **temporal.server.service.errors.context_cancelled.count**(count)                                  |
| **temporal.server.service.errors.context_timeout.count**(count)                                    |
| **temporal.server.service.errors.count**(count)                                                     |
| **temporal.server.service.errors.critical.count**(count)                                            |
| **temporal.server.service.errors.entity_not_found.count**(count)                                  |
| **temporal.server.service.errors.execution_already_started.count**(count)                         |
| **temporal.server.service.errors.incomplete_history.count**(count)                                 |
| **temporal.server.service.errors.invalid_argument.count**(count)                                   |
| **temporal.server.service.errors.namespace_already_exists.count**(count)                          |
| **temporal.server.service.errors.namespace_not_active.count**(count)                              |
| **temporal.server.service.errors.nondeterministic.count**(count)                                    |
| **temporal.server.service.errors.query_failed.count**(count)                                       |
| **temporal.server.service.errors.resource_exhausted.count**(count)                                 |
| **temporal.server.service.errors.retry_task.count**(count)                                         |
| **temporal.server.service.errors.shard_ownership_lost.count**(count)                              |
| **temporal.server.service.errors.task_already_started.count**(count)                              |
| **temporal.server.service.errors.unauthorized.count**(count)                                        |
| **temporal.server.service.latency.bucket**(count)                                                   | Distribution of latencies for all client request operations.                                                               |
| **temporal.server.service.latency.count**(count)                                                    | Count of latencies for all client request operations.                                                                      |
| **temporal.server.service.latency.nouserlatency.bucket**(count)                                     |
| **temporal.server.service.latency.nouserlatency.count**(count)                                      |
| **temporal.server.service.latency.nouserlatency.seconds.bucket**(count)                             |
| **temporal.server.service.latency.nouserlatency.seconds.count**(count)                              |
| **temporal.server.service.latency.nouserlatency.seconds.sum**(count)                                | *Shown as second*                                                                                                          |
| **temporal.server.service.latency.nouserlatency.sum**(count)                                        | *Shown as millisecond*                                                                                                     |
| **temporal.server.service.latency.seconds.bucket**(count)                                           |
| **temporal.server.service.latency.seconds.count**(count)                                            |
| **temporal.server.service.latency.seconds.sum**(count)                                              | *Shown as second*                                                                                                          |
| **temporal.server.service.latency.sum**(count)                                                      | Sum of latencies for all client requests operations.*Shown as millisecond*                                                 |
| **temporal.server.service.latency.userlatency.bucket**(count)                                       |
| **temporal.server.service.latency.userlatency.count**(count)                                        |
| **temporal.server.service.latency.userlatency.seconds.bucket**(count)                               |
| **temporal.server.service.latency.userlatency.seconds.count**(count)                                |
| **temporal.server.service.latency.userlatency.seconds.sum**(count)                                  | *Shown as second*                                                                                                          |
| **temporal.server.service.latency.userlatency.sum**(count)                                          | *Shown as millisecond*                                                                                                     |
| **temporal.server.service.panics.count**(count)                                                     |
| **temporal.server.service.pending_requests**(gauge)                                                |
| **temporal.server.service.requests.count**(count)                                                   | Service requests received per Task Queue.                                                                                  |
| **temporal.server.shard.linger_success.bucket**(count)                                             |
| **temporal.server.shard.linger_success.count**(count)                                              |
| **temporal.server.shard.linger_success.seconds.bucket**(count)                                     |
| **temporal.server.shard.linger_success.seconds.count**(count)                                      |
| **temporal.server.shard.linger_success.seconds.sum**(count)                                        | *Shown as second*                                                                                                          |
| **temporal.server.shard.linger_success.sum**(count)                                                | *Shown as millisecond*                                                                                                     |
| **temporal.server.shard.linger_timeouts.count**(count)                                             |
| **temporal.server.shard.lock_latency.bucket**(count)                                               |
| **temporal.server.shard.lock_latency.count**(count)                                                |
| **temporal.server.shard.lock_latency.sum**(count)                                                  | *Shown as millisecond*                                                                                                     |
| **temporal.server.shard_closed.count**(count)                                                      |
| **temporal.server.shard_controller.lock_latency.bucket**(count)                                   |
| **temporal.server.shard_controller.lock_latency.count**(count)                                    |
| **temporal.server.shard_controller.lock_latency.sum**(count)                                      | *Shown as millisecond*                                                                                                     |
| **temporal.server.shardinfo.immediate_queue.lag.bucket**(count)                                    |
| **temporal.server.shardinfo.immediate_queue.lag.count**(count)                                     |
| **temporal.server.shardinfo.immediate_queue.lag.sum**(count)                                       |
| **temporal.server.shardinfo.replication.lag.bucket**(count)                                         |
| **temporal.server.shardinfo.replication.lag.count**(count)                                          |
| **temporal.server.shardinfo.replication.lag.sum**(count)                                            |
| **temporal.server.shardinfo.replication.pending_task.bucket**(count)                               |
| **temporal.server.shardinfo.replication.pending_task.count**(count)                                |
| **temporal.server.shardinfo.replication.pending_task.sum**(count)                                  |
| **temporal.server.shardinfo.scheduled_queue.lag.bucket**(count)                                    |
| **temporal.server.shardinfo.scheduled_queue.lag.count**(count)                                     |
| **temporal.server.shardinfo.scheduled_queue.lag.seconds.bucket**(count)                            |
| **temporal.server.shardinfo.scheduled_queue.lag.seconds.count**(count)                             |
| **temporal.server.shardinfo.scheduled_queue.lag.seconds.sum**(count)                               | *Shown as second*                                                                                                          |
| **temporal.server.shardinfo.scheduled_queue.lag.sum**(count)                                       | *Shown as millisecond*                                                                                                     |
| **temporal.server.shardinfo.timer.active.pending_task.bucket**(count)                              |
| **temporal.server.shardinfo.timer.active.pending_task.count**(count)                               |
| **temporal.server.shardinfo.timer.active.pending_task.sum**(count)                                 |
| **temporal.server.shardinfo.timer.lag.bucket**(count)                                               |
| **temporal.server.shardinfo.timer.lag.count**(count)                                                |
| **temporal.server.shardinfo.timer.lag.sum**(count)                                                  | *Shown as millisecond*                                                                                                     |
| **temporal.server.shardinfo.timer.standby.pending_task.bucket**(count)                             |
| **temporal.server.shardinfo.timer.standby.pending_task.count**(count)                              |
| **temporal.server.shardinfo.timer.standby.pending_task.sum**(count)                                |
| **temporal.server.shardinfo.timer_diff.bucket**(count)                                             |
| **temporal.server.shardinfo.timer_diff.count**(count)                                              |
| **temporal.server.shardinfo.timer_diff.sum**(count)                                                | *Shown as millisecond*                                                                                                     |
| **temporal.server.shardinfo.timer_failover_in_progress.bucket**(count)                           |
| **temporal.server.shardinfo.timer_failover_in_progress.count**(count)                            |
| **temporal.server.shardinfo.timer_failover_in_progress.sum**(count)                              |
| **temporal.server.shardinfo.timer_failover_latency.bucket**(count)                                |
| **temporal.server.shardinfo.timer_failover_latency.count**(count)                                 |
| **temporal.server.shardinfo.timer_failover_latency.sum**(count)                                   | *Shown as millisecond*                                                                                                     |
| **temporal.server.shardinfo.transfer.active.pending_task.bucket**(count)                           |
| **temporal.server.shardinfo.transfer.active.pending_task.count**(count)                            |
| **temporal.server.shardinfo.transfer.active.pending_task.sum**(count)                              |
| **temporal.server.shardinfo.transfer.diff.bucket**(count)                                           |
| **temporal.server.shardinfo.transfer.diff.count**(count)                                            |
| **temporal.server.shardinfo.transfer.diff.sum**(count)                                              |
| **temporal.server.shardinfo.transfer.failover_in_progress.bucket**(count)                         |
| **temporal.server.shardinfo.transfer.failover_in_progress.count**(count)                          |
| **temporal.server.shardinfo.transfer.failover_in_progress.sum**(count)                            |
| **temporal.server.shardinfo.transfer.failover_latency.bucket**(count)                              |
| **temporal.server.shardinfo.transfer.failover_latency.count**(count)                               |
| **temporal.server.shardinfo.transfer.failover_latency.sum**(count)                                 | *Shown as millisecond*                                                                                                     |
| **temporal.server.shardinfo.transfer.lag.bucket**(count)                                            |
| **temporal.server.shardinfo.transfer.lag.count**(count)                                             |
| **temporal.server.shardinfo.transfer.lag.sum**(count)                                               |
| **temporal.server.shardinfo.transfer.standby.pending_task.bucket**(count)                          |
| **temporal.server.shardinfo.transfer.standby.pending_task.count**(count)                           |
| **temporal.server.shardinfo.transfer.standby.pending_task.sum**(count)                             |
| **temporal.server.shardinfo.visibility.lag.bucket**(count)                                          |
| **temporal.server.shardinfo.visibility.lag.count**(count)                                           |
| **temporal.server.shardinfo.visibility.lag.sum**(count)                                             |
| **temporal.server.shardinfo.visibility.pending_task.bucket**(count)                                |
| **temporal.server.shardinfo.visibility.pending_task.count**(count)                                 |
| **temporal.server.shardinfo.visibility.pending_task.sum**(count)                                   |
| **temporal.server.sharditem.acquisition_latency.bucket**(count)                                    |
| **temporal.server.sharditem.acquisition_latency.count**(count)                                     |
| **temporal.server.sharditem.acquisition_latency.seconds.bucket**(count)                            |
| **temporal.server.sharditem.acquisition_latency.seconds.count**(count)                             |
| **temporal.server.sharditem.acquisition_latency.seconds.sum**(count)                               | *Shown as second*                                                                                                          |
| **temporal.server.sharditem.acquisition_latency.sum**(count)                                       | *Shown as millisecond*                                                                                                     |
| **temporal.server.sharditem.created.count**(count)                                                  |
| **temporal.server.sharditem.removed.count**(count)                                                  |
| **temporal.server.signal_external_workflow_command.count**(count)                                |
| **temporal.server.signal_info.bucket**(count)                                                      |
| **temporal.server.signal_info.count**(count)                                                       |
| **temporal.server.signal_info.size.bucket**(count)                                                 |
| **temporal.server.signal_info.size.count**(count)                                                  |
| **temporal.server.signal_info.size.sum**(count)                                                    | *Shown as byte*                                                                                                            |
| **temporal.server.signal_info.sum**(count)                                                         |
| **temporal.server.signal_request_id.size.bucket**(count)                                          |
| **temporal.server.signal_request_id.size.count**(count)                                           |
| **temporal.server.signal_request_id.size.sum**(count)                                             | *Shown as byte*                                                                                                            |
| **temporal.server.signal_request_id_count.bucket**(count)                                        |
| **temporal.server.signal_request_id_count.count**(count)                                         |
| **temporal.server.signal_request_id_count.sum**(count)                                           |
| **temporal.server.signal_request_id_size.bucket**(count)                                         |
| **temporal.server.signal_request_id_size.count**(count)                                          |
| **temporal.server.signal_request_id_size.sum**(count)                                            | *Shown as byte*                                                                                                            |
| **temporal.server.signal_with_start_skip_delay_count.count**(count)                            |
| **temporal.server.speculative_workflow_task.commits.count**(count)                                |
| **temporal.server.speculative_workflow_task.rollbacks.count**(count)                              |
| **temporal.server.stale_mutable_state.count**(count)                                              |
| **temporal.server.stale_replication_events.count**(count)                                         |
| **temporal.server.start_deployment.transition_count.count**(count)                                |
| **temporal.server.start_timer_command.count**(count)                                              |
| **temporal.server.start_to_close.timeout.count**(count)                                           |
| **temporal.server.start_workflow_request_deduped.count**(count)                                  |
| **temporal.server.started.count**(count)                                                            |
| **temporal.server.state_machine_timer.processing_failures.count**(count)                         |
| **temporal.server.state_machine_timer.skips.count**(count)                                        |
| **temporal.server.state_transition.bucket**(count)                                                 |
| **temporal.server.state_transition.count**(count)                                                  |
| **temporal.server.state_transition.sum**(count)                                                    |
| **temporal.server.stopped.count**(count)                                                            |
| **temporal.server.sync_throttle.count**(count)                                                     |
| **temporal.server.syncmatch.latency.bucket**(count)                                                 |
| **temporal.server.syncmatch.latency.count**(count)                                                  |
| **temporal.server.syncmatch.latency.seconds.bucket**(count)                                         |
| **temporal.server.syncmatch.latency.seconds.count**(count)                                          |
| **temporal.server.syncmatch.latency.seconds.sum**(count)                                            | *Shown as second*                                                                                                          |
| **temporal.server.syncmatch.latency.sum**(count)                                                    | *Shown as millisecond*                                                                                                     |
| **temporal.server.syncshard.remote.count**(count)                                                   |
| **temporal.server.syncshard.remote.failed.count**(count)                                            |
| **temporal.server.task.attempt.bucket**(count)                                                      | Distribution of the number of attempts on each task execution.                                                             |
| **temporal.server.task.attempt.count**(count)                                                       | Count of the number of attempts on each task execution.                                                                    |
| **temporal.server.task.attempt.sum**(count)                                                         | Sum of the number of attempts on each task execution.                                                                      |
| **temporal.server.task.batch_complete_counter.count**(count)                                      |
| **temporal.server.task.bucket**(count)                                                              |
| **temporal.server.task.count**(count)                                                               |
| **temporal.server.task.deleted**(gauge)                                                             |
| **temporal.server.task.dependency_task_not_completed.count**(count)                              |
| **temporal.server.task.dispatch_latency.bucket**(count)                                            |
| **temporal.server.task.dispatch_latency.count**(count)                                             |
| **temporal.server.task.dispatch_latency.seconds.bucket**(count)                                    |
| **temporal.server.task.dispatch_latency.seconds.count**(count)                                     |
| **temporal.server.task.dispatch_latency.seconds.sum**(count)                                       | *Shown as second*                                                                                                          |
| **temporal.server.task.dispatch_latency.sum**(count)                                               | *Shown as millisecond*                                                                                                     |
| **temporal.server.task.dlq_failures.count**(count)                                                 |
| **temporal.server.task.dlq_latency.bucket**(count)                                                 |
| **temporal.server.task.dlq_latency.count**(count)                                                  |
| **temporal.server.task.dlq_latency.seconds.bucket**(count)                                         |
| **temporal.server.task.dlq_latency.seconds.count**(count)                                          |
| **temporal.server.task.dlq_latency.seconds.sum**(count)                                            | *Shown as second*                                                                                                          |
| **temporal.server.task.dlq_latency.sum**(count)                                                    | *Shown as millisecond*                                                                                                     |
| **temporal.server.task.errors.corruption.count**(count)                                             |
| **temporal.server.task.errors.count**(count)                                                        | Number of task process errors.                                                                                             |
| **temporal.server.task.errors.discarded.count**(count)                                              |
| **temporal.server.task.errors.internal.count**(count)                                               |
| **temporal.server.task.errors.limit_exceeded_counter.count**(count)                               |
| **temporal.server.task.errors.namespace_handover.count**(count)                                    |
| **temporal.server.task.errors.not_active_counter.count**(count)                                   |
| **temporal.server.task.errors.standby_retry_counter.count**(count)                                |
| **temporal.server.task.errors.throttled.count**(count)                                              |
| **temporal.server.task.errors.version_mismatch.count**(count)                                      |
| **temporal.server.task.errors.workflow_busy.count**(count)                                         |
| **temporal.server.task.lag_per_tl**(gauge)                                                        |
| **temporal.server.task.latency.bucket**(count)                                                      | Distribution of in-memory latencies across multiple attempts.                                                              |
| **temporal.server.task.latency.count**(count)                                                       | Count of in-memory latencies across multiple attempts.                                                                     |
| **temporal.server.task.latency.load.bucket**(count)                                                 | Distribution of durations from task generation to task loading.                                                            |
| **temporal.server.task.latency.load.count**(count)                                                  | Count of durations from task generation to task loading.                                                                   |
| **temporal.server.task.latency.load.seconds.bucket**(count)                                         |
| **temporal.server.task.latency.load.seconds.count**(count)                                          |
| **temporal.server.task.latency.load.seconds.sum**(count)                                            | *Shown as second*                                                                                                          |
| **temporal.server.task.latency.load.sum**(count)                                                    | Sum of durations from task generation to task loading.*Shown as millisecond*                                               |
| **temporal.server.task.latency.processing.bucket**(count)                                           | Distribution of task processing latencies per attempt.                                                                     |
| **temporal.server.task.latency.processing.count**(count)                                            | Count of task processing latencies per attempt.                                                                            |
| **temporal.server.task.latency.processing.seconds.bucket**(count)                                   |
| **temporal.server.task.latency.processing.seconds.count**(count)                                    |
| **temporal.server.task.latency.processing.seconds.sum**(count)                                      | *Shown as second*                                                                                                          |
| **temporal.server.task.latency.processing.sum**(count)                                              | Sum of task processing latencies per attempt.*Shown as millisecond*                                                        |
| **temporal.server.task.latency.queue.bucket**(count)                                                | Distribution of durations from when a task is fired to when the task is done.                                              |
| **temporal.server.task.latency.queue.count**(count)                                                 | Count of durations from when a task is fired to when the task is done.                                                     |
| **temporal.server.task.latency.queue.seconds.bucket**(count)                                        |
| **temporal.server.task.latency.queue.seconds.count**(count)                                         |
| **temporal.server.task.latency.queue.seconds.sum**(count)                                           | *Shown as second*                                                                                                          |
| **temporal.server.task.latency.queue.sum**(count)                                                   | Sum of durations from when a task is fired to when the task is done.*Shown as millisecond*                                 |
| **temporal.server.task.latency.schedule.bucket**(count)                                             | Distribution of durations from task submission to processing.                                                              |
| **temporal.server.task.latency.schedule.count**(count)                                              | Count of durations from task submission to processing.                                                                     |
| **temporal.server.task.latency.schedule.seconds.bucket**(count)                                     |
| **temporal.server.task.latency.schedule.seconds.count**(count)                                      |
| **temporal.server.task.latency.schedule.seconds.sum**(count)                                        | *Shown as second*                                                                                                          |
| **temporal.server.task.latency.schedule.sum**(count)                                                | Sum of durations from task submission to processing.*Shown as millisecond*                                                 |
| **temporal.server.task.latency.seconds.bucket**(count)                                              |
| **temporal.server.task.latency.seconds.count**(count)                                               |
| **temporal.server.task.latency.seconds.sum**(count)                                                 | *Shown as second*                                                                                                          |
| **temporal.server.task.latency.sum**(count)                                                         | Sum of in-memory latencies across multiple attempts.*Shown as millisecond*                                                 |
| **temporal.server.task.latency.user.bucket**(count)                                                 |
| **temporal.server.task.latency.user.count**(count)                                                  |
| **temporal.server.task.latency.user.sum**(count)                                                    | *Shown as millisecond*                                                                                                     |
| **temporal.server.task.processed**(gauge)                                                           |
| **temporal.server.task.requests.count**(count)                                                      | Number of task process requests.                                                                                           |
| **temporal.server.task.schedule_to_start_latency.bucket**(count)                                 |
| **temporal.server.task.schedule_to_start_latency.count**(count)                                  |
| **temporal.server.task.schedule_to_start_latency.seconds.bucket**(count)                         |
| **temporal.server.task.schedule_to_start_latency.seconds.count**(count)                          |
| **temporal.server.task.schedule_to_start_latency.seconds.sum**(count)                            | *Shown as second*                                                                                                          |
| **temporal.server.task.schedule_to_start_latency.sum**(count)                                    | *Shown as millisecond*                                                                                                     |
| **temporal.server.task.skipped.count**(count)                                                       |
| **temporal.server.task.sum**(count)                                                                 |
| **temporal.server.task.terminal_failures.count**(count)                                            |
| **temporal.server.task.throttled_counter.count**(count)                                            |
| **temporal.server.task.write.latency.bucket**(count)                                                |
| **temporal.server.task.write.latency.count**(count)                                                 |
| **temporal.server.task.write.latency.seconds.bucket**(count)                                        |
| **temporal.server.task.write.latency.seconds.count**(count)                                         |
| **temporal.server.task.write.latency.seconds.sum**(count)                                           | *Shown as second*                                                                                                          |
| **temporal.server.task.write.latency.sum**(count)                                                   | *Shown as millisecond*                                                                                                     |
| **temporal.server.task.write.throttle.count**(count)                                                |
| **temporal.server.task_queue.started.count**(count)                                                |
| **temporal.server.task_queue.stopped.count**(count)                                                |
| **temporal.server.task_rescheduler.pending_tasks.bucket**(count)                                  |
| **temporal.server.task_rescheduler.pending_tasks.count**(count)                                   |
| **temporal.server.task_rescheduler.pending_tasks.sum**(count)                                     |
| **temporal.server.task_rewrites.count**(count)                                                     |
| **temporal.server.task_scheduler.throttled.count**(count)                                          |
| **temporal.server.taskqueue.deleted**(gauge)                                                        |
| **temporal.server.taskqueue.outstanding**(gauge)                                                    |
| **temporal.server.taskqueue.processed**(gauge)                                                      |
| **temporal.server.tasks.per_shardinfo_update.bucket**(count)                                      |
| **temporal.server.tasks.per_shardinfo_update.count**(count)                                       |
| **temporal.server.tasks.per_shardinfo_update.sum**(count)                                         |
| **temporal.server.tasks_expired.count**(count)                                                     |
| **temporal.server.time_between_shardinfo_update.bucket**(count)                                  |
| **temporal.server.time_between_shardinfo_update.count**(count)                                   |
| **temporal.server.time_between_shardinfo_update.seconds.bucket**(count)                          |
| **temporal.server.time_between_shardinfo_update.seconds.count**(count)                           |
| **temporal.server.time_between_shardinfo_update.seconds.sum**(count)                             | *Shown as second*                                                                                                          |
| **temporal.server.time_between_shardinfo_update.sum**(count)                                     | *Shown as millisecond*                                                                                                     |
| **temporal.server.timer_info.bucket**(count)                                                       |
| **temporal.server.timer_info.count**(count)                                                        |
| **temporal.server.timer_info.size.bucket**(count)                                                  |
| **temporal.server.timer_info.size.count**(count)                                                   |
| **temporal.server.timer_info.size.sum**(count)                                                     | *Shown as byte*                                                                                                            |
| **temporal.server.timer_info.sum**(count)                                                          |
| **temporal.server.total_activity_count.bucket**(count)                                            |
| **temporal.server.total_activity_count.count**(count)                                             |
| **temporal.server.total_activity_count.sum**(count)                                               |
| **temporal.server.total_child_execution_count.bucket**(count)                                    |
| **temporal.server.total_child_execution_count.count**(count)                                     |
| **temporal.server.total_child_execution_count.sum**(count)                                       |
| **temporal.server.total_request_cancel_external_count.bucket**(count)                           |
| **temporal.server.total_request_cancel_external_count.count**(count)                            |
| **temporal.server.total_request_cancel_external_count.sum**(count)                              |
| **temporal.server.total_signal_count.bucket**(count)                                              |
| **temporal.server.total_signal_count.count**(count)                                               |
| **temporal.server.total_signal_count.sum**(count)                                                 |
| **temporal.server.total_signal_external_count.bucket**(count)                                    |
| **temporal.server.total_signal_external_count.count**(count)                                     |
| **temporal.server.total_signal_external_count.sum**(count)                                       |
| **temporal.server.total_user_timer_count.bucket**(count)                                         |
| **temporal.server.total_user_timer_count.count**(count)                                          |
| **temporal.server.total_user_timer_count.sum**(count)                                            |
| **temporal.server.transfer_task.missing_event_counter.count**(count)                             |
| **temporal.server.unbuffer_replication_tasks.bucket**(count)                                      |
| **temporal.server.unbuffer_replication_tasks.count**(count)                                       |
| **temporal.server.unbuffer_replication_tasks.sum**(count)                                         | *Shown as millisecond*                                                                                                     |
| **temporal.server.unknown_build.polls.count**(count)                                               |
| **temporal.server.unknown_build.tasks.count**(count)                                               |
| **temporal.server.update_namespace.failures.count**(count)                                         |
| **temporal.server.upsert_workflow_search_attributes_command.count**(count)                      |
| **temporal.server.utf8_validation_errors.count**(count)                                           |
| **temporal.server.verify.describe_mutable_state_latency.bucket**(count)                          |
| **temporal.server.verify.describe_mutable_state_latency.count**(count)                           |
| **temporal.server.verify.describe_mutable_state_latency.seconds.bucket**(count)                  |
| **temporal.server.verify.describe_mutable_state_latency.seconds.count**(count)                   |
| **temporal.server.verify.describe_mutable_state_latency.seconds.sum**(count)                     | *Shown as second*                                                                                                          |
| **temporal.server.verify.describe_mutable_state_latency.sum**(count)                             | *Shown as millisecond*                                                                                                     |
| **temporal.server.verify.replication_task.failed.count**(count)                                    |
| **temporal.server.verify.replication_task.not_found.count**(count)                                |
| **temporal.server.verify.replication_task.success.count**(count)                                   |
| **temporal.server.verify.replication_tasks.latency.bucket**(count)                                 |
| **temporal.server.verify.replication_tasks.latency.count**(count)                                  |
| **temporal.server.verify.replication_tasks.latency.sum**(count)                                    | *Shown as millisecond*                                                                                                     |
| **temporal.server.verify.replication_tasks_latency.bucket**(count)                                |
| **temporal.server.verify.replication_tasks_latency.count**(count)                                 |
| **temporal.server.verify.replication_tasks_latency.seconds.bucket**(count)                        |
| **temporal.server.verify.replication_tasks_latency.seconds.count**(count)                         |
| **temporal.server.verify.replication_tasks_latency.seconds.sum**(count)                           | *Shown as second*                                                                                                          |
| **temporal.server.verify.replication_tasks_latency.sum**(count)                                   | *Shown as millisecond*                                                                                                     |
| **temporal.server.version_check.failed.count**(count)                                              |
| **temporal.server.version_check.latency.bucket**(count)                                            |
| **temporal.server.version_check.latency.count**(count)                                             |
| **temporal.server.version_check.latency.seconds.bucket**(count)                                    |
| **temporal.server.version_check.latency.seconds.count**(count)                                     |
| **temporal.server.version_check.latency.seconds.sum**(count)                                       | *Shown as second*                                                                                                          |
| **temporal.server.version_check.latency.sum**(count)                                               | *Shown as millisecond*                                                                                                     |
| **temporal.server.version_check.request_failed.count**(count)                                     |
| **temporal.server.version_check.success.count**(count)                                             |
| **temporal.server.versioning.data_propagation_latency.bucket**(count)                             |
| **temporal.server.versioning.data_propagation_latency.count**(count)                              |
| **temporal.server.versioning.data_propagation_latency.seconds.bucket**(count)                     |
| **temporal.server.versioning.data_propagation_latency.seconds.count**(count)                      |
| **temporal.server.versioning.data_propagation_latency.seconds.sum**(count)                        | *Shown as second*                                                                                                          |
| **temporal.server.versioning.data_propagation_latency.sum**(count)                                | *Shown as millisecond*                                                                                                     |
| **temporal.server.visibility.archiver.archive.non_retryable_error.count**(count)                  |
| **temporal.server.visibility.archiver.archive.success.count**(count)                                |
| **temporal.server.visibility.archiver.archive.transient_error.count**(count)                       |
| **temporal.server.visibility.persistence.error_with_type.count**(count)                           |
| **temporal.server.visibility.persistence.errors.count**(count)                                      |
| **temporal.server.visibility.persistence.latency.bucket**(count)                                    |
| **temporal.server.visibility.persistence.latency.count**(count)                                     |
| **temporal.server.visibility.persistence.latency.seconds.bucket**(count)                            |
| **temporal.server.visibility.persistence.latency.seconds.count**(count)                             |
| **temporal.server.visibility.persistence.latency.seconds.sum**(count)                               | *Shown as second*                                                                                                          |
| **temporal.server.visibility.persistence.latency.sum**(count)                                       | *Shown as millisecond*                                                                                                     |
| **temporal.server.visibility.persistence.requests.count**(count)                                    |
| **temporal.server.visibility.persistence.resource_exhausted.count**(count)                         |
| **temporal.server.wf_too_many_pending.activities.count**(count)                                  |
| **temporal.server.wf_too_many_pending.cancel_requests.count**(count)                            |
| **temporal.server.wf_too_many_pending.child_workflows.count**(count)                            |
| **temporal.server.wf_too_many_pending.external_workflow_signals.count**(count)                 |
| **temporal.server.worker_deployment_created.count**(count)                                        |
| **temporal.server.worker_deployment_version_created.count**(count)                               |
| **temporal.server.worker_deployment_version_created_managed_by_controller.count**(count)      |
| **temporal.server.worker_deployment_version_visibility_query_count.count**(count)              |
| **temporal.server.worker_deployment_versioning_override_count.count**(count)                    |
| **temporal.server.worker_not_supports_consistent_query.count**(count)                           |
| **temporal.server.workflow.cancel.count**(count)                                                    |
| **temporal.server.workflow.cleanup.archive.count**(count)                                           |
| **temporal.server.workflow.cleanup.delete.count**(count)                                            |
| **temporal.server.workflow.cleanup.delete_history_inline.count**(count)                           |
| **temporal.server.workflow.cleanup.nop.count**(count)                                               |
| **temporal.server.workflow.context_cleared.count**(count)                                          |
| **temporal.server.workflow.continued_as_new.count**(count)                                        |
| **temporal.server.workflow.cron_backoff.timer.count**(count)                                       |
| **temporal.server.workflow.eager_execution.count**(count)                                          |
| **temporal.server.workflow.eager_execution.denied.count**(count)                                   |
| **temporal.server.workflow.failed.count**(count)                                                    |
| **temporal.server.workflow.retry_backoff.timer.count**(count)                                      |
| **temporal.server.workflow.run_timeout_overrides.count**(count)                                   |
| **temporal.server.workflow.schedule_to_close_latency.bucket**(count)                             |
| **temporal.server.workflow.schedule_to_close_latency.count**(count)                              |
| **temporal.server.workflow.schedule_to_close_latency.seconds.bucket**(count)                     |
| **temporal.server.workflow.schedule_to_close_latency.seconds.count**(count)                      |
| **temporal.server.workflow.schedule_to_close_latency.seconds.sum**(count)                        | *Shown as second*                                                                                                          |
| **temporal.server.workflow.schedule_to_close_latency.sum**(count)                                | *Shown as millisecond*                                                                                                     |
| **temporal.server.workflow.success.count**(count)                                                   |
| **temporal.server.workflow.task.attempt.bucket**(count)                                             |
| **temporal.server.workflow.task.attempt.count**(count)                                              |
| **temporal.server.workflow.task.attempt.sum**(count)                                                |
| **temporal.server.workflow.task.heartbeat_timeout.count**(count)                                   |
| **temporal.server.workflow.task.query_latency.bucket**(count)                                      |
| **temporal.server.workflow.task.query_latency.count**(count)                                       |
| **temporal.server.workflow.task.query_latency.seconds.bucket**(count)                              |
| **temporal.server.workflow.task.query_latency.seconds.count**(count)                               |
| **temporal.server.workflow.task.query_latency.seconds.sum**(count)                                 | *Shown as second*                                                                                                          |
| **temporal.server.workflow.task.query_latency.sum**(count)                                         | *Shown as millisecond*                                                                                                     |
| **temporal.server.workflow.task.timeout_overrides.count**(count)                                   |
| **temporal.server.workflow.terminate.count**(count)                                                 |
| **temporal.server.workflow.timeout.count**(count)                                                   |
| **temporal.server.workflow_backoff_timer.count**(count)                                           |
| **temporal.server.workflow_delayed_start.backoff_timer.count**(count)                            |
| **temporal.server.workflow_query.failure_count.count**(count)                                     |
| **temporal.server.workflow_query.success_count.count**(count)                                     |
| **temporal.server.workflow_query.timeout_count.count**(count)                                     |
| **temporal.server.workflow_reset_count.count**(count)                                             |
| **temporal.server.workflow_tasks.completed.count**(count)                                          |
| **temporal.server.workflow_update.aborted.count**(count)                                           |
| **temporal.server.workflow_update.client_timeout.count**(count)                                   |
| **temporal.server.workflow_update.continue_as_new_suggestions.count**(count)                    |
| **temporal.server.workflow_update.normal_workflow_task.count**(count)                            |
| **temporal.server.workflow_update.registry_size.bucket**(count)                                   |
| **temporal.server.workflow_update.registry_size.count**(count)                                    |
| **temporal.server.workflow_update.registry_size.sum**(count)                                      | *Shown as byte*                                                                                                            |
| **temporal.server.workflow_update.registry_size_limited.count**(count)                           |
| **temporal.server.workflow_update.request_rate_limited.count**(count)                            |
| **temporal.server.workflow_update.request_too_many.count**(count)                                |
| **temporal.server.workflow_update.sent_to_worker.count**(count)                                  |
| **temporal.server.workflow_update.sent_to_worker_again.count**(count)                           |
| **temporal.server.workflow_update.server_timeout.count**(count)                                   |
| **temporal.server.workflow_update.speculative_workflow_task.count**(count)                       |
| **temporal.server.workflow_update.wait_stage_accepted.count**(count)                             |
| **temporal.server.workflow_update.wait_stage_completed.count**(count)                            |
| **temporal.server.workflow_update_registry.size.bucket**(count)                                   |
| **temporal.server.workflow_update_registry.size.count**(count)                                    |
| **temporal.server.workflow_update_registry.size.sum**(count)                                      | *Shown as byte*                                                                                                            |

### Events{% #events %}

The Temporal integration does not include any events.

### Service Checks{% #service-checks %}

**temporal.server.openmetrics.health**

Returns `CRITICAL` if the check cannot access the Prometheus metrics endpoint of the Temporal instance.

*Statuses: ok, critical*

### Logs{% #logs %}

The Temporal integration can collect logs from the Temporal Cluster and forward them to Datadog.

## Troubleshooting{% #troubleshooting %}

Need help? Contact [Datadog support](https://docs.datadoghq.com/help/).

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

Additional helpful documentation, links, and articles:

- [Monitor the health of your Temporal Server with Datadog](https://www.datadoghq.com/blog/temporal-server-integration/)
