From 92f8c093bdec42232a060896753283c85831d472 Mon Sep 17 00:00:00 2001 From: Xavier-Do Date: Thu, 12 Aug 2021 10:47:53 +0200 Subject: [PATCH] [IMP] runbot: add childs stats to build stats --- runbot/controllers/frontend.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/runbot/controllers/frontend.py b/runbot/controllers/frontend.py index 17b72dc3..c62c8d8d 100644 --- a/runbot/controllers/frontend.py +++ b/runbot/controllers/frontend.py @@ -439,10 +439,13 @@ class Runbot(Controller): builds |= builds.search(builds_domain, order='id desc', limit=limit) + builds = builds.search([('id', 'child_of', builds.ids)]) + + parents = {b.id: b.top_parent.id for b in builds.with_context(prefetch_fields=False)} request.env.cr.execute("SELECT build_id, key, value FROM runbot_build_stat WHERE build_id IN %s AND key like %s", [tuple(builds.ids), '%s.%%' % key_category]) # read manually is way faster than using orm res = {} for (builds_id, key, value) in request.env.cr.fetchall(): - res.setdefault(builds_id, {})[key.split('.')[1]] = value + res.setdefault(parents[builds_id], {})[key.split('.', 1)[1]] = value return res @route(['/runbot/stats//'], type='http', auth="public", website=True, sitemap=False)