From 839b84ad89179bdfa19fb963a55593867be344da Mon Sep 17 00:00:00 2001 From: Martin Ridgers Date: Mon, 20 Oct 2025 13:40:32 +0200 Subject: Mr/dashboard stats summary tweak (#592) * More robust dashboard stats summary * Updated changelog * Updated frontend zip archive --- src/zenserver/frontend/html.zip | Bin 161191 -> 161397 bytes src/zenserver/frontend/html/pages/start.js | 23 ++++++++++++++--------- 2 files changed, 14 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/zenserver/frontend/html.zip b/src/zenserver/frontend/html.zip index bb3d61198..4d6766579 100644 Binary files a/src/zenserver/frontend/html.zip and b/src/zenserver/frontend/html.zip differ diff --git a/src/zenserver/frontend/html/pages/start.js b/src/zenserver/frontend/html/pages/start.js index d1c13ccc7..fd3778e0a 100644 --- a/src/zenserver/frontend/html/pages/start.js +++ b/src/zenserver/frontend/html/pages/start.js @@ -77,6 +77,12 @@ export class Page extends ZenPage } // stats + const safe_lookup = (obj, path, pretty=undefined) => { + const ret = path.split(".").reduce((a,b) => a && a[b], obj); + if (ret === undefined) return "-"; + return pretty ? pretty(ret) : ret; + }; + section = this.add_section("stats"); columns = [ "name", @@ -90,15 +96,14 @@ export class Page extends ZenPage for (var provider of (await providers)["providers"]) { var stats = await new Fetcher().resource("stats", provider).json(); - var values = [""]; - try { - values.push(stats.requests.count); - const size_stat = (stats.store || stats.cache).size; - values.push(Friendly.kib(size_stat.disk)); - values.push(Friendly.kib(size_stat.memory)); - values.push(stats.cid.size.total); - } - catch {} + var size_stat = (stats.store || stats.cache); + var values = [ + "", + safe_lookup(stats, "requests.count"), + safe_lookup(size_stat, "size.disk", Friendly.kib), + safe_lookup(size_stat, "size.memory", Friendly.kib), + safe_lookup(stats, "cid.size.total"), + ]; row = stats_table.add_row(...values); row.get_cell(0).tag().text(provider).on_click((x) => this.view_stat(x), provider); } -- cgit v1.2.3