Apache Ignite.NET
Apache.Ignite.Core.Cluster.IClusterMetrics Interface Reference

Represents runtime information of a cluster. Apart from obvious statistical value, this information is used for implementation of load balancing, failover, and collision SPIs. For example, collision SPI in combination with fail-over SPI could check if other nodes don't have any active or waiting jobs and fail-over some jobs to those nodes. More...

Properties

DateTime LastUpdateTime [get]
 Last update time of this node metrics. More...
 
int MaximumActiveJobs [get]
 Maximum number of jobs that ever ran concurrently on this node. More...
 
int CurrentActiveJobs [get]
 Number of currently active jobs concurrently executing on the node. More...
 
float AverageActiveJobs [get]
 Average number of active jobs. More...
 
int MaximumWaitingJobs [get]
 Maximum number of waiting jobs. More...
 
int CurrentWaitingJobs [get]
 Number of queued jobs currently waiting to be executed. More...
 
float AverageWaitingJobs [get]
 Average number of waiting jobs. More...
 
int MaximumRejectedJobs [get]
 Maximum number of jobs rejected at once. More...
 
int CurrentRejectedJobs [get]
 Number of jobs rejected after more recent collision resolution operation. More...
 
float AverageRejectedJobs [get]
 Average number of jobs this node rejects during collision resolution operations. More...
 
int TotalRejectedJobs [get]
 Total number of jobs this node rejects during collision resolution operations since node startup. More...
 
int MaximumCancelledJobs [get]
 Maximum number of cancelled jobs ever had running concurrently. More...
 
int CurrentCancelledJobs [get]
 Number of cancelled jobs that are still running. More...
 
float AverageCancelledJobs [get]
 Average number of cancelled jobs. More...
 
int TotalCancelledJobs [get]
 Total number of cancelled jobs since node startup. More...
 
int TotalExecutedJobs [get]
 Total number of jobs handled by the node since node startup. More...
 
long MaximumJobWaitTime [get]
 Maximum time a job ever spent waiting in a queue to be executed. More...
 
long CurrentJobWaitTime [get]
 Current time an oldest jobs has spent waiting to be executed. More...
 
double AverageJobWaitTime [get]
 Average time jobs spend waiting in the queue to be executed. More...
 
long MaximumJobExecuteTime [get]
 Time it took to execute the longest job on the node. More...
 
long CurrentJobExecuteTime [get]
 Longest time a current job has been executing for. More...
 
double AverageJobExecuteTime [get]
 Average job execution time. More...
 
int TotalExecutedTasks [get]
 Total number of jobs handled by the node. More...
 
long TotalBusyTime [get]
 Total time this node spent executing jobs. More...
 
long TotalIdleTime [get]
 Total time this node spent idling. More...
 
long CurrentIdleTime [get]
 Time this node spend idling since executing last job. More...
 
float BusyTimePercentage [get]
 Percentage of time this node is busy. More...
 
float IdleTimePercentage [get]
 Percentage of time this node is idle More...
 
int TotalCpus [get]
 Returns the number of CPUs available to the Java Virtual Machine. More...
 
double CurrentCpuLoad [get]
 Returns the CPU usage usage in [0, 1] range. More...
 
double AverageCpuLoad [get]
 Average of CPU load values in [0, 1] range over all metrics kept in the history. More...
 
double CurrentGcCpuLoad [get]
 Average time spent in CG since the last update. More...
 
long HeapMemoryInitialized [get]
 Amount of heap memory in bytes that the JVM initially requests from the operating system for memory management. This method returns -1 if the initial memory size is undefined. More...
 
long HeapMemoryUsed [get]
 Current heap size that is used for object allocation. The heap consists of one or more memory pools. This value is the sum of used heap memory values of all heap memory pools. More...
 
long HeapMemoryCommitted [get]
 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 of committed heap memory values of all heap memory pools. More...
 
long HeapMemoryMaximum [get]
 Mmaximum amount of heap memory in bytes that can be used for memory management. This method returns -1 if the maximum memory size is undefined. More...
 
