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/25 14:38:24 UTC
[ignite-teamcity-bot] branch ignite-9542-new-run-stripe updated:
IGNITE-9542 Removing old map entries
This is an automated email from the ASF dual-hosted git repository.
dpavlov pushed a commit to branch ignite-9542-new-run-stripe
in repository https://gitbox.apache.org/repos/asf/ignite-teamcity-bot.git
The following commit(s) were added to refs/heads/ignite-9542-new-run-stripe by this push:
new 8b9536a IGNITE-9542 Removing old map entries
8b9536a is described below
commit 8b9536acf43f794306b5d2b0c7fbc3e3b13af8c7
Author: Dmitriy Pavlov <dp...@apache.org>
AuthorDate: Sun Nov 25 17:38:24 2018 +0300
IGNITE-9542 Removing old map entries
---
.../ci/teamcity/ignited/runhist/Invocation.java | 5 ++-
.../teamcity/ignited/runhist/InvocationData.java | 46 +++++++++++++++-------
.../teamcity/ignited/runhist/RunHistCompacted.java | 6 +++
3 files changed, 40 insertions(+), 17 deletions(-)
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/runhist/Invocation.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/runhist/Invocation.java
index ec68b93..5f5bffb 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/runhist/Invocation.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/runhist/Invocation.java
@@ -23,13 +23,14 @@ public class Invocation {
int buildId;
byte status;
byte changePresent;
+ long startDate;
public Invocation(Integer buildId) {
this.buildId = buildId;
}
- @Override
- public String toString() {
+ /** {@inheritDoc} */
+ @Override public String toString() {
return MoreObjects.toStringHelper(this)
.add("buildId", buildId)
.add("status", status)
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/runhist/InvocationData.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/runhist/InvocationData.java
index 03be6f1..3d4798d 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/runhist/InvocationData.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/runhist/InvocationData.java
@@ -21,17 +21,15 @@ import com.google.common.base.MoreObjects;
import java.time.Duration;
import java.util.List;
import java.util.stream.Collectors;
+import java.util.stream.Stream;
import org.apache.ignite.ci.analysis.RunStat;
import org.apache.ignite.ci.teamcity.ignited.IStringCompactor;
import org.apache.ignite.ci.teamcity.ignited.fatbuild.TestCompacted;
-import java.io.Externalizable;
-import java.io.IOException;
-import java.io.ObjectInput;
-import java.io.ObjectOutput;
-import java.util.HashMap;
import java.util.Map;
import java.util.TreeMap;
+import org.apache.ignite.internal.util.typedef.internal.U;
+import org.jetbrains.annotations.NotNull;
public class InvocationData {
public static final int MAX_DAYS = 30;
@@ -59,9 +57,6 @@ public class InvocationData {
}
public void add(IStringCompactor c, TestCompacted testCompacted, int build, long startDate) {
- if ((System.currentTimeMillis() - startDate) > Duration.ofDays(MAX_DAYS).toMillis())
- return;
-
final boolean failedTest = testCompacted.isFailedTest(c);
final Invocation invocation = invocationMap.computeIfAbsent(build, Invocation::new);
@@ -72,11 +67,22 @@ public class InvocationData {
: FAILURE
: OK;
- invocation.status = (byte) failCode;
+ invocation.status = (byte)failCode;
+ invocation.startDate = startDate;
allHistRuns++;
if (failedTest)
allHistFailures++;
+
+ removeEldiest();
+ }
+
+ void removeEldiest() {
+ invocationMap.entrySet().removeIf(entries -> isExpired(entries.getValue().startDate));
+ }
+
+ public boolean isExpired(long startDate) {
+ return (U.currentTimeMillis() - startDate) > Duration.ofDays(MAX_DAYS).toMillis();
}
public int allHistFailures() {
@@ -85,16 +91,24 @@ public class InvocationData {
public int notMutedRunsCount() {
return (int)
- invocationMap.values()
- .stream()
+ invocations()
.filter(invocation -> invocation.status != MUTED)
.count();
}
+ @NotNull public Stream<Invocation> invocations() {
+ return invocationMap.values()
+ .stream()
+ .filter(this::isActual);
+ }
+
+ private boolean isActual(Invocation invocation) {
+ return !isExpired(invocation.startDate);
+ }
+
public int failuresCount() {
return (int)
- invocationMap.values()
- .stream()
+ invocations()
.filter(invocation -> invocation.status == FAILURE)
.count();
}
@@ -107,9 +121,11 @@ public class InvocationData {
.toString();
}
+ /**
+ *
+ */
public List<Integer> getLatestRuns() {
- return invocationMap.values()
- .stream()
+ return invocations()
.map(i->(int)i.status)
.collect(Collectors.toList());
}
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/runhist/RunHistCompacted.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/runhist/RunHistCompacted.java
index 6457c4e..795e00b 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/runhist/RunHistCompacted.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/runhist/RunHistCompacted.java
@@ -92,6 +92,12 @@ public class RunHistCompacted implements IVersionedEntity, IRunHistory {
return null;
}
+ /**
+ * @param c Compactor.
+ * @param testCompacted Test compacted.
+ * @param build Build.
+ * @param startDate Start date.
+ */
public void addTestRun(IStringCompactor c, TestCompacted testCompacted, int build, long startDate) {
data.add(c, testCompacted, build, startDate);
}