import { useTranslation } from "next-i18next";
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 { data, error } = useWidgetAPI(service.widget, 'processlist', {
refreshInterval: 1000,
});
if (error) {
return
;
}
if (!data) {
return ;
}
data.splice(5);
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,
})}
) }
>
);
}