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/10/09 17:19:36 UTC

[ignite-teamcity-bot] branch ignite-9800-2 updated: IGNITE-9800: Reset profiling data button implemented

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

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


The following commit(s) were added to refs/heads/ignite-9800-2 by this push:
     new a9d71d0  IGNITE-9800: Reset profiling data button implemented
a9d71d0 is described below

commit a9d71d0afd6dcb332999fd9f5dddef020ff3b8b9
Author: Dmitriy Pavlov <dp...@apache.org>
AuthorDate: Tue Oct 9 20:19:33 2018 +0300

    IGNITE-9800: Reset profiling data button implemented
---
 .../ignite/ci/di/AutoProfilingInterceptor.java     |  4 +++
 .../apache/ignite/ci/tcmodel/hist/BuildRef.java    | 13 ++++++++
 .../ci/web/rest/monitoring/MonitoringService.java  | 12 ++++++++
 .../src/main/webapp/monitoring.html                | 35 +++++++++++++++-------
 4 files changed, 54 insertions(+), 10 deletions(-)

diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/di/AutoProfilingInterceptor.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/di/AutoProfilingInterceptor.java
index 0c2eebc..08d8734 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/di/AutoProfilingInterceptor.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/di/AutoProfilingInterceptor.java
@@ -34,6 +34,10 @@ import java.util.concurrent.atomic.AtomicLong;
 public class AutoProfilingInterceptor implements MethodInterceptor {
     private final ConcurrentMap<String, Invocation> totalTime = new ConcurrentHashMap<>();
 
+    public void reset() {
+        totalTime.clear();
+    }
+
     public static class Invocation {
         private final AtomicLong timeNanos = new AtomicLong();
         private final AtomicInteger callsCnt = new AtomicInteger();
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/hist/BuildRef.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/hist/BuildRef.java
index 0de8e26..6d35959 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/hist/BuildRef.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/hist/BuildRef.java
@@ -127,6 +127,7 @@ public class BuildRef extends AbstractRef {
         return Objects.hashCode(id, buildTypeId, branchName, status, state, buildNumber, defaultBranch, composite, webUrl);
     }
 
+    /** {@inheritDoc} */
     @Override public String toString() {
         return MoreObjects.toStringHelper(this)
             .add("id", id)
@@ -142,18 +143,30 @@ public class BuildRef extends AbstractRef {
             .toString();
     }
 
+    /**
+     *
+     */
     public String branchName() {
         return branchName;
     }
 
+    /**
+     *
+     */
     public String buildTypeId() {
         return buildTypeId;
     }
 
+    /**
+     *
+     */
     public String status() {
         return status;
     }
 
+    /**
+     *
+     */
     public String state() {
         return state;
     }
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/monitoring/MonitoringService.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/monitoring/MonitoringService.java
index bb66618..8f5f5a2 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/monitoring/MonitoringService.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/monitoring/MonitoringService.java
@@ -16,6 +16,7 @@
  */
 package org.apache.ignite.ci.web.rest.monitoring;
 
+import javax.ws.rs.POST;
 import org.apache.ignite.Ignite;
 import org.apache.ignite.IgniteCache;
 import org.apache.ignite.cache.CacheMetrics;
@@ -35,6 +36,7 @@ import javax.ws.rs.core.MediaType;
 import java.util.*;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
+import org.apache.ignite.ci.web.model.SimpleResult;
 
 @Path("monitoring")
 @Produces(MediaType.APPLICATION_JSON)
@@ -84,6 +86,16 @@ public class MonitoringService {
                 .collect(Collectors.toList());
     }
 
+    @POST
+    @Path("resetProfiling")
+    public SimpleResult resetProfiling() {
+        AutoProfilingInterceptor instance = CtxListener.getInjector(ctx).getInstance(AutoProfilingInterceptor.class);
+
+        instance.reset();
+
+        return new SimpleResult("Ok");
+    }
+
 
     @GET
     @PermitAll
diff --git a/ignite-tc-helper-web/src/main/webapp/monitoring.html b/ignite-tc-helper-web/src/main/webapp/monitoring.html
index d597280..4787b31 100644
--- a/ignite-tc-helper-web/src/main/webapp/monitoring.html
+++ b/ignite-tc-helper-web/src/main/webapp/monitoring.html
@@ -24,6 +24,18 @@
         loadData();
     });
 
+    function loadPofilingData() {
+        $.ajax({
+            url: "rest/monitoring/profiling",
+            success: function (result) {
+                $("#loadStatus").html("");
+
+                showProfiling(result);
+            },
+            error: showErrInLoadStatus
+        });
+    }
+
     function loadData() {
         $("#loadStatus").html("<img src='https://www.wallies.com/filebin/images/loading_apple.gif' width=20px height=20px> Please wait");
         $.ajax({
@@ -42,15 +54,7 @@
             error: showErrInLoadStatus
         });
 
-        $.ajax({
-            url: "rest/monitoring/profiling",
-            success: function(result) {
-                $("#loadStatus").html("");
-
-                showProfiling(result);
-            },
-            error: showErrInLoadStatus
-        });
+        loadPofilingData();
 
         $.ajax({
             url: "rest/monitoring/cacheMetrics",
@@ -159,6 +163,17 @@
         $("#urlUsed").html(res);
     }
 
+    function resetProfiling() {
+        $.ajax({
+            url: "rest/monitoring/resetProfiling",
+            method: "post",
+            success: function(result) {
+                loadPofilingData();
+            },
+            error: showErrInLoadStatus
+        });
+    }
+
 </script>
 
 Tasks Monitoring Data:
@@ -166,7 +181,7 @@ Tasks Monitoring Data:
 <br>
 
 <hr>
-<b>Method Profiling Data:</b>
+<b>Method Profiling Data:</b> <button onclick="resetProfiling()">Reset</button>
 <div id="profiling" style="font-family: monospace"></div>
 <br>