You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by dp...@apache.org on 2018/11/19 14:58:36 UTC

[ignite-teamcity-bot] branch master updated: Timeouts pressure added to run statistics

This is an automated email from the ASF dual-hosted git repository.

dpavlov pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite-teamcity-bot.git


The following commit(s) were added to refs/heads/master by this push:
     new 256c2ab  Timeouts pressure added to run statistics
256c2ab is described below

commit 256c2abb55ebcf9a37e5df5fb4660c03d8a2ce6b
Author: Dmitriy Pavlov <dp...@apache.org>
AuthorDate: Mon Nov 19 17:58:31 2018 +0300

    Timeouts pressure added to run statistics
---
 .../org/apache/ignite/ci/analysis/FullChainRunCtx.java  |  7 +++++++
 .../org/apache/ignite/ci/analysis/MultBuildRunCtx.java  | 17 +++++++++++++++++
 .../java/org/apache/ignite/ci/web/model/Version.java    |  2 +-
 .../web/model/current/ChainAtServerCurrentStatus.java   |  7 ++++++-
 .../ignite/ci/web/model/current/SuiteCurrentStatus.java | 13 ++++++++++---
 ignite-tc-helper-web/src/main/webapp/all.html           |  3 +++
 .../src/main/webapp/js/testfails-2.1.js                 |  8 ++++++--
 7 files changed, 50 insertions(+), 7 deletions(-)

diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/FullChainRunCtx.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/FullChainRunCtx.java
index 741ac43..36602c6 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/FullChainRunCtx.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/FullChainRunCtx.java
@@ -113,4 +113,11 @@ public class FullChainRunCtx {
 
         return (TimeUtil.millisToDurationPrintable(tests));
     }
+
+    public String getLostInTimeoutsPrintable() {
+        long timeouts = suites().filter(ctx -> !ctx.isComposite())
+            .mapToLong(MultBuildRunCtx::getLostInTimeouts).sum();
+
+        return TimeUtil.millisToDurationPrintable(timeouts);
+    }
 }
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/MultBuildRunCtx.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/MultBuildRunCtx.java
index fe13d81..aaa86a7 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/MultBuildRunCtx.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/MultBuildRunCtx.java
@@ -310,6 +310,23 @@ public class MultBuildRunCtx implements ISuiteResults {
         return null;
     }
 
+    /**
+     * @return sum of all tests execution duration (for several builds average).
+     */
+    public long getLostInTimeouts() {
+        if (builds.isEmpty())
+            return 0;
+
+        long allTimeoutsDuration = buildsStream()
+            .filter(SingleBuildRunCtx::hasTimeoutProblem)
+            .map(SingleBuildRunCtx::getBuildDuration)
+            .filter(Objects::nonNull)
+            .mapToLong(l -> l)
+            .sum();
+
+        return allTimeoutsDuration / builds.size();
+    }
+
     @Nullable public String suiteName() {
         return buildsStream().findFirst().map(SingleBuildRunCtx::suiteName).orElse(null);
     }
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/Version.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/Version.java
index e72d18a..3964e73 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/Version.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/Version.java
@@ -23,7 +23,7 @@ package org.apache.ignite.ci.web.model;
     public static final String GITHUB_REF = "https://github.com/apache/ignite-teamcity-bot";
 
     /** TC Bot Version. */