long HeapMemoryTotal [get]
 Total amount of heap memory in bytes. This method returns -1 if the total memory size is undefined. More...
 
long NonHeapMemoryInitialized [get]
 Amount of non-heap memory in bytes that the JVM initially requests from the operating system for memory management. More...
 
long NonHeapMemoryUsed [get]
 Current non-heap memory size that is used by Java VM. More...
 
long NonHeapMemoryCommitted [get]
 Amount of non-heap memory in bytes that is committed for the JVM to use. More...
 
long NonHeapMemoryMaximum [get]
 Maximum amount of non-heap memory in bytes that can be used for memory management. More...
 
long NonHeapMemoryTotal [get]
 Total amount of non-heap memory in bytes that can be used for memory management. More...
 
long Uptime [get]
 Uptime of the JVM in milliseconds. More...
 
DateTime StartTime [get]
 Start time of the JVM in milliseconds. More...
 
DateTime NodeStartTime [get]
 Start time of the Ignite node in milliseconds. More...
 
int CurrentThreadCount [get]
 Current number of live threads. More...
 
int MaximumThreadCount [get]
 The peak live thread count. More...
 
long TotalStartedThreadCount [get]
 The total number of threads started. More...
 
int CurrentDaemonThreadCount [get]
 Current number of live daemon threads. More...
 
long LastDataVersion [get]
 Ignite assigns incremental versions to all cache operations. This property provides the latest data version on the node. More...
 
int SentMessagesCount [get]
 Sent messages count More...
 
long SentBytesCount [get]
 Sent bytes count. More...
 
int ReceivedMessagesCount [get]
 Received messages count. More...
 
long ReceivedBytesCount [get]
 Received bytes count. More...
 
int OutboundMessagesQueueSize [get]
 Outbound messages queue size. More...
 
int TotalNodes [get]
 Gets total number of nodes. More...
 

Detailed Description

Node metrics for any node can be accessed via IClusterNode.GetMetrics method. Keep in mind that there will be a certain network delay (usually equal to heartbeat delay) for the accuracy of node metrics. However, when accessing metrics on local node the metrics are always accurate and up to date.

Property Documentation

float Apache.Ignite.Core.Cluster.IClusterMetrics.AverageActiveJobs
get
float Apache.Ignite.Core.Cluster.IClusterMetrics.AverageCancelledJobs
get
double Apache.Ignite.Core.Cluster.IClusterMetrics.AverageCpuLoad
get
double Apache.Ignite.Core.Cluster.IClusterMetrics.AverageJobExecuteTime
get
double Apache.Ignite.Core.Cluster.IClusterMetrics.AverageJobWaitTime
get
float Apache.Ignite.Core.Cluster.IClusterMetrics.AverageRejectedJobs
get
float Apache.Ignite.Core.Cluster.IClusterMetrics.AverageWaitingJobs
get
float Apache.Ignite.Core.Cluster.IClusterMetrics.BusyTimePercentage
get
int Apache.Ignite.Core.Cluster.IClusterMetrics.CurrentActiveJobs
get
int Apache.Ignite.Core.Cluster.IClusterMetrics.CurrentCancelledJobs
get
double Apache.Ignite.Core.Cluster.IClusterMetrics.CurrentCpuLoad
get
int Apache.Ignite.Core.Cluster.IClusterMetrics.CurrentDaemonThreadCount
get
double Apache.Ignite.Core.Cluster.IClusterMetrics.CurrentGcCpuLoad
get
long Apache.Ignite.Core.Cluster.IClusterMetrics.CurrentIdleTime
get
long Apache.Ignite.Core.Cluster.IClusterMetrics.CurrentJobExecuteTime
get
long Apache.Ignite.Core.Cluster.IClusterMetrics.CurrentJobWaitTime
get
int Apache.Ignite.Core.Cluster.IClusterMetrics.CurrentRejectedJobs
get
int Apache.Ignite.Core.Cluster.IClusterMetrics.CurrentThreadCount
get
int Apache.Ignite.Core.Cluster.IClusterMetrics.CurrentWaitingJobs
get
long Apache.Ignite.Core.Cluster.IClusterMetrics.HeapMemoryCommitted
get
long Apache.Ignite.Core.Cluster.IClusterMetrics.HeapMemoryInitialized
get

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.

