From: Michael Tremer Date: Sat, 25 Jun 2022 19:02:32 +0000 (+0000) Subject: builders: Show total build time X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f97d40289e207b2ca0440a67595295b765de7c2b;p=pbs.git builders: Show total build time Signed-off-by: Michael Tremer --- diff --git a/src/buildservice/builders.py b/src/buildservice/builders.py index 8863e7e6..28bf527e 100644 --- a/src/buildservice/builders.py +++ b/src/buildservice/builders.py @@ -653,6 +653,28 @@ class Builder(base.DataObject): log.debug("%s has been stopped" % self) + # Stats + + @lazy_property + def total_build_time(self): + res = self.db.get(""" + SELECT + SUM( + COALESCE(jobs.finished_at, CURRENT_TIMESTAMP) + - + jobs.started_at + ) AS t + FROM + jobs + WHERE + started_at IS NOT NULL + AND + builder_id = %s""", + self.id, + ) + + return res.t + def generate_password_hash(password, salt=None, algo="sha512"): """ diff --git a/src/templates/builders/detail.html b/src/templates/builders/detail.html index f9263128..b51d0564 100644 --- a/src/templates/builders/detail.html +++ b/src/templates/builders/detail.html @@ -47,6 +47,12 @@ {{ _("Supported Architectures: %s") % locale.list(builder.supported_arches) }}

+ {% if builder.total_build_time %} +

+ {{ _("Total Build Time: %s") % format_time(builder.total_build_time) }} +

+ {% end %} + {% if builder.stats %}

{{ _("%s Memory") % format_size(builder.stats.mem_total) }}