Skip to content

Commit bf1b303

Browse files
authored
fix(experiments): Fix timeseries tooltip (#42486)
1 parent 35db191 commit bf1b303

File tree

3 files changed

+28
-6
lines changed

3 files changed

+28
-6
lines changed

frontend/src/scenes/experiments/MetricsView/new/TimeseriesModal.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { dayjs } from 'lib/dayjs'
88
import { More } from 'lib/lemon-ui/LemonButton/More'
99
import { Spinner } from 'lib/lemon-ui/Spinner'
1010

11-
import { ExperimentMetric } from '~/queries/schema/schema-general'
11+
import { ExperimentMetric, isExperimentRatioMetric } from '~/queries/schema/schema-general'
1212
import type { Experiment } from '~/types'
1313

1414
import { VariantTag } from '../../ExperimentView/components'
@@ -165,7 +165,10 @@ export function TimeseriesModal({
165165
</div>
166166
{hasTimeseriesData ? (
167167
processedChartData ? (
168-
<VariantTimeseriesChart chartData={processedChartData} />
168+
<VariantTimeseriesChart
169+
chartData={processedChartData}
170+
isRatioMetric={isExperimentRatioMetric(metric)}
171+
/>
169172
) : (
170173
<div className="p-10 text-center text-muted">
171174
No timeseries data available for this variant

frontend/src/scenes/experiments/MetricsView/new/VariantTimeseriesChart.tsx

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,13 @@ import { useChartColors } from '../shared/colors'
77

88
interface VariantTimeseriesChartProps {
99
chartData: ProcessedChartData
10+
isRatioMetric?: boolean
1011
}
1112

12-
export function VariantTimeseriesChart({ chartData: data }: VariantTimeseriesChartProps): JSX.Element {
13+
export function VariantTimeseriesChart({
14+
chartData: data,
15+
isRatioMetric = false,
16+
}: VariantTimeseriesChartProps): JSX.Element {
1317
const canvasRef = useRef<HTMLCanvasElement>(null)
1418
const chartRef = useRef<Chart | null>(null)
1519
const colors = useChartColors()
@@ -101,8 +105,20 @@ export function VariantTimeseriesChart({ chartData: data }: VariantTimeseriesCha
101105
lines.push('⚠️ Data pending - showing last known value')
102106
}
103107

104-
if (dataPoint && dataPoint.number_of_samples) {
105-
lines.push(`Samples: ${dataPoint.number_of_samples.toLocaleString()}`)
108+
if (dataPoint) {
109+
if (isRatioMetric) {
110+
if (dataPoint.denominator_sum) {
111+
lines.push(
112+
`Denominator: ${dataPoint.denominator_sum.toLocaleString()}`
113+
)
114+
}
115+
} else {
116+
if (dataPoint.number_of_samples) {
117+
lines.push(
118+
`Exposures: ${dataPoint.number_of_samples.toLocaleString()}`
119+
)
120+
}
121+
}
106122
}
107123
if (dataPoint && dataPoint.significant !== undefined) {
108124
lines.push(`Significant: ${dataPoint.significant ? 'Yes' : 'No'}`)
@@ -132,7 +148,7 @@ export function VariantTimeseriesChart({ chartData: data }: VariantTimeseriesCha
132148
chartRef.current = null
133149
}
134150
}
135-
}, [data, colors.EXPOSURES_AXIS_LINES])
151+
}, [data, colors.EXPOSURES_AXIS_LINES, isRatioMetric])
136152

137153
return (
138154
<div className="relative h-[224px]">

frontend/src/scenes/experiments/experimentTimeseriesLogic.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ export interface ProcessedTimeseriesDataPoint {
2828
lower_bound: number | null
2929
hasRealData: boolean
3030
number_of_samples?: number
31+
denominator_sum?: number
3132
significant?: boolean
3233
}
3334

@@ -173,6 +174,7 @@ export const experimentTimeseriesLogic = kea<experimentTimeseriesLogicType>([
173174
lower_bound: lower,
174175
hasRealData: true,
175176
number_of_samples: variant.number_of_samples || 0,
177+
denominator_sum: variant.denominator_sum || 0,
176178
significant: variant.significant ?? false,
177179
}
178180

@@ -198,6 +200,7 @@ export const experimentTimeseriesLogic = kea<experimentTimeseriesLogicType>([
198200
lower_bound: 0,
199201
hasRealData: false,
200202
number_of_samples: 0,
203+
denominator_sum: 0,
201204
significant: false,
202205
}
203206
})

0 commit comments

Comments
 (0)