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) }}