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 |