-    public static final String VERSION = "20181117";
+    public static final String VERSION = "20181119";
 
     /** TC Bot Version. */
     public String version = VERSION;
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/ChainAtServerCurrentStatus.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/ChainAtServerCurrentStatus.java
index 8d6711f..2aacb04 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/ChainAtServerCurrentStatus.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/ChainAtServerCurrentStatus.java
@@ -72,6 +72,9 @@ public class ChainAtServerCurrentStatus {
     /** Tests duration printable. */
     public String testsDurationPrintable;
 
+    /** Timed out builds average time. */
+    public String lostInTimeouts;
+
     /** top long running suites */
     public List<TestFailure> topLongRunning = new ArrayList<>();
 
@@ -112,6 +115,7 @@ public class ChainAtServerCurrentStatus {
         );
         durationPrintable = ctx.getDurationPrintable();
         testsDurationPrintable = ctx.getTestsDurationPrintable();
+        lostInTimeouts = ctx.getLostInTimeoutsPrintable();
         webToHist = buildWebLink(teamcity, ctx);
         webToBuild = buildWebLinkToBuild(teamcity, ctx);
 
@@ -189,6 +193,7 @@ public class ChainAtServerCurrentStatus {
             Objects.equal(failedToFinish, status.failedToFinish) &&
             Objects.equal(durationPrintable, status.durationPrintable) &&
             Objects.equal(testsDurationPrintable, status.testsDurationPrintable) &&
+            Objects.equal(lostInTimeouts, status.lostInTimeouts) &&
             Objects.equal(logConsumers, status.logConsumers) &&
             Objects.equal(topLongRunning, status.topLongRunning) &&
             Objects.equal(buildNotFound, status.buildNotFound);
@@ -198,7 +203,7 @@ public class ChainAtServerCurrentStatus {
     @Override public int hashCode() {
         return Objects.hashCode(chainName, serverId, branchName, webToHist, webToBuild, suites,
             failedTests, failedToFinish, durationPrintable, testsDurationPrintable,
-            logConsumers, topLongRunning, buildNotFound);
+            lostInTimeouts, logConsumers, topLongRunning, buildNotFound);
     }
 
     public void setBuildNotFound(boolean buildNotFound) {
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/SuiteCurrentStatus.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/SuiteCurrentStatus.java
index ac33847..ed66b76 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/SuiteCurrentStatus.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/SuiteCurrentStatus.java
@@ -103,10 +103,16 @@ import static org.apache.ignite.ci.util.UrlUtil.escape;
 
     public Integer failedTests;
 
+    /** Duration printable. */
     public String durationPrintable;
 
+    /** Tests duration printable. */
     public String testsDurationPrintable;
 
+    /** Timed out builds average time. */
+    public String lostInTimeouts;
+
+
     /**
      * Advisory mark there is problem in this suite.
      */
@@ -344,8 +350,9 @@ import static org.apache.ignite.ci.util.UrlUtil.escape;
             Objects.equal(criticalFails, status.criticalFails) &&
             Objects.equal(userCommits, status.userCommits) &&
             Objects.equal(failedTests, status.failedTests) &&
-            Objects.equal(durationPrintable, status.durationPrintable)&&
-            Objects.equal(testsDurationPrintable, status.testsDurationPrintable)&&
+            Objects.equal(durationPrintable, status.durationPrintable) &&
+            Objects.equal(testsDurationPrintable, status.testsDurationPrintable) &&
+            Objects.equal(lostInTimeouts, status.lostInTimeouts) &&
             Objects.equal(warnOnly, status.warnOnly);
     }
 
@@ -355,7 +362,7 @@ import static org.apache.ignite.ci.util.UrlUtil.escape;
             topLongRunning, webUrlThreadDump, runningBuildCount, queuedBuildCount, serverId,
             suiteId, branchName, failures, runs, failureRate,
             failsAllHist, criticalFails, userCommits, failedTests, durationPrintable, testsDurationPrintable,
-            warnOnly);
+            lostInTimeouts, warnOnly);
     }
 
     /** {@inheritDoc} */
diff --git a/ignite-tc-helper-web/src/main/webapp/all.html b/ignite-tc-helper-web/src/main/webapp/all.html
index 8f2e1d8..81b394f 100644
--- a/ignite-tc-helper-web/src/main/webapp/all.html
+++ b/ignite-tc-helper-web/src/main/webapp/all.html
@@ -4,6 +4,9 @@
     <link rel="icon" href="img/leaf-icon-png-7066.png">
     <link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
     <link rel="stylesheet" href="css/style-1.5.css">
+    <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.4.2/css/all.css"
+          integrity="sha384-/rXc/GQVaYpyDdyxK+ecHPVYJSN9bmVFBvjA/9eOB+pb3F2w2N6fc5qB9Ew5yIns" crossorigin="anonymous">
+
 
     <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
     <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
diff --git a/ignite-tc-helper-web/src/main/webapp/js/testfails-2.1.js b/ignite-tc-helper-web/src/main/webapp/js/testfails-2.1.js
index ca50ee8..eead52c 100644
--- a/ignite-tc-helper-web/src/main/webapp/js/testfails-2.1.js
+++ b/ignite-tc-helper-web/src/main/webapp/js/testfails-2.1.js
@@ -135,7 +135,9 @@ function showChainCurrentStatusData(server, settings) {
         mInfo += " title='trigger builds'>on top</a><br>";
     }
 
-    mInfo += "Duration: " + server.durationPrintable + " (Tests: " + server.testsDurationPrintable + ")<br>";
+    mInfo += "Duration: " + server.durationPrintable +
+        " (Tests: " + server.testsDurationPrintable + "," +
+        " Timeouts: " + server.lostInTimeouts + ")<br>";
 
     if (isDefinedAndFilled(server.topLongRunning) && server.topLongRunning.length > 0) {
         mInfo += "Top long running:<br>";
@@ -546,7 +548,9 @@ function showSuiteData(suite, settings) {
         moreInfoTxt += "Last commits from: " + suite.userCommits + " <br>";
     }
 
-    moreInfoTxt += "Duration: " + suite.durationPrintable + " (Tests: " + suite.testsDurationPrintable + ")<br>";
+    moreInfoTxt += "Duration: " + suite.durationPrintable +
+        " (Tests: " + suite.testsDurationPrintable + "," +
+        " Timeouts: " + suite.lostInTimeouts + ")<br>";
 
     var res = "";
     res += "<tr bgcolor='#FAFAFF'><td align='right' valign='top'>";