public interface ClusterMetrics
Node metrics for any node can be accessed via ClusterNode.metrics()
method. Keep in mind that there will be a certain network delay (usually
equal to metrics update delay) for the accuracy of node metrics. However, when accessing
metrics on local node IgniteCluster.localNode().getMetrics()
the metrics are always accurate and up to date.
Local node metrics are registered as MBean
and can be accessed from
any JMX management console. The simplest way is to use standard jconsole
that comes with JDK as it also provides ability to view any node parameter
as a graph.
Modifier and Type | Method and Description |
---|---|
float |
getAverageActiveJobs()
Gets average number of active jobs concurrently executing on the node.
|
float |
getAverageCancelledJobs()
Gets average number of cancelled jobs this node ever had running
concurrently.
|
double |
getAverageCpuLoad()
Gets average of CPU load values over all metrics kept in the history.
|
double |
getAverageJobExecuteTime()
Gets average time a job takes to execute on the node.
|
double |
getAverageJobWaitTime()
Gets average time jobs spend waiting in the queue to be executed.
|
float |
getAverageRejectedJobs()
Gets average number of jobs this node rejects during collision resolution operations.
|
float |
getAverageWaitingJobs()
Gets average number of waiting jobs this node had queued.
|
float |
getBusyTimePercentage()
Gets percentage of time this node is busy executing jobs vs. idling.
|
int |
getCurrentActiveJobs()
Gets number of currently active jobs concurrently executing on the node.
|
int |
getCurrentCancelledJobs()
Gets number of cancelled jobs that are still running.
|
double |
getCurrentCpuLoad()
Returns the CPU usage in
[0, 1] range. |
int |
getCurrentDaemonThreadCount()
Returns the current number of live daemon threads.
|
double |
getCurrentGcCpuLoad()
Returns average time spent in CG since the last update.
|
long |
getCurrentIdleTime()
Gets time this node spend idling since executing last job.
|
long |
getCurrentJobExecuteTime()
Gets longest time a current job has been executing for.
|
long |
getCurrentJobWaitTime()
Gets current time an oldest jobs has spent waiting to be executed.
|
long |
getCurrentPmeDuration()
Gets execution duration for current partition map exchange in milliseconds.
|
int |
getCurrentRejectedJobs()
Gets number of jobs rejected after more recent collision resolution operation.
|
int |
getCurrentThreadCount()
Returns the current number of live threads including both
daemon and non-daemon threads.
|
int |
getCurrentWaitingJobs()
Gets number of queued jobs currently waiting to be executed.
|
long |
getHeapMemoryCommitted()
Returns the amount of heap memory in bytes that is committed for
the JVM to use.
|
long |
getHeapMemoryInitialized()
Returns the amount of heap memory in bytes that the JVM
initially requests from the operating system for memory management.
|
long |
getHeapMemoryMaximum()
Returns the maximum amount of heap memory in bytes that can be
used for memory management.
|
long |
getHeapMemoryTotal()
Returns the total amount of heap memory in bytes.
|
long |
getHeapMemoryUsed()
Returns the current heap size that is used for object allocation.
|
float |
getIdleTimePercentage()
Gets percentage of time this node is idling vs. executing jobs.
|
long |
getLastDataVersion()
In-Memory Data Grid assigns incremental versions to all cache operations.
|
long |
getLastUpdateTime()
Gets last update time of this node metrics.
|
int |
getMaximumActiveJobs()
Gets maximum number of jobs that ever ran concurrently on this node.
|
int |
getMaximumCancelledJobs()
Gets maximum number of cancelled jobs this node ever had running
concurrently.
|
long |
getMaximumJobExecuteTime()
Gets time it took to execute the longest job on the node.
|
long |
getMaximumJobWaitTime()
Gets maximum time a job ever spent waiting in a queue to be executed.
|
int |
getMaximumRejectedJobs()
Gets maximum number of jobs rejected at once during a single collision resolution
operation.
|
int |
getMaximumThreadCount()
Returns the maximum live thread count since the JVM
started or peak was reset.
|
int |
getMaximumWaitingJobs()
Gets maximum number of waiting jobs this node had.
|
long |
getNodeStartTime()
Returns the start time of grid node in milliseconds.
|
long |
getNonHeapMemoryCommitted()
Returns the amount of non-heap memory in bytes that is committed for
the JVM to use.
|
long |
getNonHeapMemoryInitialized()
Returns the amount of non-heap memory in bytes that the JVM
initially requests from the operating system for memory management.
|
long |
getNonHeapMemoryMaximum()
Returns the maximum amount of non-heap memory in bytes that can be
used for memory management.
|
long |
getNonHeapMemoryTotal()
Returns the total amount of non-heap memory in bytes that can be
used for memory management.
|
long |
getNonHeapMemoryUsed()
Returns the current non-heap memory size that is used by Java VM.
|
int |
getOutboundMessagesQueueSize()
Gets outbound messages queue size.
|
long |
getReceivedBytesCount()
Gets received bytes count.
|
int |
getReceivedMessagesCount()
Gets received messages count.
|
long |
getSentBytesCount()
Gets sent bytes count.
|
int |
getSentMessagesCount()
Gets sent messages count.
|
long |
getStartTime()
Returns the start time of the JVM in milliseconds.
|
long |
getTotalBusyTime()
Gets total time this node spent executing jobs.
|
int |
getTotalCancelledJobs()
Gets number of cancelled jobs since node startup.
|
int |
getTotalCpus()
Returns the number of CPUs available to the Java Virtual Machine.
|
int |
getTotalExecutedJobs()
Gets total number of jobs handled by the node since node startup.
|
int |
getTotalExecutedTasks()
Gets total number of tasks handled by the node.
|
long |
getTotalIdleTime()
Gets total time this node spent idling (not executing any jobs).
|
long |
getTotalJobsExecutionTime()
Gets total time all finished jobs takes to execute on the node since node startup.
|
int |
getTotalNodes()
Gets total number of nodes.
|
int |
getTotalRejectedJobs()
Gets total number of jobs this node rejects during collision resolution operations since node startup.
|
long |
getTotalStartedThreadCount()
Returns the total number of threads created and also started
since the JVM started.
|
long |
getUpTime()
Returns the uptime of the JVM in milliseconds.
|
long getLastUpdateTime()
int getMaximumActiveJobs()
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:
int getCurrentActiveJobs()
float getAverageActiveJobs()
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:
int getMaximumWaitingJobs()
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:
int getCurrentWaitingJobs()
float getAverageWaitingJobs()
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:
int getMaximumRejectedJobs()
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:
int getCurrentRejectedJobs()
float getAverageRejectedJobs()
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:
int getTotalRejectedJobs()
Note: Unlike most of other aggregation metrics this metric is not calculated over history but over the entire node life.
int getMaximumCancelledJobs()
int getCurrentCancelledJobs()
float getAverageCancelledJobs()
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:
int getTotalCancelledJobs()
Note: Unlike most of other aggregation metrics this metric is not calculated over history but over the entire node life.
int getTotalExecutedJobs()
Note: Unlike most of other aggregation metrics this metric is not calculated over history but over the entire node life.
long getTotalJobsExecutionTime()
Note: Unlike most of other aggregation metrics this metric is not calculated over history but over the entire node life.
long getMaximumJobWaitTime()
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:
long getCurrentJobWaitTime()
double getAverageJobWaitTime()
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:
long getMaximumJobExecuteTime()
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:
long getCurrentJobExecuteTime()
double getAverageJobExecuteTime()
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:
int getTotalExecutedTasks()
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:
long getTotalBusyTime()
long getTotalIdleTime()
long getCurrentIdleTime()
float getBusyTimePercentage()
1
and greater than or equal to 0
)float getIdleTimePercentage()
1
and greater than or equal to 0
)int getTotalCpus()
Runtime.availableProcessors()
method.
Note that this value may change during successive invocations of the virtual machine.
double getCurrentCpuLoad()
[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.
[0, 1]
range.
Negative value if not available.double getAverageCpuLoad()
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:
[0, 1]
range over all metrics kept
in the history.double getCurrentGcCpuLoad()
long getHeapMemoryInitialized()
-1
if 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.
-1
if undefined.long getHeapMemoryUsed()
used
heap 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.
long getHeapMemoryCommitted()
committed
heap 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.
long getHeapMemoryMaximum()
-1
if 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.
-1
if undefined.long getHeapMemoryTotal()
-1
if 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.
-1
if undefined.long getNonHeapMemoryInitialized()
-1
if 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.
-1
if undefined.long getNonHeapMemoryUsed()
used
non-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.
long getNonHeapMemoryCommitted()
committed
non-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.
long getNonHeapMemoryMaximum()
-1
if 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.
-1
if undefined.long getNonHeapMemoryTotal()
-1
if 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.
-1
if undefined.long getUpTime()
long getStartTime()
long getNodeStartTime()
int getCurrentThreadCount()
int getMaximumThreadCount()
Note: this is not an aggregated metric and it's calculated from the time of the node's startup.
long getTotalStartedThreadCount()
Note: this is not an aggregated metric and it's calculated from the time of the node's startup.
int getCurrentDaemonThreadCount()
long getLastDataVersion()
int getSentMessagesCount()
long getSentBytesCount()
int getReceivedMessagesCount()
long getReceivedBytesCount()
int getOutboundMessagesQueueSize()
int getTotalNodes()
long getCurrentPmeDuration()
0
if there is no running PME.
Follow @ApacheIgnite
Ignite Database and Caching Platform : ver. 2.16.0 Release Date : December 15 2023