http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/abe5d178/modules/core/src/main/java/org/apache/ignite/spi/discovery/ClusterMetricsSnapshot.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/ClusterMetricsSnapshot.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/ClusterMetricsSnapshot.java deleted file mode 100644 index 192251c..0000000 --- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/ClusterMetricsSnapshot.java +++ /dev/null @@ -1,1118 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.ignite.spi.discovery; - -import org.apache.ignite.cluster.*; -import org.apache.ignite.internal.util.typedef.*; -import org.apache.ignite.internal.util.typedef.internal.*; -import org.jetbrains.annotations.*; - -import java.util.*; - -import static java.lang.Math.*; - -/** - * Implementation for {@link ClusterMetrics} interface. - * <p> - * Note that whenever adding or removing metric parameters, care - * must be taken to update {@link DiscoveryMetricsHelper} as well. - */ -public class ClusterMetricsSnapshot implements ClusterMetrics { - /** */ - private long lastUpdateTime = -1; - - /** */ - private int maxActiveJobs = -1; - - /** */ - private int curActiveJobs = -1; - - /** */ - private float avgActiveJobs = -1; - - /** */ - private int maxWaitingJobs = -1; - - /** */ - private int curWaitingJobs = -1; - - /** */ - private float avgWaitingJobs = -1; - - /** */ - private int maxRejectedJobs = -1; - - /** */ - private int curRejectedJobs = -1; - - /** */ - private float avgRejectedJobs = -1; - - /** */ - private int maxCancelledJobs = -1; - - /** */ - private int curCancelledJobs = -1; - - /** */ - private float avgCancelledJobs = -1; - - /** */ - private int totalRejectedJobs = -1; - - /** */ - private int totalCancelledJobs = -1; - - /** */ - private int totalExecutedJobs = -1; - - /** */ - private long maxJobWaitTime = -1; - - /** */ - private long curJobWaitTime = -1; - - /** */ - private double avgJobWaitTime = -1; - - /** */ - private long maxJobExecTime = -1; - - /** */ - private long curJobExecTime = -1; - - /** */ - private double avgJobExecTime = -1; - - /** */ - private int totalExecTasks = -1; - - /** */ - private long totalIdleTime = -1; - - /** */ - private long curIdleTime = -1; - - /** */ - private int availProcs = -1; - - /** */ - private double load = -1; - - /** */ - private double avgLoad = -1; - - /** */ - private double gcLoad = -1; - - /** */ - private long heapInit = -1; - - /** */ - private long heapUsed = -1; - - /** */ - private long heapCommitted = -1; - - /** */ - private long heapMax = -1; - - /** */ - private long nonHeapInit = -1; - - /** */ - private long nonHeapUsed = -1; - - /** */ - private long nonHeapCommitted = -1; - - /** */ - private long nonHeapMax = -1; - - /** */ - private long upTime = -1; - - /** */ - private long startTime = -1; - - /** */ - private long nodeStartTime = -1; - - /** */ - private int threadCnt = -1; - - /** */ - private int peakThreadCnt = -1; - - /** */ - private long startedThreadCnt = -1; - - /** */ - private int daemonThreadCnt = -1; - - /** */ - private long lastDataVer = -1; - - /** */ - private int sentMsgsCnt = -1; - - /** */ - private long sentBytesCnt = -1; - - /** */ - private int rcvdMsgsCnt = -1; - - /** */ - private long rcvdBytesCnt = -1; - - /** */ - private int outMesQueueSize = -1; - - /** - * Create empty snapshot. - */ - public ClusterMetricsSnapshot() { - } - - /** - * Create metrics for given cluster group. - * - * @param p Projection to get metrics for. - */ - public ClusterMetricsSnapshot(ClusterGroup p) { - assert p != null; - - Collection<ClusterNode> nodes = p.nodes(); - - int size = nodes.size(); - - curJobWaitTime = Long.MAX_VALUE; - - for (ClusterNode node : nodes) { - ClusterMetrics m = node.metrics(); - - lastUpdateTime = max(lastUpdateTime, node.metrics().getLastUpdateTime()); - - curActiveJobs += m.getCurrentActiveJobs(); - maxActiveJobs = max(maxActiveJobs, m.getCurrentActiveJobs()); - avgActiveJobs += m.getCurrentActiveJobs(); - totalExecutedJobs += m.getTotalExecutedJobs(); - - totalExecTasks += m.getTotalExecutedTasks(); - - totalCancelledJobs += m.getTotalCancelledJobs(); - curCancelledJobs += m.getCurrentCancelledJobs(); - maxCancelledJobs = max(maxCancelledJobs, m.getCurrentCancelledJobs()); - avgCancelledJobs += m.getCurrentCancelledJobs(); - - totalRejectedJobs += m.getTotalRejectedJobs(); - curRejectedJobs += m.getCurrentRejectedJobs(); - maxRejectedJobs = max(maxRejectedJobs, m.getCurrentRejectedJobs()); - avgRejectedJobs += m.getCurrentRejectedJobs(); - - curWaitingJobs += m.getCurrentJobWaitTime(); - maxWaitingJobs = max(maxWaitingJobs, m.getCurrentWaitingJobs()); - avgWaitingJobs += m.getCurrentWaitingJobs(); - - maxJobExecTime = max(maxJobExecTime, m.getMaximumJobExecuteTime()); - avgJobExecTime += m.getAverageJobExecuteTime(); - curJobExecTime += m.getCurrentJobExecuteTime(); - - curJobWaitTime = min(curJobWaitTime, m.getCurrentJobWaitTime()); - maxJobWaitTime = max(maxJobWaitTime, m.getCurrentJobWaitTime()); - avgJobWaitTime += m.getCurrentJobWaitTime(); - - daemonThreadCnt += m.getCurrentDaemonThreadCount(); - - peakThreadCnt = max(peakThreadCnt, m.getCurrentThreadCount()); - threadCnt += m.getCurrentThreadCount(); - startedThreadCnt += m.getTotalStartedThreadCount(); - - curIdleTime += m.getCurrentIdleTime(); - totalIdleTime += m.getTotalIdleTime(); - - heapCommitted += m.getHeapMemoryCommitted(); - - heapUsed += m.getHeapMemoryUsed(); - - heapMax = max(heapMax, m.getHeapMemoryMaximum()); - - heapInit += m.getHeapMemoryInitialized(); - - nonHeapCommitted += m.getNonHeapMemoryCommitted(); - - nonHeapUsed += m.getNonHeapMemoryUsed(); - - nonHeapMax = max(nonHeapMax, m.getNonHeapMemoryMaximum()); - - nonHeapInit += m.getNonHeapMemoryInitialized(); - - upTime = max(upTime, m.getUpTime()); - - lastDataVer = max(lastDataVer, m.getLastDataVersion()); - - sentMsgsCnt += m.getSentMessagesCount(); - sentBytesCnt += m.getSentBytesCount(); - rcvdMsgsCnt += m.getReceivedMessagesCount(); - rcvdBytesCnt += m.getReceivedBytesCount(); - outMesQueueSize += m.getOutboundMessagesQueueSize(); - - avgLoad += m.getCurrentCpuLoad(); - availProcs += m.getTotalCpus(); - } - - curJobExecTime /= size; - - avgActiveJobs /= size; - avgCancelledJobs /= size; - avgRejectedJobs /= size; - avgWaitingJobs /= size; - avgJobExecTime /= size; - avgJobWaitTime /= size; - avgLoad /= size; - - if (!F.isEmpty(nodes)) { - ClusterMetrics oldestNodeMetrics = oldest(nodes).metrics(); - - nodeStartTime = oldestNodeMetrics.getNodeStartTime(); - startTime = oldestNodeMetrics.getStartTime(); - } - - Map<String, Collection<ClusterNode>> neighborhood = U.neighborhood(nodes); - - gcLoad = gcCpus(neighborhood); - load = cpus(neighborhood); - } - - /** {@inheritDoc} */ - @Override public long getLastUpdateTime() { - return lastUpdateTime; - } - - /** - * Sets last update time. - * - * @param lastUpdateTime Last update time. - */ - public void setLastUpdateTime(long lastUpdateTime) { - this.lastUpdateTime = lastUpdateTime; - } - - /** {@inheritDoc} */ - @Override public int getMaximumActiveJobs() { - return maxActiveJobs; - } - - /** - * Sets max active jobs. - * - * @param maxActiveJobs Max active jobs. - */ - public void setMaximumActiveJobs(int maxActiveJobs) { - this.maxActiveJobs = maxActiveJobs; - } - - /** {@inheritDoc} */ - @Override public int getCurrentActiveJobs() { - return curActiveJobs; - } - - /** - * Sets current active jobs. - * - * @param curActiveJobs Current active jobs. - */ - public void setCurrentActiveJobs(int curActiveJobs) { - this.curActiveJobs = curActiveJobs; - } - - /** {@inheritDoc} */ - @Override public float getAverageActiveJobs() { - return avgActiveJobs; - } - - /** - * Sets average active jobs. - * - * @param avgActiveJobs Average active jobs. - */ - public void setAverageActiveJobs(float avgActiveJobs) { - this.avgActiveJobs = avgActiveJobs; - } - - /** {@inheritDoc} */ - @Override public int getMaximumWaitingJobs() { - return maxWaitingJobs; - } - - /** - * Sets maximum waiting jobs. - * - * @param maxWaitingJobs Maximum waiting jobs. - */ - public void setMaximumWaitingJobs(int maxWaitingJobs) { - this.maxWaitingJobs = maxWaitingJobs; - } - - /** {@inheritDoc} */ - @Override public int getCurrentWaitingJobs() { - return curWaitingJobs; - } - - /** - * Sets current waiting jobs. - * - * @param curWaitingJobs Current waiting jobs. - */ - public void setCurrentWaitingJobs(int curWaitingJobs) { - this.curWaitingJobs = curWaitingJobs; - } - - /** {@inheritDoc} */ - @Override public float getAverageWaitingJobs() { - return avgWaitingJobs; - } - - /** - * Sets average waiting jobs. - * - * @param avgWaitingJobs Average waiting jobs. - */ - public void setAverageWaitingJobs(float avgWaitingJobs) { - this.avgWaitingJobs = avgWaitingJobs; - } - - /** {@inheritDoc} */ - @Override public int getMaximumRejectedJobs() { - return maxRejectedJobs; - } - - /** - * @param maxRejectedJobs Maximum number of jobs rejected during a single collision resolution event. - */ - public void setMaximumRejectedJobs(int maxRejectedJobs) { - this.maxRejectedJobs = maxRejectedJobs; - } - - /** {@inheritDoc} */ - @Override public int getCurrentRejectedJobs() { - return curRejectedJobs; - } - - /** - * @param curRejectedJobs Number of jobs rejected during most recent collision resolution. - */ - public void setCurrentRejectedJobs(int curRejectedJobs) { - this.curRejectedJobs = curRejectedJobs; - } - - /** {@inheritDoc} */ - @Override public float getAverageRejectedJobs() { - return avgRejectedJobs; - } - - /** - * @param avgRejectedJobs Average number of jobs this node rejects. - */ - public void setAverageRejectedJobs(float avgRejectedJobs) { - this.avgRejectedJobs = avgRejectedJobs; - } - - /** {@inheritDoc} */ - @Override public int getTotalRejectedJobs() { - return totalRejectedJobs; - } - - /** - * @param totalRejectedJobs Total number of jobs this node ever rejected. - */ - public void setTotalRejectedJobs(int totalRejectedJobs) { - this.totalRejectedJobs = totalRejectedJobs; - } - - /** {@inheritDoc} */ - @Override public int getMaximumCancelledJobs() { - return maxCancelledJobs; - } - - /** - * Sets maximum cancelled jobs. - * - * @param maxCancelledJobs Maximum cancelled jobs. - */ - public void setMaximumCancelledJobs(int maxCancelledJobs) { - this.maxCancelledJobs = maxCancelledJobs; - } - - /** {@inheritDoc} */ - @Override public int getCurrentCancelledJobs() { - return curCancelledJobs; - } - - /** - * Sets current cancelled jobs. - * - * @param curCancelledJobs Current cancelled jobs. - */ - public void setCurrentCancelledJobs(int curCancelledJobs) { - this.curCancelledJobs = curCancelledJobs; - } - - /** {@inheritDoc} */ - @Override public float getAverageCancelledJobs() { - return avgCancelledJobs; - } - - /** - * Sets average cancelled jobs. - * - * @param avgCancelledJobs Average cancelled jobs. - */ - public void setAverageCancelledJobs(float avgCancelledJobs) { - this.avgCancelledJobs = avgCancelledJobs; - } - - /** {@inheritDoc} */ - @Override public int getTotalExecutedJobs() { - return totalExecutedJobs; - } - - /** - * Sets total active jobs. - * - * @param totalExecutedJobs Total active jobs. - */ - public void setTotalExecutedJobs(int totalExecutedJobs) { - this.totalExecutedJobs = totalExecutedJobs; - } - - /** {@inheritDoc} */ - @Override public int getTotalCancelledJobs() { - return totalCancelledJobs; - } - - /** - * Sets total cancelled jobs. - * - * @param totalCancelledJobs Total cancelled jobs. - */ - public void setTotalCancelledJobs(int totalCancelledJobs) { - this.totalCancelledJobs = totalCancelledJobs; - } - - /** {@inheritDoc} */ - @Override public long getMaximumJobWaitTime() { - return maxJobWaitTime; - } - - /** - * Sets max job wait time. - * - * @param maxJobWaitTime Max job wait time. - */ - public void setMaximumJobWaitTime(long maxJobWaitTime) { - this.maxJobWaitTime = maxJobWaitTime; - } - - /** {@inheritDoc} */ - @Override public long getCurrentJobWaitTime() { - return curJobWaitTime; - } - - /** - * Sets current job wait time. - * - * @param curJobWaitTime Current job wait time. - */ - public void setCurrentJobWaitTime(long curJobWaitTime) { - this.curJobWaitTime = curJobWaitTime; - } - - /** {@inheritDoc} */ - @Override public double getAverageJobWaitTime() { - return avgJobWaitTime; - } - - /** - * Sets average job wait time. - * - * @param avgJobWaitTime Average job wait time. - */ - public void setAverageJobWaitTime(double avgJobWaitTime) { - this.avgJobWaitTime = avgJobWaitTime; - } - - /** {@inheritDoc} */ - @Override public long getMaximumJobExecuteTime() { - return maxJobExecTime; - } - - /** - * Sets maximum job execution time. - * - * @param maxJobExecTime Maximum job execution time. - */ - public void setMaximumJobExecuteTime(long maxJobExecTime) { - this.maxJobExecTime = maxJobExecTime; - } - - /** {@inheritDoc} */ - @Override public long getCurrentJobExecuteTime() { - return curJobExecTime; - } - - /** - * Sets current job execute time. - * - * @param curJobExecTime Current job execute time. - */ - public void setCurrentJobExecuteTime(long curJobExecTime) { - this.curJobExecTime = curJobExecTime; - } - - /** {@inheritDoc} */ - @Override public double getAverageJobExecuteTime() { - return avgJobExecTime; - } - - /** - * Sets average job execution time. - * - * @param avgJobExecTime Average job execution time. - */ - public void setAverageJobExecuteTime(double avgJobExecTime) { - this.avgJobExecTime = avgJobExecTime; - } - - /** {@inheritDoc} */ - @Override public int getTotalExecutedTasks() { - return totalExecTasks; - } - - /** - * Sets total executed tasks count. - * - * @param totalExecTasks total executed tasks count. - */ - public void setTotalExecutedTasks(int totalExecTasks) { - this.totalExecTasks = totalExecTasks; - } - - /** {@inheritDoc} */ - @Override public long getTotalBusyTime() { - return getUpTime() - getTotalIdleTime(); - } - - /** {@inheritDoc} */ - @Override public long getTotalIdleTime() { - return totalIdleTime; - } - - /** - * Set total node idle time. - * - * @param totalIdleTime Total node idle time. - */ - public void setTotalIdleTime(long totalIdleTime) { - this.totalIdleTime = totalIdleTime; - } - - /** {@inheritDoc} */ - @Override public long getCurrentIdleTime() { - return curIdleTime; - } - - /** - * Sets time elapsed since execution of last job. - * - * @param curIdleTime Time elapsed since execution of last job. - */ - public void setCurrentIdleTime(long curIdleTime) { - this.curIdleTime = curIdleTime; - } - - /** {@inheritDoc} */ - @Override public float getBusyTimePercentage() { - return 1 - getIdleTimePercentage(); - } - - /** {@inheritDoc} */ - @Override public float getIdleTimePercentage() { - return getTotalIdleTime() / (float)getUpTime(); - } - - /** {@inheritDoc} */ - @Override public int getTotalCpus() { - return availProcs; - } - - /** {@inheritDoc} */ - @Override public double getCurrentCpuLoad() { - return load; - } - - /** {@inheritDoc} */ - @Override public double getAverageCpuLoad() { - return avgLoad; - } - - /** {@inheritDoc} */ - @Override public double getCurrentGcCpuLoad() { - return gcLoad; - } - - /** {@inheritDoc} */ - @Override public long getHeapMemoryInitialized() { - return heapInit; - } - - /** {@inheritDoc} */ - @Override public long getHeapMemoryUsed() { - return heapUsed; - } - - /** {@inheritDoc} */ - @Override public long getHeapMemoryCommitted() { - return heapCommitted; - } - - /** {@inheritDoc} */ - @Override public long getHeapMemoryMaximum() { - return heapMax; - } - - /** {@inheritDoc} */ - @Override public long getNonHeapMemoryInitialized() { - return nonHeapInit; - } - - /** {@inheritDoc} */ - @Override public long getNonHeapMemoryUsed() { - return nonHeapUsed; - } - - /** {@inheritDoc} */ - @Override public long getNonHeapMemoryCommitted() { - return nonHeapCommitted; - } - - /** {@inheritDoc} */ - @Override public long getNonHeapMemoryMaximum() { - return nonHeapMax; - } - - /** {@inheritDoc} */ - @Override public long getUpTime() { - return upTime; - } - - /** {@inheritDoc} */ - @Override public long getStartTime() { - return startTime; - } - - /** {@inheritDoc} */ - @Override public long getNodeStartTime() { - return nodeStartTime; - } - - /** {@inheritDoc} */ - @Override public int getCurrentThreadCount() { - return threadCnt; - } - - /** {@inheritDoc} */ - @Override public int getMaximumThreadCount() { - return peakThreadCnt; - } - - /** {@inheritDoc} */ - @Override public long getTotalStartedThreadCount() { - return startedThreadCnt; - } - - /** {@inheritDoc} */ - @Override public int getCurrentDaemonThreadCount() { - return daemonThreadCnt; - } - - /** {@inheritDoc} */ - @Override public long getLastDataVersion() { - return lastDataVer; - } - - /** {@inheritDoc} */ - @Override public int getSentMessagesCount() { - return sentMsgsCnt; - } - - /** {@inheritDoc} */ - @Override public long getSentBytesCount() { - return sentBytesCnt; - } - - /** {@inheritDoc} */ - @Override public int getReceivedMessagesCount() { - return rcvdMsgsCnt; - } - - /** {@inheritDoc} */ - @Override public long getReceivedBytesCount() { - return rcvdBytesCnt; - } - - /** {@inheritDoc} */ - @Override public int getOutboundMessagesQueueSize() { - return outMesQueueSize; - } - - /** - * Sets available processors. - * - * @param availProcs Available processors. - */ - public void setAvailableProcessors(int availProcs) { - this.availProcs = availProcs; - } - - /** - * Sets current CPU load. - * - * @param load Current CPU load. - */ - public void setCurrentCpuLoad(double load) { - this.load = load; - } - - /** - * Sets CPU load average over the metrics history. - * - * @param avgLoad CPU load average. - */ - public void setAverageCpuLoad(double avgLoad) { - this.avgLoad = avgLoad; - } - - /** - * Sets current GC load. - * - * @param gcLoad Current GC load. - */ - public void setCurrentGcCpuLoad(double gcLoad) { - this.gcLoad = gcLoad; - } - - /** - * Sets heap initial memory. - * - * @param heapInit Heap initial memory. - */ - public void setHeapMemoryInitialized(long heapInit) { - this.heapInit = heapInit; - } - - /** - * Sets used heap memory. - * - * @param heapUsed Used heap memory. - */ - public void setHeapMemoryUsed(long heapUsed) { - this.heapUsed = heapUsed; - } - - /** - * Sets committed heap memory. - * - * @param heapCommitted Committed heap memory. - */ - public void setHeapMemoryCommitted(long heapCommitted) { - this.heapCommitted = heapCommitted; - } - - /** - * Sets maximum possible heap memory. - * - * @param heapMax Maximum possible heap memory. - */ - public void setHeapMemoryMaximum(long heapMax) { - this.heapMax = heapMax; - } - - /** - * Sets initial non-heap memory. - * - * @param nonHeapInit Initial non-heap memory. - */ - public void setNonHeapMemoryInitialized(long nonHeapInit) { - this.nonHeapInit = nonHeapInit; - } - - /** - * Sets used non-heap memory. - * - * @param nonHeapUsed Used non-heap memory. - */ - public void setNonHeapMemoryUsed(long nonHeapUsed) { - this.nonHeapUsed = nonHeapUsed; - } - - /** - * Sets committed non-heap memory. - * - * @param nonHeapCommitted Committed non-heap memory. - */ - public void setNonHeapMemoryCommitted(long nonHeapCommitted) { - this.nonHeapCommitted = nonHeapCommitted; - } - - /** - * Sets maximum possible non-heap memory. - * - * @param nonHeapMax Maximum possible non-heap memory. - */ - public void setNonHeapMemoryMaximum(long nonHeapMax) { - this.nonHeapMax = nonHeapMax; - } - - /** - * Sets VM up time. - * - * @param upTime VM up time. - */ - public void setUpTime(long upTime) { - this.upTime = upTime; - } - - /** - * Sets VM start time. - * - * @param startTime VM start time. - */ - public void setStartTime(long startTime) { - this.startTime = startTime; - } - - /** - * Sets node start time. - * - * @param nodeStartTime node start time. - */ - public void setNodeStartTime(long nodeStartTime) { - this.nodeStartTime = nodeStartTime; - } - - /** - * Sets thread count. - * - * @param threadCnt Thread count. - */ - public void setCurrentThreadCount(int threadCnt) { - this.threadCnt = threadCnt; - } - - /** - * Sets peak thread count. - * - * @param peakThreadCnt Peak thread count. - */ - public void setMaximumThreadCount(int peakThreadCnt) { - this.peakThreadCnt = peakThreadCnt; - } - - /** - * Sets started thread count. - * - * @param startedThreadCnt Started thread count. - */ - public void setTotalStartedThreadCount(long startedThreadCnt) { - this.startedThreadCnt = startedThreadCnt; - } - - /** - * Sets daemon thread count. - * - * @param daemonThreadCnt Daemon thread count. - */ - public void setCurrentDaemonThreadCount(int daemonThreadCnt) { - this.daemonThreadCnt = daemonThreadCnt; - } - - /** - * Sets last data version. - * - * @param lastDataVer Last data version. - */ - public void setLastDataVersion(long lastDataVer) { - this.lastDataVer = lastDataVer; - } - - /** - * Sets sent messages count. - * - * @param sentMsgsCnt Sent messages count. - */ - public void setSentMessagesCount(int sentMsgsCnt) { - this.sentMsgsCnt = sentMsgsCnt; - } - - /** - * Sets sent bytes count. - * - * @param sentBytesCnt Sent bytes count. - */ - public void setSentBytesCount(long sentBytesCnt) { - this.sentBytesCnt = sentBytesCnt; - } - - /** - * Sets received messages count. - * - * @param rcvdMsgsCnt Received messages count. - */ - public void setReceivedMessagesCount(int rcvdMsgsCnt) { - this.rcvdMsgsCnt = rcvdMsgsCnt; - } - - /** - * Sets received bytes count. - * - * @param rcvdBytesCnt Received bytes count. - */ - public void setReceivedBytesCount(long rcvdBytesCnt) { - this.rcvdBytesCnt = rcvdBytesCnt; - } - - /** - * Sets outbound messages queue size. - * - * @param outMesQueueSize Outbound messages queue size. - */ - public void setOutboundMessagesQueueSize(int outMesQueueSize) { - this.outMesQueueSize = outMesQueueSize; - } - - private static int cpus(Map<String, Collection<ClusterNode>> neighborhood) { - int cpus = 0; - - for (Collection<ClusterNode> nodes : neighborhood.values()) { - ClusterNode first = F.first(nodes); - - // Projection can be empty if all nodes in it failed. - if (first != null) - cpus += first.metrics().getTotalCpus(); - } - - return cpus; - } - - private static int gcCpus(Map<String, Collection<ClusterNode>> neighborhood) { - int cpus = 0; - - for (Collection<ClusterNode> nodes : neighborhood.values()) { - ClusterNode first = F.first(nodes); - - // Projection can be empty if all nodes in it failed. - if (first != null) - cpus += first.metrics().getCurrentGcCpuLoad(); - } - - return cpus; - } - - /** - * Gets the oldest node in given collection. - * - * @param nodes Nodes. - * @return Oldest node or {@code null} if collection is empty. - */ - @Nullable private static ClusterNode oldest(Collection<ClusterNode> nodes) { - long min = Long.MAX_VALUE; - - ClusterNode oldest = null; - - for (ClusterNode n : nodes) - if (n.order() < min) { - min = n.order(); - oldest = n; - } - - return oldest; - } - - /** {@inheritDoc} */ - @Override public int hashCode() { - return System.identityHashCode(this); - } - - /** {@inheritDoc} */ - @Override public boolean equals(Object obj) { - if (this == obj) - return true; - - if (obj == null || getClass() != obj.getClass()) - return false; - - ClusterMetricsSnapshot other = (ClusterMetricsSnapshot)obj; - - return - availProcs == other.availProcs && - curActiveJobs == other.curActiveJobs && - curCancelledJobs == other.curCancelledJobs && - curIdleTime == other.curIdleTime && - curJobExecTime == other.curJobExecTime && - curJobWaitTime == other.curJobWaitTime && - curRejectedJobs == other.curRejectedJobs && - curWaitingJobs == other.curWaitingJobs && - daemonThreadCnt == other.daemonThreadCnt && - heapCommitted == other.heapCommitted && - heapInit == other.heapInit && - heapMax == other.heapMax && - heapUsed == other.heapUsed && - maxActiveJobs == other.maxActiveJobs && - maxCancelledJobs == other.maxCancelledJobs && - maxJobExecTime == other.maxJobExecTime && - maxJobWaitTime == other.maxJobWaitTime && - maxRejectedJobs == other.maxRejectedJobs && - maxWaitingJobs == other.maxWaitingJobs && - nonHeapCommitted == other.nonHeapCommitted && - nonHeapInit == other.nonHeapInit && - nonHeapMax == other.nonHeapMax && - nonHeapUsed == other.nonHeapUsed && - peakThreadCnt == other.peakThreadCnt && - rcvdBytesCnt == other.rcvdBytesCnt && - outMesQueueSize == other.outMesQueueSize && - rcvdMsgsCnt == other.rcvdMsgsCnt && - sentBytesCnt == other.sentBytesCnt && - sentMsgsCnt == other.sentMsgsCnt && - startTime == other.startTime && - nodeStartTime == other.nodeStartTime && - startedThreadCnt == other.startedThreadCnt && - threadCnt == other.threadCnt && - totalCancelledJobs == other.totalCancelledJobs && - totalExecutedJobs == other.totalExecutedJobs && - totalExecTasks == other.totalExecTasks && - totalIdleTime == other.totalIdleTime && - totalRejectedJobs == other.totalRejectedJobs && - upTime == other.upTime; - } - - /** {@inheritDoc} */ - @Override public String toString() { - return S.toString(ClusterMetricsSnapshot.class, this); - } -}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/abe5d178/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoveryMetricsHelper.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoveryMetricsHelper.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoveryMetricsHelper.java deleted file mode 100644 index 512f041..0000000 --- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoveryMetricsHelper.java +++ /dev/null @@ -1,368 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.ignite.spi.discovery; - -import org.apache.ignite.cluster.*; -import org.apache.ignite.internal.util.typedef.internal.*; - -/** - * Helper class to serialize and deserialize cluster metrics. - */ -public final class DiscoveryMetricsHelper { - /** Size of serialized node metrics. */ - public static final int METRICS_SIZE = - 4/*max active jobs*/ + - 4/*current active jobs*/ + - 4/*average active jobs*/ + - 4/*max waiting jobs*/ + - 4/*current waiting jobs*/ + - 4/*average waiting jobs*/ + - 4/*max cancelled jobs*/ + - 4/*current cancelled jobs*/ + - 4/*average cancelled jobs*/ + - 4/*max rejected jobs*/ + - 4/*current rejected jobs*/ + - 4/*average rejected jobs*/ + - 4/*total executed jobs*/ + - 4/*total rejected jobs*/ + - 4/*total cancelled jobs*/ + - 8/*max job wait time*/ + - 8/*current job wait time*/ + - 8/*average job wait time*/ + - 8/*max job execute time*/ + - 8/*current job execute time*/ + - 8/*average job execute time*/ + - 4/*total executed tasks*/ + - 8/*current idle time*/ + - 8/*total idle time*/ + - 4/*available processors*/ + - 8/*current CPU load*/ + - 8/*average CPU load*/ + - 8/*current GC CPU load*/ + - 8/*heap memory init*/ + - 8/*heap memory used*/ + - 8/*heap memory committed*/ + - 8/*heap memory max*/ + - 8/*non-heap memory init*/ + - 8/*non-heap memory used*/ + - 8/*non-heap memory committed*/ + - 8/*non-heap memory max*/ + - 8/*uptime*/ + - 8/*start time*/ + - 8/*node start time*/ + - 4/*thread count*/ + - 4/*peak thread count*/ + - 8/*total started thread count*/ + - 4/*daemon thread count*/ + - 8/*last data version.*/ + - 4/*sent messages count*/ + - 8/*sent bytes count*/ + - 4/*received messages count*/ + - 8/*received bytes count*/ + - 4/*outbound messages queue size*/; - - /** - * Enforces singleton. - */ - private DiscoveryMetricsHelper() { - // No-op. - } - - /** - * Serializes node metrics into byte array. - * - * @param data Byte array. - * @param off Offset into byte array. - * @param metrics Node metrics to serialize. - * @return New offset. - */ - public static int serialize(byte[] data, int off, ClusterMetrics metrics) { - int start = off; - - off = U.intToBytes(metrics.getMaximumActiveJobs(), data, off); - off = U.intToBytes(metrics.getCurrentActiveJobs(), data, off); - off = U.floatToBytes(metrics.getAverageActiveJobs(), data, off); - off = U.intToBytes(metrics.getMaximumWaitingJobs(), data, off); - off = U.intToBytes(metrics.getCurrentWaitingJobs(), data, off); - off = U.floatToBytes(metrics.getAverageWaitingJobs(), data, off); - off = U.intToBytes(metrics.getMaximumRejectedJobs(), data, off); - off = U.intToBytes(metrics.getCurrentRejectedJobs(), data, off); - off = U.floatToBytes(metrics.getAverageRejectedJobs(), data, off); - off = U.intToBytes(metrics.getMaximumCancelledJobs(), data, off); - off = U.intToBytes(metrics.getCurrentCancelledJobs(), data, off); - off = U.floatToBytes(metrics.getAverageCancelledJobs(), data, off); - off = U.intToBytes(metrics.getTotalRejectedJobs(), data , off); - off = U.intToBytes(metrics.getTotalCancelledJobs(), data , off); - off = U.intToBytes(metrics.getTotalExecutedJobs(), data , off); - off = U.longToBytes(metrics.getMaximumJobWaitTime(), data, off); - off = U.longToBytes(metrics.getCurrentJobWaitTime(), data, off); - off = U.doubleToBytes(metrics.getAverageJobWaitTime(), data, off); - off = U.longToBytes(metrics.getMaximumJobExecuteTime(), data, off); - off = U.longToBytes(metrics.getCurrentJobExecuteTime(), data, off); - off = U.doubleToBytes(metrics.getAverageJobExecuteTime(), data, off); - off = U.intToBytes(metrics.getTotalExecutedTasks(), data, off); - off = U.longToBytes(metrics.getCurrentIdleTime(), data, off); - off = U.longToBytes(metrics.getTotalIdleTime(), data , off); - off = U.intToBytes(metrics.getTotalCpus(), data, off); - off = U.doubleToBytes(metrics.getCurrentCpuLoad(), data, off); - off = U.doubleToBytes(metrics.getAverageCpuLoad(), data, off); - off = U.doubleToBytes(metrics.getCurrentGcCpuLoad(), data, off); - off = U.longToBytes(metrics.getHeapMemoryInitialized(), data, off); - off = U.longToBytes(metrics.getHeapMemoryUsed(), data, off); - off = U.longToBytes(metrics.getHeapMemoryCommitted(), data, off); - off = U.longToBytes(metrics.getHeapMemoryMaximum(), data, off); - off = U.longToBytes(metrics.getNonHeapMemoryInitialized(), data, off); - off = U.longToBytes(metrics.getNonHeapMemoryUsed(), data, off); - off = U.longToBytes(metrics.getNonHeapMemoryCommitted(), data, off); - off = U.longToBytes(metrics.getNonHeapMemoryMaximum(), data, off); - off = U.longToBytes(metrics.getStartTime(), data, off); - off = U.longToBytes(metrics.getNodeStartTime(), data, off); - off = U.longToBytes(metrics.getUpTime(), data, off); - off = U.intToBytes(metrics.getCurrentThreadCount(), data, off); - off = U.intToBytes(metrics.getMaximumThreadCount(), data, off); - off = U.longToBytes(metrics.getTotalStartedThreadCount(), data, off); - off = U.intToBytes(metrics.getCurrentDaemonThreadCount(), data, off); - off = U.longToBytes(metrics.getLastDataVersion(), data, off); - off = U.intToBytes(metrics.getSentMessagesCount(), data, off); - off = U.longToBytes(metrics.getSentBytesCount(), data, off); - off = U.intToBytes(metrics.getReceivedMessagesCount(), data, off); - off = U.longToBytes(metrics.getReceivedBytesCount(), data, off); - off = U.intToBytes(metrics.getOutboundMessagesQueueSize(), data, off); - - assert off - start == METRICS_SIZE : "Invalid metrics size [expected=" + METRICS_SIZE + ", actual=" + - (off - start) + ']'; - - return off; - } - - /** - * De-serializes node metrics. - * - * @param data Byte array. - * @param off Offset into byte array. - * @return Deserialized node metrics. - */ - public static ClusterMetrics deserialize(byte[] data, int off) { - int start = off; - - ClusterMetricsSnapshot metrics = new ClusterMetricsSnapshot(); - - metrics.setLastUpdateTime(U.currentTimeMillis()); - - metrics.setMaximumActiveJobs(U.bytesToInt(data, off)); - - off += 4; - - metrics.setCurrentActiveJobs(U.bytesToInt(data, off)); - - off += 4; - - metrics.setAverageActiveJobs(U.bytesToFloat(data, off)); - - off += 4; - - metrics.setMaximumWaitingJobs(U.bytesToInt(data, off)); - - off += 4; - - metrics.setCurrentWaitingJobs(U.bytesToInt(data, off)); - - off += 4; - - metrics.setAverageWaitingJobs(U.bytesToFloat(data, off)); - - off += 4; - - metrics.setMaximumRejectedJobs(U.bytesToInt(data, off)); - - off += 4; - - metrics.setCurrentRejectedJobs(U.bytesToInt(data, off)); - - off += 4; - - metrics.setAverageRejectedJobs(U.bytesToFloat(data, off)); - - off += 4; - - metrics.setMaximumCancelledJobs(U.bytesToInt(data, off)); - - off += 4; - - metrics.setCurrentCancelledJobs(U.bytesToInt(data, off)); - - off += 4; - - metrics.setAverageCancelledJobs(U.bytesToFloat(data, off)); - - off += 4; - - metrics.setTotalRejectedJobs(U.bytesToInt(data, off)); - - off += 4; - - metrics.setTotalCancelledJobs(U.bytesToInt(data, off)); - - off += 4; - - metrics.setTotalExecutedJobs(U.bytesToInt(data, off)); - - off += 4; - - metrics.setMaximumJobWaitTime(U.bytesToLong(data, off)); - - off += 8; - - metrics.setCurrentJobWaitTime(U.bytesToLong(data, off)); - - off += 8; - - metrics.setAverageJobWaitTime(U.bytesToDouble(data, off)); - - off += 8; - - metrics.setMaximumJobExecuteTime(U.bytesToLong(data, off)); - - off += 8; - - metrics.setCurrentJobExecuteTime(U.bytesToLong(data, off)); - - off += 8; - - metrics.setAverageJobExecuteTime(U.bytesToDouble(data, off)); - - off += 8; - - metrics.setTotalExecutedTasks(U.bytesToInt(data, off)); - - off += 4; - - metrics.setCurrentIdleTime(U.bytesToLong(data, off)); - - off += 8; - - metrics.setTotalIdleTime(U.bytesToLong(data, off)); - - off += 8; - - metrics.setAvailableProcessors(U.bytesToInt(data, off)); - - off += 4; - - metrics.setCurrentCpuLoad(U.bytesToDouble(data, off)); - - off += 8; - - metrics.setAverageCpuLoad(U.bytesToDouble(data, off)); - - off += 8; - - metrics.setCurrentGcCpuLoad(U.bytesToDouble(data, off)); - - off += 8; - - metrics.setHeapMemoryInitialized(U.bytesToLong(data, off)); - - off += 8; - - metrics.setHeapMemoryUsed(U.bytesToLong(data, off)); - - off += 8; - - metrics.setHeapMemoryCommitted(U.bytesToLong(data, off)); - - off += 8; - - metrics.setHeapMemoryMaximum(U.bytesToLong(data, off)); - - off += 8; - - metrics.setNonHeapMemoryInitialized(U.bytesToLong(data, off)); - - off += 8; - - metrics.setNonHeapMemoryUsed(U.bytesToLong(data, off)); - - off += 8; - - metrics.setNonHeapMemoryCommitted(U.bytesToLong(data, off)); - - off += 8; - - metrics.setNonHeapMemoryMaximum(U.bytesToLong(data, off)); - - off += 8; - - metrics.setStartTime(U.bytesToLong(data, off)); - - off += 8; - - metrics.setNodeStartTime(U.bytesToLong(data, off)); - - off += 8; - - metrics.setUpTime(U.bytesToLong(data, off)); - - off += 8; - - metrics.setCurrentThreadCount(U.bytesToInt(data, off)); - - off += 4; - - metrics.setMaximumThreadCount(U.bytesToInt(data, off)); - - off += 4; - - metrics.setTotalStartedThreadCount(U.bytesToLong(data, off)); - - off += 8; - - metrics.setCurrentDaemonThreadCount(U.bytesToInt(data, off)); - - off += 4; - - metrics.setLastDataVersion(U.bytesToLong(data, off)); - - off += 8; - - metrics.setSentMessagesCount(U.bytesToInt(data, off)); - - off += 4; - - metrics.setSentBytesCount(U.bytesToLong(data, off)); - - off += 8; - - metrics.setReceivedMessagesCount(U.bytesToInt(data, off)); - - off += 4; - - metrics.setReceivedBytesCount(U.bytesToLong(data, off)); - - off += 8; - - metrics.setOutboundMessagesQueueSize(U.bytesToInt(data, off)); - - off += 4; - - assert off - start == METRICS_SIZE : "Invalid metrics size [expected=" + METRICS_SIZE + ", actual=" + - (off - start) + ']'; - - return metrics; - } -} http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/abe5d178/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNode.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNode.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNode.java index cd5dacf..f3aa670 100644 --- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNode.java +++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNode.java @@ -396,9 +396,9 @@ public class TcpDiscoveryNode extends GridMetadataAwareAdapter implements Cluste byte[] mtr = null; if (metrics != null) { - mtr = new byte[DiscoveryMetricsHelper.METRICS_SIZE]; + mtr = new byte[ClusterMetricsSnapshot.METRICS_SIZE]; - DiscoveryMetricsHelper.serialize(mtr, 0, metrics); + ClusterMetricsSnapshot.serialize(mtr, 0, metrics); } U.writeByteArray(out, mtr); @@ -425,7 +425,7 @@ public class TcpDiscoveryNode extends GridMetadataAwareAdapter implements Cluste byte[] mtr = U.readByteArray(in); if (mtr != null) - metrics = DiscoveryMetricsHelper.deserialize(mtr, 0); + metrics = ClusterMetricsSnapshot.deserialize(mtr, 0); order = in.readLong(); intOrder = in.readLong(); http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/abe5d178/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryHeartbeatMessage.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryHeartbeatMessage.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryHeartbeatMessage.java index 18baadc..65eea9f 100644 --- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryHeartbeatMessage.java +++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryHeartbeatMessage.java @@ -18,7 +18,7 @@ package org.apache.ignite.spi.discovery.tcp.messages; import org.apache.ignite.cluster.*; -import org.apache.ignite.spi.discovery.*; +import org.apache.ignite.internal.*; import org.apache.ignite.internal.util.tostring.*; import org.apache.ignite.internal.util.typedef.*; import org.apache.ignite.internal.util.typedef.internal.*; @@ -26,8 +26,6 @@ import org.apache.ignite.internal.util.typedef.internal.*; import java.io.*; import java.util.*; -import static org.apache.ignite.spi.discovery.DiscoveryMetricsHelper.*; - /** * Heartbeat message. * <p> @@ -199,9 +197,9 @@ public class TcpDiscoveryHeartbeatMessage extends TcpDiscoveryAbstractMessage { private static byte[] serializeMetrics(ClusterMetrics metrics) { assert metrics != null; - byte[] buf = new byte[DiscoveryMetricsHelper.METRICS_SIZE]; + byte[] buf = new byte[ClusterMetricsSnapshot.METRICS_SIZE]; - serialize(buf, 0, metrics); + ClusterMetricsSnapshot.serialize(buf, 0, metrics); return buf; } @@ -215,12 +213,12 @@ public class TcpDiscoveryHeartbeatMessage extends TcpDiscoveryAbstractMessage { assert nodeId != null; assert metrics != null; - byte[] buf = new byte[16 + DiscoveryMetricsHelper.METRICS_SIZE]; + byte[] buf = new byte[16 + ClusterMetricsSnapshot.METRICS_SIZE]; U.longToBytes(nodeId.getMostSignificantBits(), buf, 0); U.longToBytes(nodeId.getLeastSignificantBits(), buf, 8); - serialize(buf, 16, metrics); + ClusterMetricsSnapshot.serialize(buf, 16, metrics); return buf; } @@ -257,7 +255,7 @@ public class TcpDiscoveryHeartbeatMessage extends TcpDiscoveryAbstractMessage { * @return Deserialized metrics. */ public ClusterMetrics metrics() { - return deserialize(metrics, 0); + return ClusterMetricsSnapshot.deserialize(metrics, 0); } /** @@ -268,7 +266,7 @@ public class TcpDiscoveryHeartbeatMessage extends TcpDiscoveryAbstractMessage { @Override public T2<UUID, ClusterMetrics> apply(byte[] bytes) { UUID nodeId = new UUID(U.bytesToLong(bytes, 0), U.bytesToLong(bytes, 8)); - return new T2<>(nodeId, deserialize(bytes, 16)); + return new T2<>(nodeId, ClusterMetricsSnapshot.deserialize(bytes, 16)); } }); } http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/abe5d178/modules/core/src/test/java/org/apache/ignite/spi/collision/jobstealing/GridJobStealingCollisionSpiAttributesSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/spi/collision/jobstealing/GridJobStealingCollisionSpiAttributesSelfTest.java b/modules/core/src/test/java/org/apache/ignite/spi/collision/jobstealing/GridJobStealingCollisionSpiAttributesSelfTest.java index b26993a..2a6f6d4 100644 --- a/modules/core/src/test/java/org/apache/ignite/spi/collision/jobstealing/GridJobStealingCollisionSpiAttributesSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/spi/collision/jobstealing/GridJobStealingCollisionSpiAttributesSelfTest.java @@ -18,8 +18,8 @@ package org.apache.ignite.spi.collision.jobstealing; import org.apache.ignite.cluster.*; +import org.apache.ignite.internal.*; import org.apache.ignite.spi.collision.*; -import org.apache.ignite.spi.discovery.*; import org.apache.ignite.spi.failover.jobstealing.*; import org.apache.ignite.internal.util.typedef.*; import org.apache.ignite.internal.util.typedef.internal.*; http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/abe5d178/modules/core/src/test/java/org/apache/ignite/spi/collision/jobstealing/GridJobStealingCollisionSpiCustomTopologySelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/spi/collision/jobstealing/GridJobStealingCollisionSpiCustomTopologySelfTest.java b/modules/core/src/test/java/org/apache/ignite/spi/collision/jobstealing/GridJobStealingCollisionSpiCustomTopologySelfTest.java index 17ba88f..9a63379 100644 --- a/modules/core/src/test/java/org/apache/ignite/spi/collision/jobstealing/GridJobStealingCollisionSpiCustomTopologySelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/spi/collision/jobstealing/GridJobStealingCollisionSpiCustomTopologySelfTest.java @@ -19,9 +19,9 @@ package org.apache.ignite.spi.collision.jobstealing; import org.apache.ignite.*; import org.apache.ignite.cluster.*; +import org.apache.ignite.internal.*; import org.apache.ignite.lang.*; import org.apache.ignite.spi.collision.*; -import org.apache.ignite.spi.discovery.*; import org.apache.ignite.spi.failover.jobstealing.*; import org.apache.ignite.internal.util.typedef.internal.*; import org.apache.ignite.testframework.*; http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/abe5d178/modules/core/src/test/java/org/apache/ignite/spi/collision/jobstealing/GridJobStealingCollisionSpiSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/spi/collision/jobstealing/GridJobStealingCollisionSpiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/spi/collision/jobstealing/GridJobStealingCollisionSpiSelfTest.java index e1424ce..aff724c 100644 --- a/modules/core/src/test/java/org/apache/ignite/spi/collision/jobstealing/GridJobStealingCollisionSpiSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/spi/collision/jobstealing/GridJobStealingCollisionSpiSelfTest.java @@ -19,9 +19,9 @@ package org.apache.ignite.spi.collision.jobstealing; import org.apache.ignite.*; import org.apache.ignite.cluster.*; +import org.apache.ignite.internal.*; import org.apache.ignite.lang.*; import org.apache.ignite.spi.collision.*; -import org.apache.ignite.spi.discovery.*; import org.apache.ignite.spi.failover.jobstealing.*; import org.apache.ignite.internal.util.typedef.*; import org.apache.ignite.internal.util.typedef.internal.*; http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/abe5d178/modules/core/src/test/java/org/apache/ignite/spi/discovery/ClusterMetricsSnapshotSerializeSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/spi/discovery/ClusterMetricsSnapshotSerializeSelfTest.java b/modules/core/src/test/java/org/apache/ignite/spi/discovery/ClusterMetricsSnapshotSerializeSelfTest.java new file mode 100644 index 0000000..a737a91 --- /dev/null +++ b/modules/core/src/test/java/org/apache/ignite/spi/discovery/ClusterMetricsSnapshotSerializeSelfTest.java @@ -0,0 +1,126 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.spi.discovery; + +import org.apache.ignite.cluster.*; +import org.apache.ignite.internal.*; +import org.apache.ignite.testframework.junits.common.*; + +import java.io.*; +import java.util.*; + +/** + * Grid discovery metrics test. + */ +@GridCommonTest(group = "Utils") +public class ClusterMetricsSnapshotSerializeSelfTest extends GridCommonAbstractTest { + /** */ + public ClusterMetricsSnapshotSerializeSelfTest() { + super(false /*don't start grid*/); + } + + /** */ + public void testMetricsSize() { + byte[] data = new byte[ClusterMetricsSnapshot.METRICS_SIZE]; + + // Test serialization. + int off = ClusterMetricsSnapshot.serialize(data, 0, createMetrics()); + + assert off == ClusterMetricsSnapshot.METRICS_SIZE; + + // Test deserialization. + ClusterMetrics res = ClusterMetricsSnapshot.deserialize(data, 0); + + assert res != null; + } + + /** */ + public void testSerialization() { + byte[] data = new byte[ClusterMetricsSnapshot.METRICS_SIZE]; + + ClusterMetrics metrics1 = createMetrics(); + + // Test serialization. + int off = ClusterMetricsSnapshot.serialize(data, 0, metrics1); + + assert off == ClusterMetricsSnapshot.METRICS_SIZE; + + // Test deserialization. + ClusterMetrics metrics2 = ClusterMetricsSnapshot.deserialize(data, 0); + + assert metrics2 != null; + + assert metrics1.equals(metrics2); + } + + /** + * @return Test metrics. + */ + private ClusterMetrics createMetrics() { + ClusterMetricsSnapshot metrics = new ClusterMetricsSnapshot(); + + metrics.setAvailableProcessors(1); + metrics.setAverageActiveJobs(2); + metrics.setAverageCancelledJobs(3); + metrics.setAverageJobExecuteTime(4); + metrics.setAverageJobWaitTime(5); + metrics.setAverageRejectedJobs(6); + metrics.setAverageWaitingJobs(7); + metrics.setCurrentActiveJobs(8); + metrics.setCurrentCancelledJobs(9); + metrics.setCurrentIdleTime(10); + metrics.setCurrentIdleTime(11); + metrics.setCurrentJobExecuteTime(12); + metrics.setCurrentJobWaitTime(13); + metrics.setCurrentRejectedJobs(14); + metrics.setCurrentWaitingJobs(15); + metrics.setCurrentDaemonThreadCount(16); + metrics.setHeapMemoryCommitted(17); + metrics.setHeapMemoryInitialized(18); + metrics.setHeapMemoryMaximum(19); + metrics.setHeapMemoryUsed(20); + metrics.setLastUpdateTime(21); + metrics.setMaximumActiveJobs(22); + metrics.setMaximumCancelledJobs(23); + metrics.setMaximumJobExecuteTime(24); + metrics.setMaximumJobWaitTime(25); + metrics.setMaximumRejectedJobs(26); + metrics.setMaximumWaitingJobs(27); + metrics.setNonHeapMemoryCommitted(28); + metrics.setNonHeapMemoryInitialized(29); + metrics.setNonHeapMemoryMaximum(30); + metrics.setNonHeapMemoryUsed(31); + metrics.setMaximumThreadCount(32); + metrics.setStartTime(33); + metrics.setCurrentCpuLoad(34); + metrics.setCurrentThreadCount(35); + metrics.setTotalCancelledJobs(36); + metrics.setTotalExecutedJobs(37); + metrics.setTotalIdleTime(38); + metrics.setTotalRejectedJobs(39); + metrics.setTotalStartedThreadCount(40); + metrics.setUpTime(41); + metrics.setSentMessagesCount(42); + metrics.setSentBytesCount(43); + metrics.setReceivedMessagesCount(44); + metrics.setReceivedBytesCount(45); + metrics.setOutboundMessagesQueueSize(46); + + return metrics; + } +} http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/abe5d178/modules/core/src/test/java/org/apache/ignite/spi/discovery/GridDiscoveryMetricsHelperSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/spi/discovery/GridDiscoveryMetricsHelperSelfTest.java b/modules/core/src/test/java/org/apache/ignite/spi/discovery/GridDiscoveryMetricsHelperSelfTest.java deleted file mode 100644 index 4aa06b7..0000000 --- a/modules/core/src/test/java/org/apache/ignite/spi/discovery/GridDiscoveryMetricsHelperSelfTest.java +++ /dev/null @@ -1,149 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.ignite.spi.discovery; - -import org.apache.ignite.cluster.*; -import org.apache.ignite.testframework.junits.common.*; - -import java.io.*; -import java.util.*; - -/** - * Grid discovery metrics test. - */ -@GridCommonTest(group = "Utils") -public class GridDiscoveryMetricsHelperSelfTest extends GridCommonAbstractTest { - /** */ - private static final int METRICS_COUNT = 500; - - /** */ - public GridDiscoveryMetricsHelperSelfTest() { - super(false /*don't start grid*/); - } - - /** */ - public void testMetricsSize() { - byte[] data = new byte[DiscoveryMetricsHelper.METRICS_SIZE]; - - // Test serialization. - int off = DiscoveryMetricsHelper.serialize(data, 0, createMetrics()); - - assert off == DiscoveryMetricsHelper.METRICS_SIZE; - - // Test deserialization. - ClusterMetrics res = DiscoveryMetricsHelper.deserialize(data, 0); - - assert res != null; - } - - /** */ - public void testSerialization() { - byte[] data = new byte[DiscoveryMetricsHelper.METRICS_SIZE]; - - ClusterMetrics metrics1 = createMetrics(); - - // Test serialization. - int off = DiscoveryMetricsHelper.serialize(data, 0, metrics1); - - assert off == DiscoveryMetricsHelper.METRICS_SIZE; - - // Test deserialization. - ClusterMetrics metrics2 = DiscoveryMetricsHelper.deserialize(data, 0); - - assert metrics2 != null; - - assert metrics1.equals(metrics2); - } - - /** - * @throws IOException If I/O error occurs. - */ - public void testMultipleMetricsSerialization() throws IOException { - Map<UUID, ClusterMetrics> metrics = new HashMap<>(METRICS_COUNT); - - for (int i = 0; i < METRICS_COUNT; i++) - metrics.put(UUID.randomUUID(), createMetrics()); - - ByteArrayOutputStream bos = new ByteArrayOutputStream(1024 * 1024); - - ObjectOutputStream oos = new ObjectOutputStream(bos); - - oos.writeObject(metrics); - - oos.close(); - - info(">>> Size of metrics map <UUID, GridNodeMetrics> in KB [metricsCount=" + METRICS_COUNT + - ", size=" + bos.size() / 1024.0 + ']'); - } - - /** - * @return Test metrics. - */ - private ClusterMetrics createMetrics() { - ClusterMetricsSnapshot metrics = new ClusterMetricsSnapshot(); - - metrics.setAvailableProcessors(1); - metrics.setAverageActiveJobs(2); - metrics.setAverageCancelledJobs(3); - metrics.setAverageJobExecuteTime(4); - metrics.setAverageJobWaitTime(5); - metrics.setAverageRejectedJobs(6); - metrics.setAverageWaitingJobs(7); - metrics.setCurrentActiveJobs(8); - metrics.setCurrentCancelledJobs(9); - metrics.setCurrentIdleTime(10); - metrics.setCurrentIdleTime(11); - metrics.setCurrentJobExecuteTime(12); - metrics.setCurrentJobWaitTime(13); - metrics.setCurrentRejectedJobs(14); - metrics.setCurrentWaitingJobs(15); - metrics.setCurrentDaemonThreadCount(16); - metrics.setHeapMemoryCommitted(17); - metrics.setHeapMemoryInitialized(18); - metrics.setHeapMemoryMaximum(19); - metrics.setHeapMemoryUsed(20); - metrics.setLastUpdateTime(21); - metrics.setMaximumActiveJobs(22); - metrics.setMaximumCancelledJobs(23); - metrics.setMaximumJobExecuteTime(24); - metrics.setMaximumJobWaitTime(25); - metrics.setMaximumRejectedJobs(26); - metrics.setMaximumWaitingJobs(27); - metrics.setNonHeapMemoryCommitted(28); - metrics.setNonHeapMemoryInitialized(29); - metrics.setNonHeapMemoryMaximum(30); - metrics.setNonHeapMemoryUsed(31); - metrics.setMaximumThreadCount(32); - metrics.setStartTime(33); - metrics.setCurrentCpuLoad(34); - metrics.setCurrentThreadCount(35); - metrics.setTotalCancelledJobs(36); - metrics.setTotalExecutedJobs(37); - metrics.setTotalIdleTime(38); - metrics.setTotalRejectedJobs(39); - metrics.setTotalStartedThreadCount(40); - metrics.setUpTime(41); - metrics.setSentMessagesCount(42); - metrics.setSentBytesCount(43); - metrics.setReceivedMessagesCount(44); - metrics.setReceivedBytesCount(45); - metrics.setOutboundMessagesQueueSize(46); - - return metrics; - } -} http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/abe5d178/modules/core/src/test/java/org/apache/ignite/testframework/GridSpiTestContext.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/GridSpiTestContext.java b/modules/core/src/test/java/org/apache/ignite/testframework/GridSpiTestContext.java index fbcbdd1..d70e4b0 100644 --- a/modules/core/src/test/java/org/apache/ignite/testframework/GridSpiTestContext.java +++ b/modules/core/src/test/java/org/apache/ignite/testframework/GridSpiTestContext.java @@ -20,10 +20,10 @@ package org.apache.ignite.testframework; import org.apache.ignite.*; import org.apache.ignite.cluster.*; import org.apache.ignite.events.*; +import org.apache.ignite.internal.*; import org.apache.ignite.lang.*; import org.apache.ignite.plugin.security.*; import org.apache.ignite.spi.*; -import org.apache.ignite.spi.discovery.*; import org.apache.ignite.spi.swapspace.*; import org.apache.ignite.internal.managers.communication.*; import org.apache.ignite.internal.managers.eventstorage.*; http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/abe5d178/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteUtilSelfTestSuite.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteUtilSelfTestSuite.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteUtilSelfTestSuite.java index 213912a..87d38b7 100644 --- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteUtilSelfTestSuite.java +++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteUtilSelfTestSuite.java @@ -53,7 +53,7 @@ public class IgniteUtilSelfTestSuite extends TestSuite { suite.addTestSuite(GridCacheUtilsSelfTest.class); // Metrics. - suite.addTestSuite(GridDiscoveryMetricsHelperSelfTest.class); + suite.addTestSuite(ClusterMetricsSnapshotSerializeSelfTest.class); // Unsafe. suite.addTestSuite(GridUnsafeMemorySelfTest.class); http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/abe5d178/modules/core/src/test/java/org/apache/ignite/util/GridTopologyHeapSizeSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/util/GridTopologyHeapSizeSelfTest.java b/modules/core/src/test/java/org/apache/ignite/util/GridTopologyHeapSizeSelfTest.java index 8b15202..069223e 100644 --- a/modules/core/src/test/java/org/apache/ignite/util/GridTopologyHeapSizeSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/util/GridTopologyHeapSizeSelfTest.java @@ -19,7 +19,7 @@ package org.apache.ignite.util; import org.apache.ignite.cluster.*; import org.apache.ignite.configuration.*; -import org.apache.ignite.spi.discovery.*; +import org.apache.ignite.internal.*; import org.apache.ignite.spi.discovery.tcp.*; import org.apache.ignite.spi.discovery.tcp.ipfinder.*; import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;