org.apache.ignite.internal.client

## Interface GridClientNodeMetrics

All Superinterfaces:
  Serializable

All Known Implementing Classes:
  GridClientNodeMetricsAdapter

    public interface GridClientNodeMetrics
    extends Serializable

Node metrics for remote grid node. Metrics can be retrieved via `GridClientNode.metrics()` method.

Note that metrics are not available by default and have to be fetched via any of the `refreshNode(...)` or `refreshTopology(...)` methods on `GridClientCompute` API.

Also note that if `GridClientConfiguration.isEnableMetricsCache()` property is set to `true`, then `GridClientNode` will cache the last fetched instance of node metrics.

### Method Summary

All Methods Instance Methods Abstract Methods
`float` `getAverageActiveJobs()` Gets average active jobs.
`float` `getAverageCancelledJobs()` Gets average cancelled jobs.
`double` `getAverageCpuLoad()` Gets average of CPU load values over all metrics kept in the history.
`double` `getAverageJobExecuteTime()` Gets average job execution time.
`double` `getAverageJobWaitTime()` Gets average job wait time.
`float` `getAverageRejectedJobs()` Gets average number of jobs this node rejects.
`float` `getAverageWaitingJobs()` Gets average waiting jobs.
`float` `getBusyTimePercentage()` Gets percentage of time this node is busy executing jobs vs. idling.
`int` `getCurrentActiveJobs()` Gets current active jobs.
`int` `getCurrentCancelledJobs()` Gets current cancelled jobs.
`double` `getCurrentCpuLoad()` Returns the system load average for the last minute.
`int` `getCurrentDaemonThreadCount()` Returns the current number of live daemon threads.
`double` `getCurrentGcCpuLoad()` Returns average CPU spent for GC since the last update.
`long` `getCurrentIdleTime()` Gets current idle time.
`long` `getCurrentJobExecuteTime()` Gets current job execute time.
`long` `getCurrentJobWaitTime()` Gets current job wait time.
`int` `getCurrentRejectedJobs()` Gets number of jobs rejected during most recent collision resolution.
`int` `getCurrentThreadCount()` Returns the current number of live threads including both daemon and non-daemon threads.
`int` `getCurrentWaitingJobs()` Gets current waiting jobs.
`long` `getFileSystemFreeSpace()` Returns the number of unallocated bytes in the partition.
`long` `getFileSystemTotalSpace()` Returns the size of the partition.
`long` `getFileSystemUsableSpace()` Returns the number of bytes available to this virtual machine on the partition.
`long` `getHeapMemoryCommitted()` Returns the amount of heap memory in bytes that is committed for the Java virtual machine to use.
`long` `getHeapMemoryInitialized()` Returns the amount of heap memory in bytes that the Java virtual machine 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` `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.
`int` `getMaximumActiveJobs()` Gets max active jobs.
`int` `getMaximumCancelledJobs()` Gets maximum cancelled jobs.
`long` `getMaximumJobExecuteTime()` Gets maximum job execution time.
`long` `getMaximumJobWaitTime()` Gets max job wait time.
`int` `getMaximumRejectedJobs()` Gets maximum number of jobs rejected during a single collision resolution event.
`int` `getMaximumThreadCount()` Returns the maximum live thread count since the Java virtual machine started or peak was reset.
`int` `getMaximumWaitingJobs()` Gets maximum waiting jobs.
`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 Java virtual machine to use.
`long` `getNonHeapMemoryInitialized()` Returns the amount of non-heap memory in bytes that the Java virtual machine 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` `getNonHeapMemoryUsed()` Returns the current non-heap memory size that is used by Java VM.
`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 Java virtual machine in milliseconds.
`long` `getTotalBusyTime()` Gets total busy time.
`int` `getTotalCancelledJobs()` Gets total cancelled jobs.
`int` `getTotalCpus()` Returns the number of CPUs available to the Java Virtual Machine.
`int` `getTotalExecutedJobs()` Gets total active jobs.
`int` `getTotalExecutedTasks()` Gets total number of tasks handled by the node.
`long` `getTotalIdleTime()` Gets total idle time.
`int` `getTotalRejectedJobs()` Gets total number of jobs this node ever rejected.
`long` `getTotalStartedThreadCount()` Returns the total number of threads created and also started since the Java virtual machine started.
`long` `getUpTime()` Returns the uptime of the Java virtual machine in milliseconds.

### Method Detail

#### getLastUpdateTime

    long getLastUpdateTime()

Gets last update time.

Returns:
  Last update time.

#### getMaximumActiveJobs

    int getMaximumActiveJobs()

Gets max active jobs.

Returns:
  Max active jobs.

#### getCurrentActiveJobs

    int getCurrentActiveJobs()

Gets current active jobs.

Returns:
  Current active jobs.

#### getAverageActiveJobs

    float getAverageActiveJobs()

Gets average active jobs.

Returns:
  Average active jobs.

#### getMaximumWaitingJobs

    int getMaximumWaitingJobs()

Gets maximum waiting jobs.

Returns:
  Maximum active jobs.

#### getCurrentWaitingJobs

    int getCurrentWaitingJobs()

Gets current waiting jobs.

Returns:
  Current waiting jobs.

#### getAverageWaitingJobs

    float getAverageWaitingJobs()

Gets average waiting jobs.

Returns:
  Average waiting jobs.

#### getMaximumRejectedJobs

    int getMaximumRejectedJobs()

Gets maximum number of jobs rejected during a single collision resolution event.

Returns:
  Maximum number of jobs rejected during a single collision resolution event.

#### getCurrentRejectedJobs

    int getCurrentRejectedJobs()

Gets number of jobs rejected during most recent collision resolution.

Returns:
  Number of jobs rejected during most recent collision resolution.

#### getAverageRejectedJobs

    float getAverageRejectedJobs()

Gets average number of jobs this node rejects.

Returns:
  Average number of jobs this node rejects.

#### getTotalRejectedJobs

    int getTotalRejectedJobs()

Gets total number of jobs this node ever rejected.

Returns:
  Total number of jobs this node ever rejected.

#### getMaximumCancelledJobs

    int getMaximumCancelledJobs()

Gets maximum cancelled jobs.

Returns:
  Maximum cancelled jobs.

#### getCurrentCancelledJobs

    int getCurrentCancelledJobs()

Gets current cancelled jobs.

Returns:
  Current cancelled jobs.

#### getAverageCancelledJobs

    float getAverageCancelledJobs()

Gets average cancelled jobs.

Returns:
  Average cancelled jobs.

#### getTotalExecutedJobs

    int getTotalExecutedJobs()

Gets total active jobs.

Returns:
  Total active jobs.

#### getTotalCancelledJobs

    int getTotalCancelledJobs()

Gets total cancelled jobs.

Returns:
  Total cancelled jobs.

#### getMaximumJobWaitTime

    long getMaximumJobWaitTime()

Gets max job wait time.

Returns:
  Max job wait time.

#### getCurrentJobWaitTime

    long getCurrentJobWaitTime()

Gets current job wait time.

Returns:
  Current job wait time.

#### getAverageJobWaitTime

    double getAverageJobWaitTime()

Gets average job wait time.

Returns:
  Average job wait time.

#### getMaximumJobExecuteTime

    long getMaximumJobExecuteTime()

Gets maximum job execution time.

Returns:
  Maximum job execution time.

#### getCurrentJobExecuteTime

    long getCurrentJobExecuteTime()

Gets current job execute time.

Returns:
  Current job execute time.

#### getAverageJobExecuteTime

    double getAverageJobExecuteTime()

Gets average job execution time.

Returns:
  Average job execution time.

#### getTotalExecutedTasks

    int getTotalExecutedTasks()

Gets total number of tasks handled by the node.

Returns:
  Total number of jobs handled by the node.

#### getTotalBusyTime

    long getTotalBusyTime()

Gets total busy time.

Returns:
  Total busy time.

#### getTotalIdleTime

    long getTotalIdleTime()

Gets total idle time.

Returns:
  Total idle time.

#### getCurrentIdleTime

    long getCurrentIdleTime()

Gets current idle time.

Returns:
  Current idle time.

#### getBusyTimePercentage

    float getBusyTimePercentage()

Gets percentage of time this node is busy executing jobs vs. idling.

Returns:
  Percentage of time this node is busy (value is less than or equal to `1` and greater than or equal to `0`)

#### getIdleTimePercentage

    float getIdleTimePercentage()

Gets percentage of time this node is idling vs. executing jobs.

Returns:
  Percentage of time this node is idle (value is less than or equal to `1` and greater than or equal to `0`)

#### getTotalCpus

    int getTotalCpus()

Returns the number of CPUs available to the Java Virtual Machine. This method is equivalent to the `Runtime.availableProcessors()` method.

Note that this value may change during successive invocations of the virtual machine.

Returns:
  The number of processors available to the virtual machine, never smaller than one.

#### getCurrentCpuLoad

    double getCurrentCpuLoad()

Returns the system load average for the last minute. The system load average is the sum of the number of runnable entities queued to the available processors and the number of runnable entities running on the available processors averaged over a period of time. The way in which the load average is calculated is operating system specific but is typically a damped time-dependent average.

If the load average 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.

Returns:
  The system load average in `[0, 1]` range. Negative value if not available.

#### getAverageCpuLoad

    double getAverageCpuLoad()

Gets average of CPU load values over all metrics kept in the history.

Returns:
  Average of CPU load value in `[0, 1]` range over all metrics kept in the history.

#### getCurrentGcCpuLoad

    double getCurrentGcCpuLoad()

Returns average CPU spent for GC since the last update.

Returns:
  Average CPU spent for GC since the last update.

#### getHeapMemoryInitialized

    long getHeapMemoryInitialized()

Returns the amount of heap memory in bytes that the Java virtual machine initially requests from the operating system for memory management. This method returns `-1` if the initial memory size is undefined.

Returns:
  The initial size of memory in bytes; `-1` if undefined.

#### getHeapMemoryUsed

    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 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.

Note: this is not an aggregated metric and it's calculated from the time of the node's startup.

Returns:
  Amount of heap memory used.

#### getHeapMemoryCommitted

    long getHeapMemoryCommitted()

Returns the amount of heap memory in bytes that is committed for the Java virtual machine to use. This amount of memory is guaranteed for the Java virtual machine 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.

Note: this is not an aggregated metric and it's calculated from the time of the node's startup.

Returns:
  The amount of committed memory in bytes.

#### getHeapMemoryMaximum

    long getHeapMemoryMaximum()

Returns the maximum 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 Java virtual machine 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.

Returns:
  The maximum amount of memory in bytes; `-1` if undefined.

#### getNonHeapMemoryInitialized

    long getNonHeapMemoryInitialized()

Returns the amount of non-heap memory in bytes that the Java virtual machine 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 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.

Returns:
  The initial size of memory in bytes; `-1` if undefined.

#### getNonHeapMemoryUsed

    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 of `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.

