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 (
)
}
}