Skip to content

feat(timeseries): Add 6h interval#112678

Merged
wmak merged 1 commit intomasterfrom
wmak/feat/add-6h-interval
Apr 10, 2026
Merged

feat(timeseries): Add 6h interval#112678
wmak merged 1 commit intomasterfrom
wmak/feat/add-6h-interval

Conversation

@wmak
Copy link
Copy Markdown
Member

@wmak wmak commented Apr 10, 2026

  • This adds a 6h interval so we can make graphs on larger timeseries look better

- This adds a 6h interval so we can make graphs on larger timeseries
  look better
@wmak wmak requested a review from a team as a code owner April 10, 2026 16:21
@github-actions github-actions bot added the Scope: Backend Automatically applied to PRs that change backend components label Apr 10, 2026
@wmak
Copy link
Copy Markdown
Member Author

wmak commented Apr 10, 2026

Waiting on getsentry/snuba#7867

@wmak wmak merged commit ffe2273 into master Apr 10, 2026
57 checks passed
@wmak wmak deleted the wmak/feat/add-6h-interval branch April 10, 2026 19:32
gggritso added a commit that referenced this pull request Apr 13, 2026
Rebalance chart interval ladders and default strategy on dashboards to
reduce data point counts and improve chart smoothness. Awaiting
#112678

See [DAIN-1376](https://linear.app/getsentry/issue/DAIN-1376) for full
context and audit.

tl;dr the current behaviour is: give everyone 3-4 options for the
interval, always default to the highest granularity. This causes much
jank, since so much data is loading! What we think we want to do is
choose the _second_ highest granularity by default, but in many cases
that's not enough points.

In this PR I both switch to using the second-highest granularity by
default (in Dashboards, not Explore), and also re-balance the options so
things are a bit more even. It's a bit of science and a bit of art, but
the results should be pretty decent!

### Before

| Duration Range | 1m | 5m | 15m | 30m | 1h | 3h | 12h | 1d |
|---|---|---|---|---|---|---|---|---|
| **1h–6h** | **60–359** | 12–71 | 4–23 | - | - | - | - | - |
| **6h–48h** | - | **72–575** | 24–191 | 12–95 | 6–47 | - | - | - |
| **48h–7d** | - | - | **192–671** | 96–335 | 48–167 | 16–55 | - | - |
| **7d–14d** | - | - | - | **336–671** | 168–335 | 56–111 | 14–27 | - |
| **14d–30d** | - | - | - | - | **336–719** | 112–239 | 28–59 | 14–29 |
| **30d–90d** | - | - | - | - | - | **240–720** | 60–180 | 30–90 |

Defaults (bold) hit 575–720 points at the upper end of every band, which
is an awful lot of points to show by default.

### After

| Duration Range | 1m | 5m | 10m | 30m | 1h | 3h | 6h | 12h |
|---|---|---|---|---|---|---|---|---|
| **1h–6h** | **60–359** | 12–71 | - | - | - | - | - | - |
| **6h–12h** | *360–719* | **72–143** | 36–71 | - | - | - | - | - |
| **12h–2d** | - | *144–575* | **72–287** | 24–95 | - | - | - | - |
| **2d–4d** | - | - | *288–575* | **96–191** | 48–95 | - | - | - |
| **4d–14d** | - | - | - | *192–671* | **96–335** | 32–111 | - | - |
| **14d–30d** | - | - | - | - | *336–719* | **112–239** | 56–119 | - |
| **30d–90d** | - | - | - | - | - | *240–720* | **120–360** | 60–180 |

Defaults (bold) stay in the 60–360 range. High granularity is still
available for those who want it.

### Changes
- Replace `15m` with `10m`, add `6h`, remove `1d` from interval options
- Rebalance MINIMUM/MAXIMUM ladders with new thresholds at 12h, 2d, 4d
- Default to second-biggest interval on dashboards
(`USE_SECOND_BIGGEST`), keep Explore using the highest granularity by
default
- 1h–6h band naturally defaults to 1m (finest) since it only has 2
options

Refs DAIN-1376

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
wedamija pushed a commit that referenced this pull request Apr 13, 2026
Rebalance chart interval ladders and default strategy on dashboards to
reduce data point counts and improve chart smoothness. Awaiting
#112678

See [DAIN-1376](https://linear.app/getsentry/issue/DAIN-1376) for full
context and audit.

tl;dr the current behaviour is: give everyone 3-4 options for the
interval, always default to the highest granularity. This causes much
jank, since so much data is loading! What we think we want to do is
choose the _second_ highest granularity by default, but in many cases
that's not enough points.

In this PR I both switch to using the second-highest granularity by
default (in Dashboards, not Explore), and also re-balance the options so
things are a bit more even. It's a bit of science and a bit of art, but
the results should be pretty decent!

### Before

| Duration Range | 1m | 5m | 15m | 30m | 1h | 3h | 12h | 1d |
|---|---|---|---|---|---|---|---|---|
| **1h–6h** | **60–359** | 12–71 | 4–23 | - | - | - | - | - |
| **6h–48h** | - | **72–575** | 24–191 | 12–95 | 6–47 | - | - | - |
| **48h–7d** | - | - | **192–671** | 96–335 | 48–167 | 16–55 | - | - |
| **7d–14d** | - | - | - | **336–671** | 168–335 | 56–111 | 14–27 | - |
| **14d–30d** | - | - | - | - | **336–719** | 112–239 | 28–59 | 14–29 |
| **30d–90d** | - | - | - | - | - | **240–720** | 60–180 | 30–90 |

Defaults (bold) hit 575–720 points at the upper end of every band, which
is an awful lot of points to show by default.

### After

| Duration Range | 1m | 5m | 10m | 30m | 1h | 3h | 6h | 12h |
|---|---|---|---|---|---|---|---|---|
| **1h–6h** | **60–359** | 12–71 | - | - | - | - | - | - |
| **6h–12h** | *360–719* | **72–143** | 36–71 | - | - | - | - | - |
| **12h–2d** | - | *144–575* | **72–287** | 24–95 | - | - | - | - |
| **2d–4d** | - | - | *288–575* | **96–191** | 48–95 | - | - | - |
| **4d–14d** | - | - | - | *192–671* | **96–335** | 32–111 | - | - |
| **14d–30d** | - | - | - | - | *336–719* | **112–239** | 56–119 | - |
| **30d–90d** | - | - | - | - | - | *240–720* | **120–360** | 60–180 |

Defaults (bold) stay in the 60–360 range. High granularity is still
available for those who want it.

### Changes
- Replace `15m` with `10m`, add `6h`, remove `1d` from interval options
- Rebalance MINIMUM/MAXIMUM ladders with new thresholds at 12h, 2d, 4d
- Default to second-biggest interval on dashboards
(`USE_SECOND_BIGGEST`), keep Explore using the highest granularity by
default
- 1h–6h band naturally defaults to 1m (finest) since it only has 2
options

Refs DAIN-1376

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Scope: Backend Automatically applied to PRs that change backend components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants