fix(frontend): Inconsistent Grid Lines in Analytics Dashboard Charts #3344
+133
−14
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue Description
The charts on the Overview and Home pages (Requests, Latency, etc.) displayed an inconsistent number of horizontal grid lines. Users observed that sometimes 4 lines were shown, while other times only 3 were visible. Specifically, intermediate grid lines (e.g., the 21ms mark in a 0-28ms scale) were being skipped, creating a confusing and non-uniform visual experience.
Root Cause
The issue stemmed from the
AreaChartcomponent from the@tremor/reactlibrary, which was previously used for these plots.Rechartsconfiguration and does not expose key properties liketickCountorinterval.Rechartslogic detects potential text overlaps on the Y-axis and hides ticks (and their associated grid lines) to save space. Without access to theintervalprop via Tremor, we could not disable this behavior.Solution
We replaced the rigid Tremor
AreaChartwith a new, flexibleCustomAreaChartcomponent built directly on top ofRecharts.This custom implementation allows us to:
tickCount={5}to ensure exactly 4 intervals (5 ticks including 0) are always generated.interval={0}to the Y-Axis configuration. This strictly instructs the library to render all generated ticks and grid lines, regardless of vertical spacing or collision detection.cyan-600,rose, etc.), and tooltips.Tech Stack Changes
src/components/pages/observability/dashboard/CustomAreaChart.tsxsrc/components/pages/observability/dashboard/AnalyticsDashboard.tsx(swapped Tremor chart for Custom chart).Before
After