Enhancement: Add configurable refresh interval and max points for glances services (#2363)

---------

Co-authored-by: Quentin de Grandmaison <quentin.degrandmaison@7speaking.com>
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
This commit is contained in:
nioKi 2023-11-22 21:35:54 +01:00 committed by GitHub
parent e98b5e2233
commit c2729e302d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 120 additions and 63 deletions

View file

@ -10,18 +10,19 @@ import useWidgetAPI from "utils/proxy/use-widget-api";
const ChartDual = dynamic(() => import("../components/chart_dual"), { ssr: false });
const pointsLimit = 15;
const defaultPointsLimit = 15;
const defaultInterval = 1000;
export default function Component({ service }) {
const { t } = useTranslation();
const { widget } = service;
const { chart } = widget;
const { chart, refreshInterval = defaultInterval, pointsLimit = defaultPointsLimit } = widget;
const [, gpuName] = widget.metric.split(":");
const [dataPoints, setDataPoints] = useState(new Array(pointsLimit).fill({ a: 0, b: 0 }, 0, pointsLimit));
const { data, error } = useWidgetAPI(widget, "gpu", {
refreshInterval: 1000,
refreshInterval: Math.max(defaultInterval, refreshInterval),
});
useEffect(() => {
@ -39,7 +40,7 @@ export default function Component({ service }) {
});
}
}
}, [data, gpuName]);
}, [data, gpuName, pointsLimit]);
if (error) {
return (