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>