Class ClusterMetricsSnapshot
- java.lang.Object
-
- org.apache.ignite.internal.ClusterMetricsSnapshot
-
- All Implemented Interfaces:
ClusterMetrics
public class ClusterMetricsSnapshot extends Object implements ClusterMetrics
Implementation forClusterMetricsinterface.Note that whenever adding or removing metric parameters, care must be taken to update serialize/deserialize logic as well.
-
-
Field Summary
Fields Modifier and Type Field Description static intMETRICS_SIZESize of serialized node metrics.
-
Constructor Summary
Constructors Constructor Description ClusterMetricsSnapshot()Create empty snapshot.ClusterMetricsSnapshot(ClusterGroup p)Create metrics for given cluster group.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static ClusterMetricsdeserialize(byte[] data, int off)De-serializes node metrics.floatgetAverageActiveJobs()Gets average number of active jobs concurrently executing on the node.floatgetAverageCancelledJobs()Gets average number of cancelled jobs this node ever had running concurrently.doublegetAverageCpuLoad()Gets average of CPU load values over all metrics kept in the history.doublegetAverageJobExecuteTime()Gets average time a job takes to execute on the node.doublegetAverageJobWaitTime()Gets average time jobs spend waiting in the queue to be executed.floatgetAverageRejectedJobs()Gets average number of jobs this node rejects during collision resolution operations.floatgetAverageWaitingJobs()Gets average number of waiting jobs this node had queued.floatgetBusyTimePercentage()Gets percentage of time this node is busy executing jobs vs. idling.intgetCurrentActiveJobs()Gets number of currently active jobs concurrently executing on the node.intgetCurrentCancelledJobs()Gets number of cancelled jobs that are still running.doublegetCurrentCpuLoad()Returns the CPU usage in[0, 1]range.intgetCurrentDaemonThreadCount()Returns the current number of live daemon threads.doublegetCurrentGcCpuLoad()Returns average time spent in CG since the last update.longgetCurrentIdleTime()Gets time this node spend idling since executing last job.longgetCurrentJobExecuteTime()Gets longest time a current job has been executing for.longgetCurrentJobWaitTime()Gets current time an oldest jobs has spent waiting to be executed.longgetCurrentPmeDuration()Gets execution duration for current partition map exchange in milliseconds.intgetCurrentRejectedJobs()Gets number of jobs rejected after more recent collision resolution operation.intgetCurrentThreadCount()Returns the current number of live threads including both daemon and non-daemon threads.intgetCurrentWaitingJobs()Gets number of queued jobs currently waiting to be executed.longgetHeapMemoryCommitted()Returns the amount of heap memory in bytes that is committed for the JVM to use.longgetHeapMemoryInitialized()Returns the amount of heap memory in bytes that the JVM initially requests from the operating system for memory management.longgetHeapMemoryMaximum()Returns the maximum amount of heap memory in bytes that can be used for memory management.longgetHeapMemoryTotal()Returns the total amount of heap memory in bytes.longgetHeapMemoryUsed()Returns the current heap size that is used for object allocation.floatgetIdleTimePercentage()Gets percentage of time this node is idling vs. executing jobs.longgetLastDataVersion()In-Memory Data Grid assigns incremental versions to all cache operations.longgetLastUpdateTime()Gets last update time of this node metrics.intgetMaximumActiveJobs()Gets maximum number of jobs that ever ran concurrently on this node.intgetMaximumCancelledJobs()Gets maximum number of cancelled jobs this node ever had running concurrently.longgetMaximumJobExecuteTime()Gets time it took to execute the longest job on the node.longgetMaximumJobWaitTime()Gets maximum time a job ever spent waiting in a queue to be executed.intgetMaximumRejectedJobs()Gets maximum number of jobs rejected at once during a single collision resolution operation.intgetMaximumThreadCount()Returns the maximum live thread count since the JVM started or peak was reset.intgetMaximumWaitingJobs()Gets maximum number of waiting jobs this node had.longgetNodeStartTime()Returns the start time of grid node in milliseconds.longgetNonHeapMemoryCommitted()Returns the amount of non-heap memory in bytes that is committed for the JVM to use.longgetNonHeapMemoryInitialized()Returns the amount of non-heap memory in bytes that the JVM initially requests from the operating system for memory management.longgetNonHeapMemoryMaximum()Returns the maximum amount of non-heap memory in bytes that can be used for memory management.longgetNonHeapMemoryTotal()Returns the total amount of non-heap memory in bytes that can be used for memory management.longgetNonHeapMemoryUsed()Returns the current non-heap memory size that is used by Java VM.intgetOutboundMessagesQueueSize()Gets outbound messages queue size.longgetReceivedBytesCount()Gets received bytes count.intgetReceivedMessagesCount()Gets received messages count.longgetSentBytesCount()Gets sent bytes count.intgetSentMessagesCount()Gets sent messages count.longgetStartTime()Returns the start time of the JVM in milliseconds.longgetTotalBusyTime()Gets total time this node spent executing jobs.intgetTotalCancelledJobs()Gets number of cancelled jobs since node startup.intgetTotalCpus()Returns the number of CPUs available to the Java Virtual Machine.intgetTotalExecutedJobs()Gets total number of jobs handled by the node since node startup.intgetTotalExecutedTasks()Gets total number of tasks handled by the node.longgetTotalIdleTime()Gets total time this node spent idling (not executing any jobs).longgetTotalJobsExecutionTime()Gets total time all finished jobs takes to execute on the node since node startup.intgetTotalNodes()Gets total number of nodes.intgetTotalRejectedJobs()Gets total number of jobs this node rejects during collision resolution operations since node startup.longgetTotalStartedThreadCount()Returns the total number of threads created and also started since the JVM started.longgetUpTime()Returns the uptime of the JVM in milliseconds.static intserialize(byte[] data, int off, ClusterMetrics metrics)Serializes node metrics into byte array.static byte[]serialize(ClusterMetrics metrics)Serializes node metrics into byte array.voidsetAvailableProcessors(int availProcs)Sets available processors.voidsetAverageActiveJobs(float avgActiveJobs)Sets average active jobs.voidsetAverageCancelledJobs(float avgCancelledJobs)Sets average cancelled jobs.voidsetAverageCpuLoad(double avgLoad)Sets CPU load average over the metrics history.voidsetAverageJobExecuteTime(double avgJobExecTime)Sets average job execution time.voidsetAverageJobWaitTime(double avgJobWaitTime)Sets average job wait time.voidsetAverageRejectedJobs(float avgRejectedJobs)voidsetAverageWaitingJobs(float avgWaitingJobs)Sets average waiting jobs.voidsetCurrentActiveJobs(int curActiveJobs)Sets current active jobs.voidsetCurrentCancelledJobs(int curCancelledJobs)Sets current cancelled jobs.voidsetCurrentCpuLoad(double load)Sets current CPU load.voidsetCurrentDaemonThreadCount(int daemonThreadCnt)Sets daemon thread count.voidsetCurrentGcCpuLoad(double gcLoad)Sets current GC load.voidsetCurrentIdleTime(long curIdleTime)Sets time elapsed since execution of last job.voidsetCurrentJobExecuteTime(long curJobExecTime)Sets current job execute time.voidsetCurrentJobWaitTime(long curJobWaitTime)Sets current job wait time.voidsetCurrentPmeDuration(long currentPmeDuration)Sets execution duration for current partition map exchange.voidsetCurrentRejectedJobs(int curRejectedJobs)voidsetCurrentThreadCount(int threadCnt)Sets thread count.voidsetCurrentWaitingJobs(int curWaitingJobs)Sets current waiting jobs.voidsetHeapMemoryCommitted(long heapCommitted)Sets committed heap memory.voidsetHeapMemoryInitialized(long heapInit)Sets heap initial memory.voidsetHeapMemoryMaximum(long heapMax)Sets maximum possible heap memory.voidsetHeapMemoryTotal(long heapTotal)Sets total heap size.voidsetHeapMemoryUsed(long heapUsed)Sets used heap memory.voidsetLastDataVersion(long lastDataVer)Sets last data version.voidsetLastUpdateTime(long lastUpdateTime)Sets last update time.voidsetMaximumActiveJobs(int maxActiveJobs)Sets max active jobs.voidsetMaximumCancelledJobs(int maxCancelledJobs)Sets maximum cancelled jobs.voidsetMaximumJobExecuteTime(long maxJobExecTime)Sets maximum job execution time.voidsetMaximumJobWaitTime(long maxJobWaitTime)Sets max job wait time.voidsetMaximumRejectedJobs(int maxRejectedJobs)voidsetMaximumThreadCount(int peakThreadCnt)Sets peak thread count.voidsetMaximumWaitingJobs(int maxWaitingJobs)Sets maximum waiting jobs.voidsetNodeStartTime(long nodeStartTime)Sets node start time.voidsetNonHeapMemoryCommitted(long nonHeapCommitted)Sets committed non-heap memory.voidsetNonHeapMemoryInitialized(long nonHeapInit)Sets initial non-heap memory.voidsetNonHeapMemoryMaximum(long nonHeapMax)Sets maximum possible non-heap memory.voidsetNonHeapMemoryTotal(long nonHeapTotal)Sets non-heap total heap size.voidsetNonHeapMemoryUsed(long nonHeapUsed)Sets used non-heap memory.voidsetOutboundMessagesQueueSize(int outMesQueueSize)Sets outbound messages queue size.voidsetReceivedBytesCount(long rcvdBytesCnt)Sets received bytes count.voidsetReceivedMessagesCount(int rcvdMsgsCnt)Sets received messages count.voidsetSentBytesCount(long sentBytesCnt)Sets sent bytes count.voidsetSentMessagesCount(int sentMsgsCnt)Sets sent messages count.voidsetStartTime(long startTime)Sets VM start time.voidsetTotalCancelledJobs(int totalCancelledJobs)Sets total cancelled jobs.voidsetTotalExecutedJobs(int totalExecutedJobs)Sets total active jobs.voidsetTotalExecutedTasks(int totalExecTasks)Sets total executed tasks count.voidsetTotalIdleTime(long totalIdleTime)Set total node idle time.voidsetTotalJobsExecutionTime(long totalJobsExecTime)Sets total jobs execution time.voidsetTotalNodes(int totalNodes)Sets total number of nodes.voidsetTotalRejectedJobs(int totalRejectedJobs)voidsetTotalStartedThreadCount(long startedThreadCnt)Sets started thread count.voidsetUpTime(long upTime)Sets VM up time.StringtoString()
-
-
-
Field Detail
-
METRICS_SIZE
public static final int METRICS_SIZE
Size of serialized node metrics.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ClusterMetricsSnapshot
public ClusterMetricsSnapshot()
Create empty snapshot.
-
ClusterMetricsSnapshot
public ClusterMetricsSnapshot(ClusterGroup p)
Create metrics for given cluster group.- Parameters:
p- Projection to get metrics for.
-
-
Method Detail
-
getHeapMemoryTotal
public long getHeapMemoryTotal()
Returns the total amount of heap memory in bytes. This method returns-1if the total memory size is undefined.This amount of memory is not guaranteed to be available for memory management if it is greater than the amount of committed memory. The JVM may fail to allocate memory even if the amount of used memory does not exceed this maximum size.
This value represents a setting of the heap memory for Java VM and is not a sum of all initial heap values for all memory pools.
Note: this is not an aggregated metric and it's calculated from the time of the node's startup.
- Specified by:
getHeapMemoryTotalin interfaceClusterMetrics- Returns:
- The total amount of memory in bytes;
-1if undefined.
-
setHeapMemoryTotal
public void setHeapMemoryTotal(long heapTotal)
Sets total heap size.- Parameters:
heapTotal- Total heap.
-
setNonHeapMemoryTotal
public void setNonHeapMemoryTotal(long nonHeapTotal)
Sets non-heap total heap size.- Parameters:
nonHeapTotal- Total heap.
-
getLastUpdateTime
public long getLastUpdateTime()
Gets last update time of this node metrics.- Specified by:
getLastUpdateTimein interfaceClusterMetrics- Returns:
- Last update time.
-
setLastUpdateTime
public void setLastUpdateTime(long lastUpdateTime)
Sets last update time.- Parameters:
lastUpdateTime- Last update time.
-
getMaximumActiveJobs
public int getMaximumActiveJobs()
Gets maximum number of jobs that ever ran concurrently on this node. Note that this different fromClusterMetrics.getTotalExecutedJobs()metric and only reflects maximum number of jobs that ran at the same time.Note: all aggregated metrics like average, minimum, maximum, total, count are calculated over all the metrics kept in history. The history size is set via either one or both of configuration settings:
- Specified by:
getMaximumActiveJobsin interfaceClusterMetrics- Returns:
- Maximum number of jobs that ever ran concurrently on this node.
-
setMaximumActiveJobs
public void setMaximumActiveJobs(int maxActiveJobs)
Sets max active jobs.- Parameters:
maxActiveJobs- Max active jobs.
-
getCurrentActiveJobs
public int getCurrentActiveJobs()
Gets number of currently active jobs concurrently executing on the node.- Specified by:
getCurrentActiveJobsin interfaceClusterMetrics- Returns:
- Number of currently active jobs concurrently executing on the node.
-
setCurrentActiveJobs
public void setCurrentActiveJobs(int curActiveJobs)
Sets current active jobs.- Parameters:
curActiveJobs- Current active jobs.
-
getAverageActiveJobs
public float getAverageActiveJobs()
Gets average number of active jobs concurrently executing on the node.Note: all aggregated metrics like average, minimum, maximum, total, count are calculated over all the metrics kept in history. The history size is set via either one or both of configuration settings:
- Specified by:
getAverageActiveJobsin interfaceClusterMetrics- Returns:
- Average number of active jobs.
-
setAverageActiveJobs
public void setAverageActiveJobs(float avgActiveJobs)
Sets average active jobs.- Parameters:
avgActiveJobs- Average active jobs.
-
getMaximumWaitingJobs
public int getMaximumWaitingJobs()
Gets maximum number of waiting jobs this node had.Note: all aggregated metrics like average, minimum, maximum, total, count are calculated over all the metrics kept in history. The history size is set via either one or both of configuration settings:
- Specified by:
getMaximumWaitingJobsin interfaceClusterMetrics- Returns:
- Maximum number of waiting jobs.
-
setMaximumWaitingJobs
public void setMaximumWaitingJobs(int maxWaitingJobs)
Sets maximum waiting jobs.- Parameters:
maxWaitingJobs- Maximum waiting jobs.
-
getCurrentWaitingJobs
public int getCurrentWaitingJobs()
Gets number of queued jobs currently waiting to be executed.- Specified by:
getCurrentWaitingJobsin interfaceClusterMetrics- Returns:
- Number of queued jobs currently waiting to be executed.
-
setCurrentWaitingJobs
public void setCurrentWaitingJobs(int curWaitingJobs)
Sets current waiting jobs.- Parameters:
curWaitingJobs- Current waiting jobs.
-
getAverageWaitingJobs
public float getAverageWaitingJobs()
Gets average number of waiting jobs this node had queued.Note: all aggregated metrics like average, minimum, maximum, total, count are calculated over all the metrics kept in history. The history size is set via either one or both of configuration settings:
- Specified by:
getAverageWaitingJobsin interfaceClusterMetrics- Returns:
- Average number of waiting jobs.
-
setAverageWaitingJobs
public void setAverageWaitingJobs(float avgWaitingJobs)
Sets average waiting jobs.- Parameters:
avgWaitingJobs- Average waiting jobs.
-
getMaximumRejectedJobs
public int getMaximumRejectedJobs()
Gets maximum number of jobs rejected at once during a single collision resolution operation.Note: all aggregated metrics like average, minimum, maximum, total, count are calculated over all the metrics kept in history. The history size is set via either one or both of configuration settings:
- Specified by:
getMaximumRejectedJobsin interfaceClusterMetrics- Returns:
- Maximum number of jobs rejected at once.
-
setMaximumRejectedJobs
public void setMaximumRejectedJobs(int maxRejectedJobs)
- Parameters:
maxRejectedJobs- Maximum number of jobs rejected during a single collision resolution event.
-
getCurrentRejectedJobs
public int getCurrentRejectedJobs()
Gets number of jobs rejected after more recent collision resolution operation.- Specified by:
getCurrentRejectedJobsin interfaceClusterMetrics- Returns:
- Number of jobs rejected after more recent collision resolution operation.
-
setCurrentRejectedJobs
public void setCurrentRejectedJobs(int curRejectedJobs)
- Parameters:
curRejectedJobs- Number of jobs rejected during most recent collision resolution.
-
getAverageRejectedJobs
public float getAverageRejectedJobs()
Gets average number of jobs this node rejects during collision resolution operations.Note: all aggregated metrics like average, minimum, maximum, total, count are calculated over all the metrics kept in history. The history size is set via either one or both of grid configuration settings:
- Specified by:
getAverageRejectedJobsin interfaceClusterMetrics- Returns:
- Average number of jobs this node rejects during collision resolution operations.
-
setAverageRejectedJobs
public void setAverageRejectedJobs(float avgRejectedJobs)
- Parameters:
avgRejectedJobs- Average number of jobs this node rejects.
-
getTotalRejectedJobs
public int getTotalRejectedJobs()
Gets total number of jobs this node rejects during collision resolution operations since node startup.Note: Unlike most of other aggregation metrics this metric is not calculated over history but over the entire node life.
- Specified by:
getTotalRejectedJobsin interfaceClusterMetrics- Returns:
- Total number of jobs this node rejects during collision resolution operations since node startup.
-
setTotalRejectedJobs
public void setTotalRejectedJobs(int totalRejectedJobs)
- Parameters:
totalRejectedJobs- Total number of jobs this node ever rejected.
-
getMaximumCancelledJobs
public int getMaximumCancelledJobs()
Gets maximum number of cancelled jobs this node ever had running concurrently.- Specified by:
getMaximumCancelledJobsin interfaceClusterMetrics- Returns:
- Maximum number of cancelled jobs.
-
setMaximumCancelledJobs
public void setMaximumCancelledJobs(int maxCancelledJobs)
Sets maximum cancelled jobs.- Parameters:
maxCancelledJobs- Maximum cancelled jobs.
-
getCurrentCancelledJobs
public int getCurrentCancelledJobs()
Gets number of cancelled jobs that are still running. Just like regular java threads, jobs will receive cancel notification, but it's ultimately up to the job itself to gracefully exit.- Specified by:
getCurrentCancelledJobsin interfaceClusterMetrics- Returns:
- Number of cancelled jobs that are still running.
-
setCurrentCancelledJobs
public void setCurrentCancelledJobs(int curCancelledJobs)
Sets current cancelled jobs.- Parameters:
curCancelledJobs- Current cancelled jobs.
-
getAverageCancelledJobs
public float getAverageCancelledJobs()
Gets average number of cancelled jobs this node ever had running concurrently.Note: all aggregated metrics like average, minimum, maximum, total, count are calculated over all the metrics kept in history. The history size is set via either one or both of configuration settings:
- Specified by:
getAverageCancelledJobsin interfaceClusterMetrics- Returns:
- Average number of cancelled jobs.
-
setAverageCancelledJobs
public void setAverageCancelledJobs(float avgCancelledJobs)
Sets average cancelled jobs.- Parameters:
avgCancelledJobs- Average cancelled jobs.
-
getTotalExecutedJobs
public int getTotalExecutedJobs()
Gets total number of jobs handled by the node since node startup.Note: Unlike most of other aggregation metrics this metric is not calculated over history but over the entire node life.
- Specified by:
getTotalExecutedJobsin interfaceClusterMetrics- Returns:
- Total number of jobs handled by the node since node startup.
-
setTotalExecutedJobs
public void setTotalExecutedJobs(int totalExecutedJobs)
Sets total active jobs.- Parameters:
totalExecutedJobs- Total active jobs.
-
getTotalJobsExecutionTime
public long getTotalJobsExecutionTime()
Gets total time all finished jobs takes to execute on the node since node startup.Note: Unlike most of other aggregation metrics this metric is not calculated over history but over the entire node life.
- Specified by:
getTotalJobsExecutionTimein interfaceClusterMetrics- Returns:
- Total jobs execution time.
-
setTotalJobsExecutionTime
public void setTotalJobsExecutionTime(long totalJobsExecTime)
Sets total jobs execution time.- Parameters:
totalJobsExecTime- Total jobs execution time.
-
getTotalCancelledJobs
public int getTotalCancelledJobs()
Gets number of cancelled jobs since node startup.Note: Unlike most of other aggregation metrics this metric is not calculated over history but over the entire node life.
- Specified by:
getTotalCancelledJobsin interfaceClusterMetrics- Returns:
- Total number of cancelled jobs since node startup.
-
setTotalCancelledJobs
public void setTotalCancelledJobs(int totalCancelledJobs)
Sets total cancelled jobs.- Parameters:
totalCancelledJobs- Total cancelled jobs.
-
getMaximumJobWaitTime
public long getMaximumJobWaitTime()
Gets maximum time a job ever spent waiting in a queue to be executed.Note: all aggregated metrics like average, minimum, maximum, total, count are calculated over all the metrics kept in history. The history size is set via either one or both of configuration settings:
- Specified by:
getMaximumJobWaitTimein interfaceClusterMetrics- Returns:
- Maximum waiting time.
-
setMaximumJobWaitTime
public void setMaximumJobWaitTime(long maxJobWaitTime)
Sets max job wait time.- Parameters:
maxJobWaitTime- Max job wait time.
-
getCurrentJobWaitTime
public long getCurrentJobWaitTime()
Gets current time an oldest jobs has spent waiting to be executed.- Specified by:
getCurrentJobWaitTimein interfaceClusterMetrics- Returns:
- Current wait time of oldest job.
-
setCurrentJobWaitTime
public void setCurrentJobWaitTime(long curJobWaitTime)
Sets current job wait time.- Parameters:
curJobWaitTime- Current job wait time.
-
getAverageJobWaitTime
public double getAverageJobWaitTime()
Gets average time jobs spend waiting in the queue to be executed.Note: all aggregated metrics like average, minimum, maximum, total, count are calculated over all the metrics kept in history. The history size is set via either one or both of configuration settings:
- Specified by:
getAverageJobWaitTimein interfaceClusterMetrics- Returns:
- Average job wait time.
-
setAverageJobWaitTime
public void setAverageJobWaitTime(double avgJobWaitTime)
Sets average job wait time.- Parameters:
avgJobWaitTime- Average job wait time.
-
getMaximumJobExecuteTime
public long getMaximumJobExecuteTime()
Gets time it took to execute the longest job on the node.Note: all aggregated metrics like average, minimum, maximum, total, count are calculated over all the metrics kept in history. The history size is set via either one or both of configuration settings:
- Specified by:
getMaximumJobExecuteTimein interfaceClusterMetrics- Returns:
- Time it took to execute the longest job on the node.
-
setMaximumJobExecuteTime
public void setMaximumJobExecuteTime(long maxJobExecTime)
Sets maximum job execution time.- Parameters:
maxJobExecTime- Maximum job execution time.
-
getCurrentJobExecuteTime
public long getCurrentJobExecuteTime()
Gets longest time a current job has been executing for.- Specified by:
getCurrentJobExecuteTimein interfaceClusterMetrics- Returns:
- Longest time a current job has been executing for.
-
setCurrentJobExecuteTime
public void setCurrentJobExecuteTime(long curJobExecTime)
Sets current job execute time.- Parameters:
curJobExecTime- Current job execute time.
-
getAverageJobExecuteTime
public double getAverageJobExecuteTime()
Gets average time a job takes to execute on the node.Note: all aggregated metrics like average, minimum, maximum, total, count are calculated over all the metrics kept in history. The history size is set via either one or both of configuration settings:
- Specified by:
getAverageJobExecuteTimein interfaceClusterMetrics- Returns:
- Average job execution time.
-
setAverageJobExecuteTime
public void setAverageJobExecuteTime(double avgJobExecTime)
Sets average job execution time.- Parameters:
avgJobExecTime- Average job execution time.
-
getTotalExecutedTasks
public int getTotalExecutedTasks()
Gets total number of tasks handled by the node.Note: all aggregated metrics like average, minimum, maximum, total, count are calculated over all the metrics kept in history. The history size is set via either one or both of configuration settings:
- Specified by:
getTotalExecutedTasksin interfaceClusterMetrics- Returns:
- Total number of jobs handled by the node.
-
setTotalExecutedTasks
public void setTotalExecutedTasks(int totalExecTasks)
Sets total executed tasks count.- Parameters:
totalExecTasks- total executed tasks count.
-
getTotalBusyTime
public long getTotalBusyTime()
Gets total time this node spent executing jobs.- Specified by:
getTotalBusyTimein interfaceClusterMetrics- Returns:
- Total time this node spent executing jobs.
-
getTotalIdleTime
public long getTotalIdleTime()
Gets total time this node spent idling (not executing any jobs).- Specified by:
getTotalIdleTimein interfaceClusterMetrics- Returns:
- Gets total time this node spent idling.
-
setTotalIdleTime
public void setTotalIdleTime(long totalIdleTime)
Set total node idle time.- Parameters:
totalIdleTime- Total node idle time.
-
getCurrentIdleTime
public long getCurrentIdleTime()
Gets time this node spend idling since executing last job.- Specified by:
getCurrentIdleTimein interfaceClusterMetrics- Returns:
- Time this node spend idling since executing last job.
-
setCurrentIdleTime
public void setCurrentIdleTime(long curIdleTime)
Sets time elapsed since execution of last job.- Parameters:
curIdleTime- Time elapsed since execution of last job.
-
getBusyTimePercentage
public float getBusyTimePercentage()
Gets percentage of time this node is busy executing jobs vs. idling.- Specified by:
getBusyTimePercentagein interfaceClusterMetrics- Returns:
- Percentage of time this node is busy (value is less than
or equal to
1and greater than or equal to0)
-
getIdleTimePercentage
public float getIdleTimePercentage()
Gets percentage of time this node is idling vs. executing jobs.- Specified by:
getIdleTimePercentagein interfaceClusterMetrics- Returns:
- Percentage of time this node is idle (value is less than
or equal to
1and greater than or equal to0)
-
getTotalCpus
public int getTotalCpus()
Returns the number of CPUs available to the Java Virtual Machine. This method is equivalent to theRuntime.availableProcessors()method.Note that this value may change during successive invocations of the virtual machine.
- Specified by:
getTotalCpusin interfaceClusterMetrics- Returns:
- The number of processors available to the virtual machine, never smaller than one.
-
getCurrentCpuLoad
public double getCurrentCpuLoad()
Returns the CPU usage in[0, 1]range. The exact way how this number is calculated depends on SPI implementation.If the CPU usage is not available, a negative value is returned.
This method is designed to provide a hint about the system load and may be queried frequently. The load average may be unavailable on some platform where it is expensive to implement this method.
- Specified by:
getCurrentCpuLoadin interfaceClusterMetrics- Returns:
- The estimated CPU usage in
[0, 1]range. Negative value if not available.
-
getAverageCpuLoad
public double getAverageCpuLoad()
Gets average of CPU load values over all metrics kept in the history.Note: all aggregated metrics like average, minimum, maximum, total, count are calculated over all the metrics kept in history. The history size is set via either one or both of configuration settings:
- Specified by:
getAverageCpuLoadin interfaceClusterMetrics- Returns:
- Average of CPU load value in
[0, 1]range over all metrics kept in the history.
-
getCurrentGcCpuLoad
public double getCurrentGcCpuLoad()
Returns average time spent in CG since the last update.- Specified by:
getCurrentGcCpuLoadin interfaceClusterMetrics- Returns:
- Average time spent in CG since the last update.
-
getHeapMemoryInitialized
public long getHeapMemoryInitialized()
Returns the amount of heap memory in bytes that the JVM initially requests from the operating system for memory management. This method returns-1if the initial memory size is undefined.This value represents a setting of the heap memory for Java VM and is not a sum of all initial heap values for all memory pools.
Note: this is not an aggregated metric and it's calculated from the time of the node's startup.
- Specified by:
getHeapMemoryInitializedin interfaceClusterMetrics- Returns:
- The initial size of memory in bytes;
-1if undefined.
-
getHeapMemoryUsed
public long getHeapMemoryUsed()
Returns the current heap size that is used for object allocation. The heap consists of one or more memory pools. This value is the sum ofusedheap memory values of all heap memory pools.The amount of used memory in the returned is the amount of memory occupied by both live objects and garbage objects that have not been collected, if any.
Note: this is not an aggregated metric and it's calculated from the time of the node's startup.
- Specified by:
getHeapMemoryUsedin interfaceClusterMetrics- Returns:
- Amount of heap memory used.
-
getHeapMemoryCommitted
public long getHeapMemoryCommitted()
Returns the amount of heap memory in bytes that is committed for the JVM to use. This amount of memory is guaranteed for the JVM to use. The heap consists of one or more memory pools. This value is the sum ofcommittedheap memory values of all heap memory pools.Note: this is not an aggregated metric and it's calculated from the time of the node's startup.
- Specified by:
getHeapMemoryCommittedin interfaceClusterMetrics- Returns:
- The amount of committed memory in bytes.
-
getHeapMemoryMaximum
public long getHeapMemoryMaximum()
Returns the maximum amount of heap memory in bytes that can be used for memory management. This method returns-1if the maximum memory size is undefined.This amount of memory is not guaranteed to be available for memory management if it is greater than the amount of committed memory. The JVM may fail to allocate memory even if the amount of used memory does not exceed this maximum size.
This value represents a setting of the heap memory for Java VM and is not a sum of all initial heap values for all memory pools.
Note: this is not an aggregated metric and it's calculated from the time of the node's startup.
- Specified by:
getHeapMemoryMaximumin interfaceClusterMetrics- Returns:
- The maximum amount of memory in bytes;
-1if undefined.
-
getNonHeapMemoryInitialized
public long getNonHeapMemoryInitialized()
Returns the amount of non-heap memory in bytes that the JVM initially requests from the operating system for memory management. This method returns-1if the initial memory size is undefined.This value represents a setting of non-heap memory for Java VM and is not a sum of all initial heap values for all memory pools.
Note: this is not an aggregated metric and it's calculated from the time of the node's startup.
- Specified by:
getNonHeapMemoryInitializedin interfaceClusterMetrics- Returns:
- The initial size of memory in bytes;
-1if undefined.
-
getNonHeapMemoryUsed
public long getNonHeapMemoryUsed()
Returns the current non-heap memory size that is used by Java VM. The non-heap memory consists of one or more memory pools. This value is the sum ofusednon-heap memory values of all non-heap memory pools.Note: this is not an aggregated metric and it's calculated from the time of the node's startup.
Note: this is not an aggregated metric and it's calculated from the time of the node's startup.
- Specified by:
getNonHeapMemoryUsedin interfaceClusterMetrics- Returns:
- Amount of none-heap memory used.
-
getNonHeapMemoryCommitted
public long getNonHeapMemoryCommitted()
Returns the amount of non-heap memory in bytes that is committed for the JVM to use. This amount of memory is guaranteed for the JVM to use. The non-heap memory consists of one or more memory pools. This value is the sum ofcommittednon-heap memory values of all non-heap memory pools.Note: this is not an aggregated metric and it's calculated from the time of the node's startup.
- Specified by:
getNonHeapMemoryCommittedin interfaceClusterMetrics- Returns:
- The amount of committed memory in bytes.
-
getNonHeapMemoryMaximum
public long getNonHeapMemoryMaximum()
Returns the maximum amount of non-heap memory in bytes that can be used for memory management. This method returns-1if the maximum memory size is undefined.This amount of memory is not guaranteed to be available for memory management if it is greater than the amount of committed memory. The JVM may fail to allocate memory even if the amount of used memory does not exceed this maximum size.
This value represents a setting of the non-heap memory for Java VM and is not a sum of all initial non-heap values for all memory pools.
Note: this is not an aggregated metric and it's calculated from the time of the node's startup.
- Specified by:
getNonHeapMemoryMaximumin interfaceClusterMetrics- Returns:
- The maximum amount of memory in bytes;
-1if undefined.
-
getNonHeapMemoryTotal
public long getNonHeapMemoryTotal()
Returns the total amount of non-heap memory in bytes that can be used for memory management. This method returns-1if the total memory size is undefined.This amount of memory is not guaranteed to be available for memory management if it is greater than the amount of committed memory. The JVM may fail to allocate memory even if the amount of used memory does not exceed this maximum size.
This value represents a setting of the non-heap memory for Java VM and is not a sum of all initial non-heap values for all memory pools.
Note: this is not an aggregated metric and it's calculated from the time of the node's startup.
- Specified by:
getNonHeapMemoryTotalin interfaceClusterMetrics- Returns:
- The total amount of memory in bytes;
-1if undefined.
-
getUpTime
public long getUpTime()
Returns the uptime of the JVM in milliseconds.- Specified by:
getUpTimein interfaceClusterMetrics- Returns:
- Uptime of the JVM in milliseconds.
-
getStartTime
public long getStartTime()
Returns the start time of the JVM in milliseconds. This method returns the approximate time when the Java virtual machine started.- Specified by:
getStartTimein interfaceClusterMetrics- Returns:
- Start time of the JVM in milliseconds.
-
getNodeStartTime
public long getNodeStartTime()
Returns the start time of grid node in milliseconds. There can be several grid nodes started in one JVM, so JVM start time will be the same for all of them, but node start time will be different.- Specified by:
getNodeStartTimein interfaceClusterMetrics- Returns:
- Start time of the grid node in milliseconds.
-
getCurrentThreadCount
public int getCurrentThreadCount()
Returns the current number of live threads including both daemon and non-daemon threads.- Specified by:
getCurrentThreadCountin interfaceClusterMetrics- Returns:
- Current number of live threads.
-
getMaximumThreadCount
public int getMaximumThreadCount()
Returns the maximum live thread count since the JVM started or peak was reset.Note: this is not an aggregated metric and it's calculated from the time of the node's startup.
- Specified by:
getMaximumThreadCountin interfaceClusterMetrics- Returns:
- The peak live thread count.
-
getTotalStartedThreadCount
public long getTotalStartedThreadCount()
Returns the total number of threads created and also started since the JVM started.Note: this is not an aggregated metric and it's calculated from the time of the node's startup.
- Specified by:
getTotalStartedThreadCountin interfaceClusterMetrics- Returns:
- The total number of threads started.
-
getCurrentDaemonThreadCount
public int getCurrentDaemonThreadCount()
Returns the current number of live daemon threads.- Specified by:
getCurrentDaemonThreadCountin interfaceClusterMetrics- Returns:
- Current number of live daemon threads.
-
getLastDataVersion
public long getLastDataVersion()
In-Memory Data Grid assigns incremental versions to all cache operations. This method provides the latest data version on the node.- Specified by:
getLastDataVersionin interfaceClusterMetrics- Returns:
- Last data version.
-
getSentMessagesCount
public int getSentMessagesCount()
Gets sent messages count.- Specified by:
getSentMessagesCountin interfaceClusterMetrics- Returns:
- Sent messages count.
-
getSentBytesCount
public long getSentBytesCount()
Gets sent bytes count.- Specified by:
getSentBytesCountin interfaceClusterMetrics- Returns:
- Sent bytes count.
-
getReceivedMessagesCount
public int getReceivedMessagesCount()
Gets received messages count.- Specified by:
getReceivedMessagesCountin interfaceClusterMetrics- Returns:
- Received messages count.
-
getReceivedBytesCount
public long getReceivedBytesCount()
Gets received bytes count.- Specified by:
getReceivedBytesCountin interfaceClusterMetrics- Returns:
- Received bytes count.
-
getOutboundMessagesQueueSize
public int getOutboundMessagesQueueSize()
Gets outbound messages queue size.- Specified by:
getOutboundMessagesQueueSizein interfaceClusterMetrics- Returns:
- Outbound messages queue size.
-
getTotalNodes
public int getTotalNodes()
Gets total number of nodes.- Specified by:
getTotalNodesin interfaceClusterMetrics- Returns:
- Total number of nodes.
-
getCurrentPmeDuration
public long getCurrentPmeDuration()
Gets execution duration for current partition map exchange in milliseconds.- Specified by:
getCurrentPmeDurationin interfaceClusterMetrics- Returns:
- Gets execution duration for current partition map exchange in milliseconds.
0if there is no running PME.
-
setAvailableProcessors
public void setAvailableProcessors(int availProcs)
Sets available processors.- Parameters:
availProcs- Available processors.
-
setCurrentCpuLoad
public void setCurrentCpuLoad(double load)
Sets current CPU load.- Parameters:
load- Current CPU load.
-
setAverageCpuLoad
public void setAverageCpuLoad(double avgLoad)
Sets CPU load average over the metrics history.- Parameters:
avgLoad- CPU load average.
-
setCurrentGcCpuLoad
public void setCurrentGcCpuLoad(double gcLoad)
Sets current GC load.- Parameters:
gcLoad- Current GC load.
-
setHeapMemoryInitialized
public void setHeapMemoryInitialized(long heapInit)
Sets heap initial memory.- Parameters:
heapInit- Heap initial memory.
-
setHeapMemoryUsed
public void setHeapMemoryUsed(long heapUsed)
Sets used heap memory.- Parameters:
heapUsed- Used heap memory.
-
setHeapMemoryCommitted
public void setHeapMemoryCommitted(long heapCommitted)
Sets committed heap memory.- Parameters:
heapCommitted- Committed heap memory.
-
setHeapMemoryMaximum
public void setHeapMemoryMaximum(long heapMax)
Sets maximum possible heap memory.- Parameters:
heapMax- Maximum possible heap memory.
-
setNonHeapMemoryInitialized
public void setNonHeapMemoryInitialized(long nonHeapInit)
Sets initial non-heap memory.- Parameters:
nonHeapInit- Initial non-heap memory.
-
setNonHeapMemoryUsed
public void setNonHeapMemoryUsed(long nonHeapUsed)
Sets used non-heap memory.- Parameters:
nonHeapUsed- Used non-heap memory.
-
setNonHeapMemoryCommitted
public void setNonHeapMemoryCommitted(long nonHeapCommitted)
Sets committed non-heap memory.- Parameters:
nonHeapCommitted- Committed non-heap memory.
-
setNonHeapMemoryMaximum
public void setNonHeapMemoryMaximum(long nonHeapMax)
Sets maximum possible non-heap memory.- Parameters:
nonHeapMax- Maximum possible non-heap memory.
-
setUpTime
public void setUpTime(long upTime)
Sets VM up time.- Parameters:
upTime- VM up time.
-
setStartTime
public void setStartTime(long startTime)
Sets VM start time.- Parameters:
startTime- VM start time.
-
setNodeStartTime
public void setNodeStartTime(long nodeStartTime)
Sets node start time.- Parameters:
nodeStartTime- node start time.
-
setCurrentThreadCount
public void setCurrentThreadCount(int threadCnt)
Sets thread count.- Parameters:
threadCnt- Thread count.
-
setMaximumThreadCount
public void setMaximumThreadCount(int peakThreadCnt)
Sets peak thread count.- Parameters:
peakThreadCnt- Peak thread count.
-
setTotalStartedThreadCount
public void setTotalStartedThreadCount(long startedThreadCnt)
Sets started thread count.- Parameters:
startedThreadCnt- Started thread count.
-
setCurrentDaemonThreadCount
public void setCurrentDaemonThreadCount(int daemonThreadCnt)
Sets daemon thread count.- Parameters:
daemonThreadCnt- Daemon thread count.
-
setLastDataVersion
public void setLastDataVersion(long lastDataVer)
Sets last data version.- Parameters:
lastDataVer- Last data version.
-
setSentMessagesCount
public void setSentMessagesCount(int sentMsgsCnt)
Sets sent messages count.- Parameters:
sentMsgsCnt- Sent messages count.
-
setSentBytesCount
public void setSentBytesCount(long sentBytesCnt)
Sets sent bytes count.- Parameters:
sentBytesCnt- Sent bytes count.
-
setReceivedMessagesCount
public void setReceivedMessagesCount(int rcvdMsgsCnt)
Sets received messages count.- Parameters:
rcvdMsgsCnt- Received messages count.
-
setReceivedBytesCount
public void setReceivedBytesCount(long rcvdBytesCnt)
Sets received bytes count.- Parameters:
rcvdBytesCnt- Received bytes count.
-
setOutboundMessagesQueueSize
public void setOutboundMessagesQueueSize(int outMesQueueSize)
Sets outbound messages queue size.- Parameters:
outMesQueueSize- Outbound messages queue size.
-
setTotalNodes
public void setTotalNodes(int totalNodes)
Sets total number of nodes.- Parameters:
totalNodes- Total number of nodes.
-
setCurrentPmeDuration
public void setCurrentPmeDuration(long currentPmeDuration)
Sets execution duration for current partition map exchange.- Parameters:
currentPmeDuration- Execution duration for current partition map exchange.
-
serialize
public static byte[] serialize(ClusterMetrics metrics)
Serializes node metrics into byte array.- Parameters:
metrics- Node metrics to serialize.- Returns:
- New offset.
-
serialize
public static int serialize(byte[] data, int off, ClusterMetrics metrics)Serializes node metrics into byte array.- Parameters:
data- Byte array.off- Offset into byte array.metrics- Node metrics to serialize.- Returns:
- New offset.
-
deserialize
public static ClusterMetrics deserialize(byte[] data, int off)
De-serializes node metrics.- Parameters:
data- Byte array.off- Offset into byte array.- Returns:
- Deserialized node metrics.
-
-