Conversation
🦋 Changeset detectedLatest commit: b4af62f The changes in this PR will be included in the next version bump. This PR includes changesets to release 4 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
E2E Test Results✅ All tests passed • 161 passed • 3 skipped • 1173s
Tests ran across 4 shards in parallel. |
🔴 Tier 4 — CriticalTouches auth, data models, config, tasks, OTel pipeline, ClickHouse, or CI/CD. Why this tier:
Review process: Deep review from a domain expert. Synchronous walkthrough may be required. Stats
|
PR Review
|
| numberFormat ?? | ||
| (Array.isArray(select) | ||
| ? getFirstSeriesNumberFormat(select, tableSource) | ||
| : undefined), | ||
| [numberFormat, select, tableSource], |
There was a problem hiding this comment.
Only auto-detect the number format if there is no existing chart-wide table format set
d5d98a7 to
fd4f3c0
Compare
fd4f3c0 to
4113c42
Compare
| await dashboardPage.createNewDashboard(); | ||
| }); | ||
|
|
||
| test('per-series format overrides chart-wide format and falls back when reset to inherit', async () => { |
There was a problem hiding this comment.
praise: very well written feature specs 👍
question (non-blocking): do we really need a 60s timeout? can we shorten it?
There was a problem hiding this comment.
Reduced to 15 seconds. That's still probably pretty conservative, but the page can load pretty slowly in CI sometimes.
|
|
||
| // --- chartFormat resolution --- | ||
|
|
||
| it('uses config.numberFormat as chartFormat when set', () => { |
There was a problem hiding this comment.
nit (non-blocking): we can probably use parameterized tests to dry some of these tests up
There was a problem hiding this comment.
Good idea, updated.
d38ba0b to
a81bfd2
Compare
Summary
This PR adds per-series number formats (for chart-builder-based charts). This allows the user to specify a different number format for different table columns or series.
For series without formats defined, the existing config's format is applied (if applicable). If there's no chart-wide format, then we attempt to infer a
durationtype format for any series aggregating the Trace Duration field. (re-using the previous logic for inferring duration number formats).This PR includes updates the external API to support the new per-series numberFormat field.
This PR also updates various charts on the services dashboard which previously displayed
msunits for non-duration series. These charts now only showmsformatting for duration aggregations.Screenshots or video
Screen.Recording.2026-04-29.at.10.07.45.AM.mov
Services Dashboard:
How to test locally or on Vercel
Most of this can be tested in the preview environment in a dashboard or in the chart explorer. The external API updates can be tested locally by running CRUD requests against a dashboard, specifying per-series number formats.
References