Returns:
  Amount of none-heap memory used.

#### getNonHeapMemoryCommitted

    long getNonHeapMemoryCommitted()

Returns the amount of non-heap memory in bytes that is committed for the Java virtual machine to use. This amount of memory is guaranteed for the Java virtual machine to use. The non-heap memory consists of one or more memory pools. This value is the sum of `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.

Returns:
  The amount of committed memory in bytes.

#### getNonHeapMemoryMaximum

    long getNonHeapMemoryMaximum()

Returns the maximum amount of non-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 Java virtual machine 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.

Returns:
  The maximum amount of memory in bytes; `-1` if undefined.

#### getUpTime

    long getUpTime()

Returns the uptime of the Java virtual machine in milliseconds.

Returns:
  Uptime of the Java virtual machine in milliseconds.

#### getStartTime

    long getStartTime()

Returns the start time of the Java virtual machine in milliseconds. This method returns the approximate time when the Java virtual machine started.

Returns:
  Start time of the Java virtual machine in milliseconds.

#### getNodeStartTime

    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.

Returns:
  Start time of the grid node in milliseconds.

#### getCurrentThreadCount

    int getCurrentThreadCount()

Returns the current number of live threads including both daemon and non-daemon threads.

Returns:
  Current number of live threads.

#### getMaximumThreadCount

    int getMaximumThreadCount()

Returns the maximum live thread count since the Java virtual machine started or peak was reset.

Note: this is not an aggregated metric and it's calculated from the time of the node's startup.

Returns:
  The peak live thread count.

#### getTotalStartedThreadCount

    long getTotalStartedThreadCount()

Returns the total number of threads created and also started since the Java virtual machine started.

Note: this is not an aggregated metric and it's calculated from the time of the node's startup.

Returns:
  The total number of threads started.

#### getCurrentDaemonThreadCount

    int getCurrentDaemonThreadCount()

Returns the current number of live daemon threads.

Returns:
  Current number of live daemon threads.

#### getFileSystemFreeSpace

    long getFileSystemFreeSpace()

Returns the number of unallocated bytes in the partition.

Returns:
  Number of unallocated bytes in the partition.

#### getFileSystemTotalSpace

    long getFileSystemTotalSpace()

Returns the size of the partition.

Returns:
  Size of the partition.

#### getFileSystemUsableSpace

    long getFileSystemUsableSpace()

Returns the number of bytes available to this virtual machine on the partition.

Returns:
  Number of bytes available to this virtual machine on the partition.

#### getLastDataVersion

    long getLastDataVersion()

In-memory data grid assigns incremental versions to all cache operations. This method provides the latest data version on the node.

Returns:
  Last data version.

#### getSentMessagesCount

    int getSentMessagesCount()

Gets sent messages count.

Returns:
  Sent messages count.

#### getSentBytesCount

    long getSentBytesCount()

Gets sent bytes count.

Returns:
  Sent bytes count.

#### getReceivedMessagesCount

    int getReceivedMessagesCount()

Gets received messages count.

Returns:
  Received messages count.

#### getReceivedBytesCount

    long getReceivedBytesCount()

Gets received bytes count.

Returns:
  Received bytes count.

2018 Copyright © Apache Software Foundation

Follow @ApacheIgnite

Ignite Fabric | : ver. 2.4.0
Release Date | : March 5 2018