From b5fce4e414842b47d8729af206d5e020dcf6479a Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Thu, 26 Jul 2018 10:17:46 +0200 Subject: buildmaster/status.php: show average age of testing packages --- buildmaster/status.php | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'buildmaster') diff --git a/buildmaster/status.php b/buildmaster/status.php index edb4455..5a5cf4a 100644 --- a/buildmaster/status.php +++ b/buildmaster/status.php @@ -2,6 +2,7 @@ require_once "../init.php"; include BASE . "/lib/mysql.php"; include BASE . "/lib/style.php"; +include BASE . "/lib/converter.php"; $result = mysql_run_query( "SELECT MAX(`package_sources`.`commit_time`) AS `last_commit`" . @@ -36,6 +37,34 @@ if ($result -> num_rows > 0) { $last_moved = $result["last_moved"]; } +$result = mysql_run_query( + "SELECT " . + "STDDEV(UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP(`binary_packages_in_repositories`.`first_last_moved`)) AS `stddev`," . + "AVG(UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP(`binary_packages_in_repositories`.`first_last_moved`)) AS `avg`" . + " FROM `binary_packages`" . + " JOIN (" . + "SELECT " . + "`binary_packages_in_repositories`.`package`," . + "MIN(`binary_packages_in_repositories`.`last_moved`) AS `first_last_moved`" . + " FROM `binary_packages_in_repositories`" . + " JOIN `repositories`" . + " ON `binary_packages_in_repositories`.`repository`=`repositories`.`id`" . + " JOIN `repository_stabilities`" . + " ON `repositories`.`stability`=`repository_stabilities`.`id`" . + " WHERE `repository_stabilities`.`name`=\"testing\"" . + " GROUP BY `binary_packages_in_repositories`.`package`" . + ") AS `binary_packages_in_repositories`" . + " ON `binary_packages_in_repositories`.`package`=`binary_packages`.`id`" . + " WHERE NOT `binary_packages`.`has_issues`" . + " AND NOT `binary_packages`.`is_tested`" +); + +if ($result -> num_rows > 0) { + $result = $result->fetch_assoc(); + foreach ($result as $key => $val) + $testing[$key] = format_time_duration($val); +} + print_header("Build Master Status"); if (isset($last_commit)) @@ -47,4 +76,9 @@ if (isset($last_return)) if (isset($last_moved)) print " latest package move was on " . $last_moved . ".
\n"; +if (isset($testing)) + print " age of testing-packages: " . + $testing["avg"] . " ± " . + $testing["stddev"] . ".
\n"; + print_footer(); -- cgit v1.2.3