diff --git a/dashboard/src/components/app/Graphs.vue b/dashboard/src/components/app/Graphs.vue index be7292ead..8aecdaf84 100644 --- a/dashboard/src/components/app/Graphs.vue +++ b/dashboard/src/components/app/Graphs.vue @@ -68,15 +68,17 @@ async function liveRefresh() { // stop here if the DOM elements are already gone due to view change if (!cpuGraphItem.value) return; - cpuGraphItem.value.pushData(0, data[app.id].cpu); - memoryGraphItem.value.pushData(0, data[app.id].memory); - diskGraphItem.value.pushData(0, data[app.id].blockReadRate, data[app.id].blockWriteRate); - networkGraphItem.value.pushData(0, data[app.id].networkReadRate, data[app.id].networkWriteRate); + const metrics = data[app.id]; // metric can be undefined if the container stopped midway - blockReadTotal.value = prettyDecimalSize(data[app.id].blockReadTotal); - blockWriteTotal.value = prettyDecimalSize(data[app.id].blockWriteTotal); - networkReadTotal.value = prettyDecimalSize(data[app.id].networkReadTotal); - networkWriteTotal.value = prettyDecimalSize(data[app.id].networkWriteTotal); + cpuGraphItem.value.pushData(0, metrics?.cpu || 0); + memoryGraphItem.value.pushData(0, metrics?.memory || 0); + diskGraphItem.value.pushData(0, metrics?.blockReadRate || 0, metrics?.blockWriteRate || 0); + networkGraphItem.value.pushData(0, metrics?.networkReadRate || 0, metrics?.networkWriteRate || 0); + + blockReadTotal.value = prettyDecimalSize(metrics?.blockReadTotal || 0); + blockWriteTotal.value = prettyDecimalSize(metrics?.blockWriteTotal || 0); + networkReadTotal.value = prettyDecimalSize(metrics?.networkReadTotal || 0); + networkWriteTotal.value = prettyDecimalSize(metrics?.networkWriteTotal || 0); }; }