import type { ChartLineProps } from 'ui-patterns/Chart' import type { EdgeFunctionChartDatum } from './EdgeFunctionOverview.utils' import { formatReferenceDelta, getMemoryTooltipDetail } from './EdgeFunctionOverview.utils' export const ExecutionTooltipDetail = ({ averageExecutionTime, metricKey, value, }: { averageExecutionTime: number metricKey: string value: unknown }) => { if (metricKey !== 'max_execution_time') return null return ( {formatReferenceDelta(Number(value ?? 0), averageExecutionTime)} ) } export const CpuTooltipDetail = ({ averageCpuTime, value, }: { averageCpuTime: number value: unknown }) => { return ( {formatReferenceDelta(Number(value ?? 0), averageCpuTime)} ) } export const MemoryTooltipDetail = ({ averageMemoryUsage, datum, value, }: { averageMemoryUsage: number datum: EdgeFunctionChartDatum value: unknown }) => { return ( <> {formatReferenceDelta(Number(value ?? 0), averageMemoryUsage)} {getMemoryTooltipDetail(datum.avg_heap_memory_used, datum.avg_external_memory_used)} ) } export const getExecutionTooltipDetails = ( averageExecutionTime: number ): NonNullable => { return function renderExecutionTooltipDetails(_, key, value) { return ( ) } } export const getCpuTooltipDetails = ( averageCpuTime: number ): NonNullable => { return function renderCpuTooltipDetails(_, __, value) { return } } export const getMemoryTooltipDetails = ( averageMemoryUsage: number ): NonNullable => { return function renderMemoryTooltipDetails(datum, _, value) { return ( ) } }