import { t } from "@lingui/core/macro" import AreaChartDefault from "@/components/charts/area-chart" import { useContainerDataPoints } from "@/components/charts/hooks" import { decimalString, toFixedFloat } from "@/lib/utils" import type { ChartConfig } from "@/components/ui/chart" import type { ChartData } from "@/types" import { pinnedAxisDomain } from "@/components/ui/chart" import CpuCoresSheet from "../cpu-sheet" import { ChartCard, FilterBar, SelectAvgMax } from "../chart-card" import { dockerOrPodman } from "../chart-data" export function CpuChart({ chartData, grid, dataEmpty, showMax, isLongerChart, maxValues, }: { chartData: ChartData grid: boolean dataEmpty: boolean showMax: boolean isLongerChart: boolean maxValues: boolean }) { const maxValSelect = isLongerChart ? : null return ( {maxValSelect} } > (showMax ? stats?.cpum : stats?.cpu), color: 1, opacity: 0.4, }, ]} tickFormatter={(val) => `${toFixedFloat(val, 2)}%`} contentFormatter={({ value }) => `${decimalString(value)}%`} domain={pinnedAxisDomain()} /> ) } export function ContainerCpuChart({ chartData, grid, dataEmpty, isPodman, cpuConfig, }: { chartData: ChartData grid: boolean dataEmpty: boolean isPodman: boolean cpuConfig: ChartConfig }) { const { filter, dataPoints } = useContainerDataPoints(cpuConfig, (key, data) => data[key]?.c ?? null) return ( } > `${toFixedFloat(val, 2)}%`} contentFormatter={({ value }) => `${decimalString(value)}%`} domain={pinnedAxisDomain()} showTotal={true} reverseStackOrder={true} filter={filter} truncate={true} itemSorter={(a, b) => b.value - a.value} /> ) }