SomeFire commented on a change in pull request #9: IGNITE-9541 Add the 
comparison for two general statistics "RunAll" for master in the date interval
URL: https://github.com/apache/ignite-teamcity-bot/pull/9#discussion_r218101483
 
 

 ##########
 File path: ignite-tc-helper-web/src/main/webapp/comparison.html
 ##########
 @@ -0,0 +1,286 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <title>Ignite Teamcity - comparison master's branch in the date 
interval</title>
+    <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">
+    <script type="text/javascript" 
src="https://cdn.jsdelivr.net/jquery/latest/jquery.min.js";></script>
+    <script type="text/javascript" 
src="https://cdn.jsdelivr.net/momentjs/latest/moment.min.js";></script>
+    <script type="text/javascript" 
src="https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.min.js";></script>
+    <link rel="stylesheet" type="text/css" 
href="https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.css"; />
+    <script src="js/common-1.6.js"></script>
+    <script src="https://d3js.org/d3.v4.min.js";></script>
+</head>
+<body>
+<br>
+<br>
+<table class="stat">
+    <tr>
+        <th class="section">DATE INTERVAL</th>
+        <th style="text-align: center;"><input type='text' 
name='daterange1'/></th>
+        <th style="text-align: center;"><input type='text' 
name='daterange2'/></th>
+    </tr>
+    <tr><td class="section">TESTS</td><td></td><td></td></tr>
+    <tr><td class="field">COUNT</td>
+        <td class="data1" id="count1" title="min - median - max"></td>
+        <td class="data2" id="count2" title="min - median - max"></td>
+    </tr>
+    <tr><td class="field">PASSED</td>
+        <td class="data1" id="passed1" title="min - median - max"></td>
+        <td class="data2" id="passed2" title="min - median - max"></td>
+    </tr>
+    <tr><td class="field">FAILED</td>
+        <td class="data1" id="failed1" title="min - median - max"></td>
+        <td class="data2" id="failed2" title="min - median - max"></td>
+    </tr>
+    <tr><td class="field">IGNORED</td>
+        <td class="data1" id="ignored1" title="min - median - max"></td>
+        <td class="data2" id="ignored2" title="min - median - max"></td>
+    </tr>
+    <tr><td class="field">MUTED</td>
+        <td class="data1" id="muted1" title="min - median - max"></td>
+        <td class="data2" id="muted2" title="min - median - max"></td></tr>
+    <tr><td class="section">PROBLEMS</td><td></td><td></td></tr>
+    <tr><td class="field">TOTAL</td>
+        <td class="data1" id="TT1" title="min - median - max"></td>
+        <td class="data2" id="TT2" title="min - median - max"></td></tr>
+    <tr><td></td>
+        <td style="text-align: center;"><svg id="graphTT1" width="500" 
height="200"></svg></td>
+        <td style="text-align: center;"><svg id="graphTT2" width="500" 
height="200"></svg></td>
+    </tr>
+    <tr><td class="field">EXECUTION_TIMEOUT</td>
+        <td class="data1" id="ET1" title="min - median - max"></td>
+        <td class="data2" id="ET2" title="min - median - max"></td>
+    </tr>
+    <tr><td class="field">JVM_CRASH</td>
+        <td class="data1" id="JC1" title="min - median - max"></td>
+        <td class="data2" id="JC2" title="min - median - max"></td>
+    </tr>
+    <tr><td class="field">OOME</td>
+        <td class="data1" id="OO1" title="min - median - max"></td>
+        <td class="data2" id="OO2" title="min - median - max"></td>
+    </tr>
+    <tr><td class="field">EXIT_CODE</td>
+        <td class="data1" id="EC1" title="min - median - max"></td>
+        <td class="data2" id="EC2" title="min - median - max"></td>
+    </tr>
+    <tr><td class="field">FAILED_TESTS</td>
+        <td class="data1" id="FT1" title="min - median - max"></td>
+        <td class="data2" id="FT2" title="min - median - max"></td>
+    </tr>
+    <tr><td class="field">SNAPSHOT_DEPENDENCY_ERROR</td>
+        <td class="data1" id="SD1" title="min - median - max"></td>
+        <td class="data2" id="SD2" title="min - median - max"></td>
+    </tr>
+    <tr><td class="field">OTHER</td>
+        <td class="data1" id="OT1" title="min - median - max"></td>
+        <td class="data2" id="OT2" title="min - median - max"></td></tr>
+</table><br>
+<div>
+    <details><summary>log1</summary><p id="log1"></p></details>
+    <details><summary>log2</summary><p id="log2"></p></details>
+</div>
+<div id="version"></div>
+<div id="dates"></div>
+<div id="totals"></div>
+<script>
+    var oneWeekAgo = new Date();
+    var twoWeekAgo = new Date();
+
+    oneWeekAgo.setDate(oneWeekAgo.getDate() - 7);
+    twoWeekAgo.setDate(twoWeekAgo.getDate() - 14);
+
+    function dateRangePickerParam(data1, data2) {
+        return {
+            "maxSpan": { "days": 7 },
+            "locale": {
+                "format": "DD/MM/YYYY", "separator": " - ", "applyLabel": 
"Apply", "cancelLabel": "Cancel",
+                "fromLabel": "From", "toLabel": "To", "customRangeLabel": 
"Custom", "weekLabel": "W",
+                "daysOfWeek": [ "Su", "Mo", "Tu", "We", "Th", "Fr", "Sa" ],
+                "monthNames": [ "January", "February", "March", "April", 
"May", "June", "July",
+                    "August", "September", "October", "November", "December" ],
+                "firstDay": 1
+            },
+            "startDate": moment(data1).format("DD-MM-YYYY"), "endDate": 
moment(data2).format("DD-MM-YYYY")
+        }
+    }
+
+    const prOcc = ["TT", "ET", "JC", "OO", "EC", "FT", "SD", "OT"];
+    const tOcc = ["count", "passed", "failed", "ignored", "muted"];
+
+    function median(arr){
+        var newArr = arr.slice();
+        newArr = newArr.sort(function(a, b){ return a - b; });
+        var i = newArr.length / 2;
+        return i % 1 == 0 ? (newArr[i - 1] + newArr[i]) / 2 : 
newArr[Math.floor(i)];
+    }
+
+    function max(arr){
+        return Math.max(...arr);
+    }
+
+    function min(arr){
+        return Math.min(...arr);
+    }
+
+    function parseMedian(string) {
+        return parseInt(string.substring(string.indexOf("-") + 2, 
string.lastIndexOf("-") - 1))
+    }
+
+    function printStatistics(num, map) {
+        var parseTime = d3.timeParse("%d-%m-%YT%H:%M:%S");
+
+        var statistics = {};
+        var dates = [];
+
+        for (var i = 0; i < prOcc.length; i++) {
+            statistics[prOcc[i]] = [];
+        }
+
+        for (var k = 0; k < tOcc.length; k++) {
+            statistics[tOcc[k]] = [];
+        }
+
+        for (var j = 0; j < map.length; j++) {
+            dates[j] = parseTime(map[j].date)
+
+            for (var i = 0; i < prOcc.length; i++) {
+                statistics[prOcc[i]][j] = map[j].totalProblems[prOcc[i]];
+            }
+            for (var k = 0; k < tOcc.length; k++) {
+                statistics[tOcc[k]][j] = map[j].testOccurrences[tOcc[k]];
+            }
+        }
+
+        var anotherNum = (num === 1) ? 2 : 1;
+        var thisMedian, anotherMedian;
+
+        for (var i = 0; i < prOcc.length; i++) {
+
 
 Review comment:
   Redundant blank line.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to