# Mismatch between Temporal UI workflow counts and official Grafana dashboard metrics

**URL:** <https://community.temporal.io/t/mismatch-between-temporal-ui-workflow-counts-and-official-grafana-dashboard-metrics/18697>\
**Category:** Community Support\
**Created:** [November 24, 2025, 10:19am UTC](https://community.temporal.io/t/mismatch-between-temporal-ui-workflow-counts-and-official-grafana-dashboard-metrics/18697 "2025-11-24T10:19:27Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Aashisha\_Negi](https://avatars.discourse-cdn.com/v4/letter/a/50afbb/32.png) [@Aashisha\_Negi](https://community.temporal.io/u/Aashisha_Negi)\
**Post date:** [November 24, 2025, 10:19am UTC](https://community.temporal.io/t/mismatch-between-temporal-ui-workflow-counts-and-official-grafana-dashboard-metrics/18697/1 "2025-11-24T10:19:27Z")

</div>

Hi Team,

We are using Temporal Cloud and have installed the **official Grafana dashboard for Temporal** ( [dashboards/cloud/temporal\_cloud.json at master · temporalio/dashboards · GitHub](https://github.com/temporalio/dashboards/blob/master/cloud/temporal_cloud.json) ).

While comparing the Grafana dashboard metrics with the values shown in the **Temporal UI** , we are noticing significant discrepancies.  
For example, for a given time range (24 Nov, 11:00 AM – 12:30 PM):

- Temporal UI shows:

But the official Grafana dashboard panels (which use metrics like `temporal_cloud_v0_workflow_success_count`, `temporal_cloud_v0_workflow_failed_count`, `temporal_cloud_v0_workflow_terminate_count`, `temporal_cloud_v0_workflow_continued_as_new_count`, etc.) show **very different numbers**.  
Even after aligning the time range, the counts from Prometheus do not match what the UI reports.

Based on our investigation, it appears that:

- The **Temporal UI** is showing the number of **workflows in each final state**.

- The **Grafana dashboard** is showing the number of **state transition events** , where counters can increment multiple times for a single workflow (e.g., retries, continues-as-new, failures before eventual success).

Because of this, a single workflow may generate multiple increments in Prometheus metrics, so the values can’t match 1:1 with the UI.

### My questions:

1. Is this interpretation correct?

2. Is the mismatch expected for the official Grafana dashboard?

3. Is there any recommended way to get **UI-equivalent workflow counts** (based on Visibility state) exposed as Prometheus metrics?

We want to verify if our dashboards are behaving correctly, or if something needs to be configured differently.

Thanks in advance!

---

<div class="post-metadata">

**Author:** ![tihomir](https://sea2.discourse-cdn.com/flex016/user_avatar/community.temporal.io/tihomir/32/6580_2.png) [@tihomir](https://community.temporal.io/u/tihomir)\
**Post date:** [November 25, 2025, 1:56am UTC](https://community.temporal.io/t/mismatch-between-temporal-ui-workflow-counts-and-official-grafana-dashboard-metrics/18697/2 "2025-11-25T01:56:12Z")

</div>

Data you look at in the UI is visibility data. This data is bound by your namespace retention period, so for example number of completed executions would show executions that have completed within time X where X is your namespace retention period, for example set to 10 days (iirs max is 90 days on cloud)

> The **Grafana dashboard** is showing the number of **state transition events** , where counters can increment multiple times for a single workflow

Not sure this is correct as these are server metrics. Your SDK (worker) metrics could be larger as sdk worker requests for example completion of a workflow execution which server can under some conditions not accept, but what you are showing are server metrics, and server would fail for example an execution just once (it has final say).  
My best guess is that the time range for metrics might be different than that of namespace retention, and maybe you are looking at accumulation? whats the metrics queries you are using for these counters?

---

<div class="post-metadata">

**Author:** ![Aashisha\_Negi](https://avatars.discourse-cdn.com/v4/letter/a/50afbb/32.png) [@Aashisha\_Negi](https://community.temporal.io/u/Aashisha_Negi)\
**Post date:** [November 25, 2025, 4:55am UTC](https://community.temporal.io/t/mismatch-between-temporal-ui-workflow-counts-and-official-grafana-dashboard-metrics/18697/3 "2025-11-25T04:55:51Z")

</div>

![image](https://us1.discourse-cdn.com/flex016/uploads/temporal/original/2X/0/032390c121d21b5037a226ed1ee8ec2451192f56.png)

Hi @tihomir, thanks for the response.

To clarify, the time ranges I’m using in Grafana and in the Temporal UI are **exactly the same**.  
Here is one example with concrete numbers for the range:

**24 Nov, 08:00 AM → 12:00 PM**

### **Temporal UI values for that window (Visibility API):**

- Completed: **X**

- Terminated: **Y**

- ContinuedAsNew: **Z**

### **Grafana (Prometheus) values for the same window:**

Query:

```auto
sum(increase(temporal_cloud_v0_workflow_success_count{temporal_namespace="xyz"}[$__range]))

```

This returns: **9.17k**

Temporal UI Completed in the same range: **X** (significantly different)

Another example:

```auto
sum(increase(temporal_cloud_v0_workflow_terminate_count{temporal_namespace="xyz"}[$__range]))

```

Grafana result: **886**  
Temporal UI Terminated in same window: **35**

So even though both UI and Grafana are using the same timestamp window, the numbers are still far apart.

I’m trying to determine whether:

1. This discrepancy is expected (UI using Visibility store vs metrics coming from server counters),

2. Or whether our setup is missing some configuration needed to get UI-equivalent counts.

Thanks again for your help!
