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