import { useTranslation } from "next-i18next"; import Error from "../components/error"; import Container from "../components/container"; import Block from "../components/block"; import useWidgetAPI from "utils/proxy/use-widget-api"; import ResolvedIcon from "components/resolvedicon"; const statusMap = { "R": , // running "S": , // sleeping "D": , // disk sleep "Z": , // zombie "T": , // traced "t": , // traced "X": , // dead }; export default function Component({ service }) { const { t } = useTranslation(); const { widget } = service; const { chart } = widget; const { data, error } = useWidgetAPI(service.widget, 'processlist', { refreshInterval: 1000, }); if (error) { return ; } if (!data) { return -; } data.splice(chart ? 5 : 1); return ( {t("resources.cpu")} {t("resources.mem")} { data.map((item) => {statusMap[item.status]} {item.name} {item.cpu_percent.toFixed(1)}% {t("common.bytes", { value: item.memory_info[0], maximumFractionDigits: 0, })} ) } ); }