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 ca6b0d7 Fix suite build time page
ca6b0d7 is described below
commit ca6b0d72b7ce766414d19a7287415f67f3ce822d
Author: Dmitriy Pavlov <[email protected]>
AuthorDate: Wed Jul 24 22:14:22 2019 +0300
Fix suite build time page
---
.../src/main/webapp/buildtime.html | 26 ++++++++---------
.../tcbot/engine/buildtime/BuildTimeService.java | 5 ++--
.../tcignited/buildtime/BuildTimeResult.java | 33 ++++++++++++++--------
3 files changed, 37 insertions(+), 27 deletions(-)
diff --git a/ignite-tc-helper-web/src/main/webapp/buildtime.html
b/ignite-tc-helper-web/src/main/webapp/buildtime.html
index 4b077ac..c28817a 100644
--- a/ignite-tc-helper-web/src/main/webapp/buildtime.html
+++ b/ignite-tc-helper-web/src/main/webapp/buildtime.html
@@ -11,7 +11,6 @@
<!-- production version, optimized for size and speed -->
<!--<script src="https://cdn.jsdelivr.net/npm/vue"></script>-->
- <script
src="https://cdn.jsdelivr.net/npm/vuetify/dist/vuetify.js"></script>
<link
href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900|Material+Icons"
rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/vuetify/dist/vuetify.min.css"
rel="stylesheet">
@@ -19,6 +18,8 @@
<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">
+ <script
src="https://cdn.jsdelivr.net/npm/vuetify/dist/vuetify.js"></script>
+
<script src="js/common-1.6.js"></script>
<script>
$(document).ready(function() {
@@ -31,20 +32,17 @@ $(document).ready(function() {
function loadAnalytics() {
let app = new Vue({
el: '#app',
- data () {
- return {
- headers: [
- { text: 'Build Type', value: 'buildType' },
- { text: 'Average Duration', value: 'averageDuration' },
- { text: 'Duration', value: 'totalDuration' }
- ],
- byBuildType: [
- ],
- timedOutByBuildType: [
- ]
- }
+ vuetify: new Vuetify(),
+ data: {
+ headers: [
+ {text: 'Build Type', value: 'buildType'},
+ {text: 'Average Duration', value: 'averageDuration'},
+ {text: 'Duration', value: 'totalDuration'}
+ ],
+ byBuildType: [],
+ timedOutByBuildType: []
},
- created () {
+ created() {
this.initialize()
},
diff --git
a/tcbot-engine/src/main/java/org/apache/ignite/tcbot/engine/buildtime/BuildTimeService.java
b/tcbot-engine/src/main/java/org/apache/ignite/tcbot/engine/buildtime/BuildTimeService.java
index 09dfaa9..3f71c4c 100644
---
a/tcbot-engine/src/main/java/org/apache/ignite/tcbot/engine/buildtime/BuildTimeService.java
+++
b/tcbot-engine/src/main/java/org/apache/ignite/tcbot/engine/buildtime/BuildTimeService.java
@@ -78,13 +78,14 @@ public class BuildTimeService {
long minDuration = Duration.ofMinutes(90).toMillis();
long minDurationTimeout = Duration.ofMinutes(60).toMillis();
+ long totalDurationMs = Duration.ofHours(4).toMillis();
int cntToInclude = 50;
BuildTimeResult res = lastRes1d;
- res.topByBuildTypes(availableServers, minDuration, cntToInclude)
+ res.topByBuildTypes(availableServers, minDuration, cntToInclude,
totalDurationMs)
.stream().map(this::convertToUi).forEach(e ->
resultUi.byBuildType.add(e));
- res.topTimeoutsByBuildTypes(availableServers, minDurationTimeout,
cntToInclude)
+ res.topTimeoutsByBuildTypes(availableServers, minDurationTimeout,
cntToInclude, totalDurationMs)
.stream().map(this::convertToUi).forEach(e ->
resultUi.timedOutByBuildType.add(e));
return resultUi;
diff --git
a/tcbot-teamcity-ignited/src/main/java/org/apache/ignite/tcignited/buildtime/BuildTimeResult.java
b/tcbot-teamcity-ignited/src/main/java/org/apache/ignite/tcignited/buildtime/BuildTimeResult.java
index 0721fd9..fcf6675 100644
---
a/tcbot-teamcity-ignited/src/main/java/org/apache/ignite/tcignited/buildtime/BuildTimeResult.java
+++
b/tcbot-teamcity-ignited/src/main/java/org/apache/ignite/tcignited/buildtime/BuildTimeResult.java
@@ -16,7 +16,11 @@
*/
package org.apache.ignite.tcignited.buildtime;
-import java.util.*;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@@ -48,34 +52,41 @@ public class BuildTimeResult {
public List<Map.Entry<Long, BuildTimeRecord>> topByBuildTypes(Set<Integer>
availableServers,
- long
minAvgDurationMs,
- int maxCnt) {
- return filtered(btByBuildType, availableServers, minAvgDurationMs)
+ long minAvgDurationMs,
+ int maxCnt,
+ long totalDurationMs) {
+ return filtered(btByBuildType, availableServers, minAvgDurationMs,
totalDurationMs)
.sorted(Comparator.comparing(
- (Function<Map.Entry<Long, BuildTimeRecord>, Long>)
entry -> entry.getValue().avgDuration())
+ (Function<Map.Entry<Long, BuildTimeRecord>, Long>)
entry -> entry.getValue().totalDuration())
.reversed())
.limit(maxCnt)
.collect(Collectors.toList());
}
public List<Map.Entry<Long, BuildTimeRecord>>
topTimeoutsByBuildTypes(Set<Integer> availableServers,
- long
minAvgDurationMs,
- int maxCnt) {
- return filtered(timedOutByBuildType, availableServers,
minAvgDurationMs)
+ long minAvgDurationMs,
+ int maxCnt,
+ long totalDurationMs) {
+ return filtered(timedOutByBuildType, availableServers,
minAvgDurationMs, totalDurationMs)
.sorted(Comparator.comparing(
- (Function<Map.Entry<Long, BuildTimeRecord>, Long>)
entry -> entry.getValue().avgDuration())
+ (Function<Map.Entry<Long, BuildTimeRecord>, Long>)
entry -> entry.getValue().totalDuration())
.reversed())
.limit(maxCnt)
.collect(Collectors.toList());
}
- private Stream<Map.Entry<Long, BuildTimeRecord>> filtered(Map<Long,
BuildTimeRecord> map, Set<Integer> availableServers, long minAvgDurationMs) {
+ private Stream<Map.Entry<Long, BuildTimeRecord>> filtered(
+ Map<Long, BuildTimeRecord> map,
+ Set<Integer> availableServers,
+ long minAvgDurationMs,
+ long totalDurationMs) {
return map.entrySet().stream()
.filter(e -> {
Long key = e.getKey();
int srvId = cacheKeyToSrvId(key);
return availableServers.contains(srvId);
})
- .filter(e -> e.getValue().avgDuration() > minAvgDurationMs);
+ .filter(e -> e.getValue().avgDuration() > minAvgDurationMs)
+ .filter(e -> e.getValue().totalDuration() > totalDurationMs);
}
}