getsentry / getsentry/self-hosted

Dashboard Web Vitals widgets show "No Data" after upgrading self-hosted 25.4.0 -> 26.5.2 while Discover returns results

Open
#4,389 3 comments 0 reactions 0 assignees View on GitHub
Waiting for: Product Owner
Dominant language
Shell
Stars
9.6k
Forks
2k
Avg merge
1d 5h
Merged PRs (30d)
15

Description

### Self-Hosted Version

self-hosted 26.5.2

### CPU Architecture

X86_64

### Docker Version

Docker version 26.1.3, build b72abbb

### Docker Compose Version

Docker Compose version v2.36.0

### Machine Specification

- [x] My system meets the minimum system requirements of Sentry

### Installation Type

upgrading from self-hosted 25.4.0 to 26.5.2

### Steps to Reproduce

### Environment

* self-hosted 26.5.2
* Official docker-compose deployment
* Upgraded from self-hosted 25.4.0

### Steps to reproduce

1. Upgrade a self-hosted Sentry instance from 25.4.0 to 26.5.2.
2. Send browser performance transactions containing Web Vitals (LCP/FCP).
3. Verify that Discover returns data using:

```
project:
transaction.op:pageload

Fields:
- p75(measurements.lcp)
- p75(measurements.fcp)
- avg(measurements.lcp)
- avg(measurements.fcp)
```

4. Create a Dashboard widget with the same fields and filters.
5. Observe that the Dashboard widget displays **"No Data"**.
6. Click **"Open in Discover"** from the widget, and the same query immediately returns data.

### Additional observations

We verified the following:

* Transactions are successfully ingested.
* `transactions_local` contains thousands of recent pageload transactions.
* Transactions contain both `measurements.lcp` and `measurements.fcp`.
* Discover requests use:

```
dataset_label='transactions'
```

* Dashboard requests use:

```
dataset_label='metricsEnhanced'
```

Additionally, `sentry_perfstringindexer` contains

```
d:transactions/measurements.score.ratio.lcp@ratio
```

but does **not** contain

```

Image

d:transactions/measurements.lcp@millisecond
```

Image

This appears to cause Dashboard queries to return no data while Discover works correctly.

### Expected Result

Dashboard widgets should display the same Web Vitals metrics as Discover when querying the same project, filters, and fields.

Both Dashboard and Discover should return identical results for:

* p75(measurements.lcp)
* p75(measurements.fcp)
* avg(measurements.lcp)
* avg(measurements.fcp)

### Actual Result

Dashboard widgets always display **"No Data"**, even though the same query works correctly in Discover.

This also occurs for:

* Newly created Dashboard widgets
* Widgets saved directly from Discover

Relevant log output:

Dashboard:

```text
referrer='api.dashboards.widget.line-chart'
dataset_label='metricsEnhanced'
```

Discover:

```text
referrer='api.discover.default-chart'
dataset_label='transactions'
```

The ClickHouse `transactions_local` table contains recent transactions with both `measurements.lcp` and `measurements.fcp`, confirming that ingestion is working correctly.

### Event ID

_No response_

Contributor guide

Open the contributing guide

Research direction

Start by comparing the Dashboard entry point `api.dashboards.widget.line-chart` with the Discover entry point `api.discover.default-chart`, focusing on their `dataset_label` values and Web Vitals field handling. Reproduce the issue with the listed LCP/FCP queries and inspect the ClickHouse `transactions_local` table and `sentry_perfstringindexer`; done means Dashboard widgets return the same metrics as Discover.

Written by the indexing model from the issue text.

Assessment

Tech stack
clickhouse, docker, docker-compose, shell
Domain
backend, data, databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.