You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ak...@apache.org on 2016/08/03 11:29:00 UTC
[18/48] ignite git commit: IGNITE-3443 WIP on metrics.
IGNITE-3443 WIP on metrics.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/60eea11a
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/60eea11a
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/60eea11a
Branch: refs/heads/ignite-3443
Commit: 60eea11ad22a86f5b783937b4669439692a61d49
Parents: 51ef112
Author: Alexey Kuznetsov <ak...@apache.org>
Authored: Thu Jul 28 17:08:04 2016 +0700
Committer: Alexey Kuznetsov <ak...@apache.org>
Committed: Thu Jul 28 17:08:04 2016 +0700
----------------------------------------------------------------------
.../cache/query/GridCacheQueryManager.java | 35 ++++++++++++++++++--
1 file changed, 33 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/60eea11a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryManager.java
index c366877..4073652 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryManager.java
@@ -38,7 +38,9 @@ import java.util.Queue;
import java.util.Set;
import java.util.UUID;
import java.util.concurrent.Callable;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
+import java.util.concurrent.atomic.AtomicInteger;
import javax.cache.Cache;
import javax.cache.expiry.ExpiryPolicy;
import org.apache.ignite.Ignite;
@@ -150,6 +152,12 @@ public abstract class GridCacheQueryManager<K, V> extends GridCacheManagerAdapte
private volatile GridCacheQueryMetricsAdapter metrics = new GridCacheQueryMetricsAdapter();
/** */
+ private volatile ConcurrentHashMap<String, String> latestQueryMetrics = new ConcurrentHashMap<>();
+
+ /** */
+ private volatile ConcurrentHashMap<String, AtomicInteger> aggregatedQueryMetrics = new ConcurrentHashMap<>();
+
+ /** */
private final ConcurrentMap<UUID, RequestFutureMap> qryIters =
new ConcurrentHashMap8<>();
@@ -2061,6 +2069,8 @@ public abstract class GridCacheQueryManager<K, V> extends GridCacheManagerAdapte
*/
public void resetMetrics() {
metrics = new GridCacheQueryMetricsAdapter();
+ latestQueryMetrics = new ConcurrentHashMap<>();
+ aggregatedQueryMetrics = new ConcurrentHashMap<>();
}
/**
@@ -2077,9 +2087,30 @@ public abstract class GridCacheQueryManager<K, V> extends GridCacheManagerAdapte
* @param fail {@code true} if execution failed.
*/
public void onCompleted(CacheQueryType qryType, String qry, long duration, boolean fail) {
- log.warning("Query type: " + qryType + ", query: " + qry);
-
metrics.onQueryCompleted(duration, fail);
+
+ latestQueryMetrics.put(qry, "Query [type=" + qryType + ", duration=" + duration + ", fail=" + fail + "]");
+
+ if (!aggregatedQueryMetrics.containsKey(qry))
+ aggregatedQueryMetrics.putIfAbsent(qry, new AtomicInteger());
+
+ aggregatedQueryMetrics.get(qry).incrementAndGet();
+
+ log.warning(">>> ---------------------------- <<<");
+
+ log.warning("latestQueryMetrics");
+
+ for (Map.Entry<String, String> entry : latestQueryMetrics.entrySet())
+ log.warning(" Query: " + entry.getKey() + " -> " + entry.getValue());
+
+ log.warning(">>> ============================ <<<");
+
+ log.warning("aggregatedQueryMetrics");
+
+ for (Map.Entry<String, AtomicInteger> entry : aggregatedQueryMetrics.entrySet())
+ log.warning(" Query: " + entry.getKey() + " -> " + entry.getValue());
+
+ log.warning(">>> ---------------------------- <<<");
}
/**