long Apache.Ignite.Core.Cluster.IClusterMetrics.HeapMemoryMaximum
get

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.

long Apache.Ignite.Core.Cluster.IClusterMetrics.HeapMemoryTotal
get

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.

long Apache.Ignite.Core.Cluster.IClusterMetrics.HeapMemoryUsed
get

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.

float Apache.Ignite.Core.Cluster.IClusterMetrics.IdleTimePercentage
get
long Apache.Ignite.Core.Cluster.IClusterMetrics.LastDataVersion
get
DateTime Apache.Ignite.Core.Cluster.IClusterMetrics.LastUpdateTime
get
int Apache.Ignite.Core.Cluster.IClusterMetrics.MaximumActiveJobs
get
int Apache.Ignite.Core.Cluster.IClusterMetrics.MaximumCancelledJobs
get
long Apache.Ignite.Core.Cluster.IClusterMetrics.MaximumJobExecuteTime
get
long Apache.Ignite.Core.Cluster.IClusterMetrics.MaximumJobWaitTime
get
int Apache.Ignite.Core.Cluster.IClusterMetrics.MaximumRejectedJobs
get
int Apache.Ignite.Core.Cluster.IClusterMetrics.MaximumThreadCount
get
int Apache.Ignite.Core.Cluster.IClusterMetrics.MaximumWaitingJobs
get
DateTime Apache.Ignite.Core.Cluster.IClusterMetrics.NodeStartTime
get
long Apache.Ignite.Core.Cluster.IClusterMetrics.NonHeapMemoryCommitted
get
long Apache.Ignite.Core.Cluster.IClusterMetrics.NonHeapMemoryInitialized
get
long Apache.Ignite.Core.Cluster.IClusterMetrics.NonHeapMemoryMaximum
get
long Apache.Ignite.Core.Cluster.IClusterMetrics.NonHeapMemoryTotal
get
long Apache.Ignite.Core.Cluster.IClusterMetrics.NonHeapMemoryUsed
get
int Apache.Ignite.Core.Cluster.IClusterMetrics.OutboundMessagesQueueSize
get
long Apache.Ignite.Core.Cluster.IClusterMetrics.ReceivedBytesCount
get
int Apache.Ignite.Core.Cluster.IClusterMetrics.ReceivedMessagesCount
get
long Apache.Ignite.Core.Cluster.IClusterMetrics.SentBytesCount
get
int Apache.Ignite.Core.Cluster.IClusterMetrics.SentMessagesCount
get
DateTime Apache.Ignite.Core.Cluster.IClusterMetrics.StartTime
get
long Apache.Ignite.Core.Cluster.IClusterMetrics.TotalBusyTime
get
int Apache.Ignite.Core.Cluster.IClusterMetrics.TotalCancelledJobs
get
int Apache.Ignite.Core.Cluster.IClusterMetrics.TotalCpus
get
int Apache.Ignite.Core.Cluster.IClusterMetrics.TotalExecutedJobs
get
int Apache.Ignite.Core.Cluster.IClusterMetrics.TotalExecutedTasks
get
long Apache.Ignite.Core.Cluster.IClusterMetrics.TotalIdleTime
get
int Apache.Ignite.Core.Cluster.IClusterMetrics.TotalNodes
get
int Apache.Ignite.Core.Cluster.IClusterMetrics.TotalRejectedJobs
get
long Apache.Ignite.Core.Cluster.IClusterMetrics.TotalStartedThreadCount
get
long Apache.Ignite.Core.Cluster.IClusterMetrics.Uptime
get