Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
360e34c
feat: heatmap visualization overhaul - log scale, sqrt color, legend
Mar 14, 2026
6c50616
fix: add missing Flex import to DBHeatmapChart
Mar 14, 2026
3ac7825
fix: store log-space y-values so log heatmap tiles are visible
github-actions[bot] Mar 14, 2026
1f3bc1c
fix: log heatmap range compression and selection filter values
Mar 14, 2026
4150609
fix: per-column color normalization and auto ms unit on heatmap axis
Mar 14, 2026
a2b5875
fix: use global p95 normalization for heatmap colors
Mar 14, 2026
4a72b9b
fix: adaptive mantissa for heatmap y-axis tick labels
Mar 14, 2026
3be0359
fix: use power-of-10 tick positions for log-scale heatmap y-axis
Mar 14, 2026
ba2c56b
fix: auto-scale duration units on heatmap axis and increase chart height
Mar 14, 2026
71c8a07
fix: pagination clipped by overflow:hidden on heatmap container
Mar 14, 2026
4838b71
fix: delta chart pagination clipped by heatmap height increase
Mar 14, 2026
f5b41c6
fix: y-axis labels clipped and pagination layout
Mar 14, 2026
77768a3
fix: log-scale bottom bucket selection misses clamped spans
Mar 14, 2026
df5f2a2
fix: reserve space for lower-priority divider in row calculation
Mar 14, 2026
10c9558
feat: add count sparkline above heatmap for volume spike visibility
Mar 14, 2026
153214c
fix: remove inherited orderBy from count sparkline config
Mar 14, 2026
4f13471
Revert "fix: remove inherited orderBy from count sparkline config"
Mar 14, 2026
6efa87c
Revert "feat: add count sparkline above heatmap for volume spike visi…
Mar 14, 2026
eabe433
fix: use actual max() for heatmap upper bound instead of p99
Mar 14, 2026
0bc2eee
fix: theme-neutral heatmap color palette for dark/light mode visibility
Mar 16, 2026
7d82be9
fix: theme-aware heatmap color palettes (dark/light)
Mar 16, 2026
5a350e9
fix: clamp heatmap tooltip to prevent overflow off bottom edge
Mar 16, 2026
ea9f2b7
fix: theme-aware heatmap tooltips using Mantine CSS vars
Mar 16, 2026
ace91dc
refactor: move heatmap Value/Count editors into settings drawer
Mar 16, 2026
9be977c
fix: minimize heatmap chrome — overlay legend, move controls to drawer
Mar 17, 2026
aac16f4
fix: reposition color legend above x-axis with background pill
Mar 17, 2026
37c462c
fix: give color legend gradient a fixed width so it renders in overlay
Mar 17, 2026
803beb8
fix: move color legend below chart into its own row before delta chart
Mar 17, 2026
c793e2b
fix: merge color legend into delta chart legend row
Mar 17, 2026
b9ed0e4
fix: add separator and top margin to legend row for visual clarity
Mar 17, 2026
42548d4
fix: flip Filter by Selection button below when selection is near cha…
Mar 17, 2026
8c0ba25
fix: address code review findings (#2, #3, #4, #8)
alex-fedotyev Mar 17, 2026
12f3760
fix: persist scaleType to URL and remove conflicting required rule (#…
alex-fedotyev Mar 17, 2026
c576b42
fix: add accessibility label to ColorLegend (#8)
alex-fedotyev Mar 17, 2026
3879ead
fix: revert test assertion (#2 was false positive) and improve comment
alex-fedotyev Mar 17, 2026
22a30b3
fix: use void operator on setFields Promise to satisfy no-misused-pro…
alex-fedotyev Mar 17, 2026
470bf16
fix: revert scaleType URL persistence to fix lint, keep required remo…
alex-fedotyev Mar 17, 2026
e764d8d
fix: fix Prettier formatting and restore scaleType URL persistence
Mar 17, 2026
12da69d
fix: correct p95Idx off-by-one and clarify adjustedYMin threshold
Mar 17, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 19 additions & 2 deletions packages/app/src/components/DBDeltaChart.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ export default function DBDeltaChart({
yMax: rawYMax,
onAddFilter,
spanIdExpression,
legendPrefix,
}: {
config: BuilderChartConfigWithDateRange;
valueExpr: string;
Expand All @@ -62,6 +63,7 @@ export default function DBDeltaChart({
yMax?: number | null;
onAddFilter?: AddFilterFn;
spanIdExpression?: string;
legendPrefix?: React.ReactNode;
}) {
// Derive whether a heatmap selection exists from nullable props
const hasSelection =
Expand Down Expand Up @@ -378,10 +380,16 @@ export default function DBDeltaChart({
1,
Math.floor((containerWidth + CHART_GAP) / (CHART_WIDTH + CHART_GAP)),
);
// The "Lower-priority fields" divider (~30px) may appear between visible
// and hidden sections on the same page. Reserve space for it so the last
// chart row + pagination aren't pushed out of the overflow:hidden container.
const hasDivider =
visibleProperties.length > 0 && hiddenProperties.length > 0;
const dividerHeight = hasDivider ? 30 : 0;
const rows = Math.max(
1,
Math.floor(
(containerHeight - PAGINATION_HEIGHT + CHART_GAP) /
(containerHeight - PAGINATION_HEIGHT - dividerHeight + CHART_GAP) /
(CHART_HEIGHT + CHART_GAP),
),
);
Expand Down Expand Up @@ -468,7 +476,16 @@ export default function DBDeltaChart({
}}
>
{/* Legend */}
<Flex gap="md" align="center" mb="xs" wrap="wrap">
<Flex gap="md" align="center" mt={2} mb="xs" wrap="wrap">
{legendPrefix}
{legendPrefix && (
<Box
h={12}
style={{
borderLeft: '1px solid var(--mantine-color-default-border)',
}}
/>
)}
{hasSelection ? (
<>
<Flex align="center" gap={4}>
Expand Down
Loading
Loading