From 3e700bb7c1851711b74bea2c33d7ce18fa4620a5 Mon Sep 17 00:00:00 2001 From: Liangbin Lian Date: Thu, 26 Oct 2023 19:48:49 +0800 Subject: [PATCH] luci-app-dockerman: fix stats page always blank Signed-off-by: Liangbin Lian (cherry picked from commit 0fbbed4a84fb49c968e3ad8a5b76bbf332f42f5c) --- .../luasrc/model/cbi/dockerman/container.lua | 37 +++++++++++-------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/applications/luci-app-dockerman/luasrc/model/cbi/dockerman/container.lua b/applications/luci-app-dockerman/luasrc/model/cbi/dockerman/container.lua index f8329ba703..5caad4f93f 100644 --- a/applications/luci-app-dockerman/luasrc/model/cbi/dockerman/container.lua +++ b/applications/luci-app-dockerman/luasrc/model/cbi/dockerman/container.lua @@ -752,35 +752,40 @@ elseif action == "stats" then local response = dk.containers:top({id = container_id, query = {ps_args="-aux"}}) local container_top - if response.code == 200 then - container_top=response.body - else - response = dk.containers:top({id = container_id}) + if response.code ~= 409 then + if response.code ~= 200 then + response = dk.containers:top({id = container_id}) + end + + if response.code ~= 200 then + response = dk.containers:top({id = container_id, query = {ps_args="-ww"}}) + end + if response.code == 200 then - container_top=response.body + container_top = response.body end - end - if type(container_top) == "table" then - s = m:section(SimpleSection) - s.container_id = container_id - s.template = "dockerman/container_stats" - table_stats = { - cpu={ + local table_stats = { + cpu = { key=translate("CPU Usage"), value='-' }, - memory={ + memory = { key=translate("Memory Usage"), value='-' } } - - container_top = response.body s = m:section(Table, table_stats, translate("Stats")) s:option(DummyValue, "key", translate("Stats")).width="33%" s:option(DummyValue, "value") - top_section = m:section(Table, container_top.Processes, translate("TOP")) + + s = m:section(SimpleSection) + s.container_id = container_id + s.template = "dockerman/container_stats" + end + + if type(container_top) == "table" then + local top_section = m:section(Table, container_top.Processes, translate("TOP")) for i, v in ipairs(container_top.Titles) do top_section:option(DummyValue, i, translate(v)) end -- 2.30.2