GridGain Developers Hub
GitHub logo GridGain iso GridGain.com
GridGain Software Documentation

System Views

GridGain provides a number of built-in views that contain information about cluster nodes and node metrics. These views are contained in the IGNITE schema. See the Understanding Schemas page for the information on how to access a non-default schema.

NODES View

The NODES view contains information about the cluster nodes.

Column Data Type Description

ID

UUID

Node ID.

CONSISTENT_ID

VARCHAR

Node’s consistent ID.

VERSION

VARCHAR

Node version.

IS_CLIENT

BOOLEAN

Indicates whether the node is a client.

IS_DAEMON

BOOLEAN

Indicates whether the node is a daemon node.

NODE_ORDER

INT

Node order within the topology.

ADDRESSES

VARCHAR

The addresses of the node.

HOSTNAMES

VARCHAR

The host names of the node.

NODE_ATTRIBUTES View

The NODE_ATTRIBUTES view contains the attributes of all nodes.

Column Data Type Description

NODE_ID

UUID

Node ID.

NAME

VARCHAR

Attribute name.

VALUE

VARCHAR

Attribute value.

BASELINE_NODES View

The BASELINE_NODES view contains information about the nodes that are part of the current baseline topology.

Column Data Type Description

CONSISTENT_ID

VARCHAR

Node consistent ID.

ONLINE

BOOLEAN

Indicates whether the node is up and running.

NODE_METRICS View

The NODE_METRICS view provides various metrics about the state of nodes, resource consumption and other metrics.

Column Data Type Description

NODE_ID

UUID

Node ID.

LAST_UPDATE_TIME

TIMESTAMP

Last time the metrics were updated.

MAX_ACTIVE_JOBS

INT

Maximum number of concurrent jobs this node ever had at one time.

CUR_ACTIVE_JOBS

INT

Number of currently active jobs running on the node.

AVG_ACTIVE_JOBS

FLOAT

Average number of active jobs concurrently executing on the node.

MAX_WAITING_JOBS

INT

Maximum number of waiting jobs this node ever had at one time.

CUR_WAITING_JOBS

INT

Number of queued jobs currently waiting to be executed.

AVG_WAITING_JOBS

FLOAT

Average number of waiting jobs this node ever had at one time.

MAX_REJECTED_JOBS

INT

Maximum number of jobs rejected at once during a single collision resolution operation.

CUR_REJECTED_JOBS

INT

Number of jobs rejected as a result of the most recent collision resolution operation.

AVG_REJECTED_JOBS

FLOAT

Average number of jobs this node rejected as a result of collision resolution operations.

TOTAL_REJECTED_JOBS

INT

Total number of jobs this node has rejected as a result of collision resolution operations since the node startup.

MAX_CANCELED_JOBS

INT

Maximum number of cancelled jobs this node ever had running concurrently.

CUR_CANCELED_JOBS

INT

Number of cancelled jobs that are still running.

AVG_CANCELED_JOBS

FLOAT

Average number of cancelled jobs this node ever had running concurrently.

TOTAL_CANCELED_JOBS

INT

Number of jobs cancelled since the node startup.

MAX_JOBS_WAIT_TIME

TIME

Maximum time a job ever spent waiting in a queue before being executed.

CUR_JOBS_WAIT_TIME

TIME

Longest wait time among the jobs that are currently waiting for execution.

AVG_JOBS_WAIT_TIME

TIME

Average time jobs spend in the queue before being executed.

MAX_JOBS_EXECUTE_TIME

TIME

Maximum job execution time.

CUR_JOBS_EXECUTE_TIME

TIME

Longest time a current job has been executing for.

AVG_JOBS_EXECUTE_TIME

TIME

Average job execution time on this node.

TOTAL_JOBS_EXECUTE_TIME

TIME

Total time all finished jobs took to execute on this node since the node startup.

TOTAL_EXECUTED_JOBS

INT

Total number of jobs handled by the node since the node startup.

TOTAL_EXECUTED_TASKS

INT

Total number of tasks handled by the node.

TOTAL_BUSY_TIME

TIME

Total time this node spent executing jobs.

TOTAL_IDLE_TIME

TIME

Total time this node spent idling (not executing any jobs).

CUR_IDLE_TIME

TIME

Time this node has spent idling since executing the last job.

BUSY_TIME_PERCENTAGE

FLOAT

Percentage of job execution vs idle time.

IDLE_TIME_PERCENTAGE

FLOAT

Percentage of idle vs job execution time.

TOTAL_CPU

INT

Number of CPUs available to the Java Virtual Machine.

CUR_CPU_LOAD

DOUBLE

Percentage of CPU usage expressed as a fraction in the range [0, 1].

AVG_CPU_LOAD

DOUBLE

Average percentage of CPU usage expressed as a fraction in the range [0, 1].

CUR_GC_CPU_LOAD

DOUBLE

Average time spent in GC since the last update of the metrics. By default, metrics are updated every 2 seconds.

HEAP_MEMORY_INIT

LONG

Amount of heap memory in bytes that the JVM initially requests from the operating system for memory management. Shows -1 if the initial memory size is undefined.

HEAP_MEMORY_USED

LONG

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.

HEAP_MEMORY_COMMITED

LONG

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.

HEAP_MEMORY_MAX

LONG

Maximum amount of heap memory in bytes that can be used for memory management. The column displays -1 if the maximum memory size is undefined.

HEAP_MEMORY_TOTAL

LONG

Total amount of heap memory in bytes. The column displays -1 if the total memory size is undefined.

NONHEAP_MEMORY_INIT

LONG

Amount of non-heap memory in bytes that the JVM initially requests from the operating system for memory management. The column displays -1 if the initial memory size is undefined.

NONHEAP_MEMORY_USED

LONG

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.

NONHEAP_MEMORY_COMMITED

LONG

Amount of non-heap memory in bytes that is committed for the JVM to use. This amount of memory is guaranteed for the JVM 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.

NONHEAP_MEMORY_MAX

LONG

Returns the maximum amount of non-heap memory in bytes that can be used for memory management. The column displays -1 if the maximum memory size is undefined.

NONHEAP_MEMORY_TOTAL

LONG

Total amount of non-heap memory in bytes that can be used for memory management. The column displays -1 if the total memory size is undefined.

UPTIME

TIME

Uptime of the JVM.

JVM_START_TIME

TIMESTAMP

Start time of the JVM.

NODE_START_TIME

TIMESTAMP

Start time of the node.

LAST_DATA_VERSION

LONG

In-Memory Data Grid assigns incremental versions to all cache operations. This column contains the latest data version on the node.

CUR_THREAD_COUNT

INT

Number of live threads including both daemon and non-daemon threads.

MAX_THREAD_COUNT

INT

Maximum live thread count since the JVM started or peak was reset.

TOTAL_THREAD_COUNT

LONG

Total number of threads started since the JVM started.

CUR_DAEMON_THREAD_COUNT

INT

Number of live daemon threads.

SENT_MESSAGES_COUNT

INT

Number of node communication messages sent.

SENT_BYTES_COUNT

LONG

Amount of bytes sent.

RECEIVED_MESSAGES_COUNT

INT

Number of node communication messages received.

RECEIVED_BYTES_COUNT

LONG

Amount of bytes received.

OUTBOUND_MESSAGES_QUEUE

INT

Outbound messages queue size.

Examples

To query the system views using the SQLLine tool, connect to the IGNITE schema as follows:

$ ./sqlline.sh -u jdbc:ignite:thin://127.0.0.1/IGNITE

If your node is running on a remote server, replace 127.0.0.1 with the IP-address of the server.

Run a query:

-- get the list of nodes
select * from NODES;

-- view the CPU load as a percentage for a specific node
select CUR_CPU_LOAD * 100 from NODE_METRICS where NODE_ID = 'a1b77663-b37f-4ddf-87a6-1e2d684f3bae'

The same example using Java Thin Client:

ClientConfiguration cfg = new ClientConfiguration().setAddresses("127.0.0.1:10800");

try (IgniteClient igniteClient = Ignition.startClient(cfg)) {
    System.out.println();

    // getting the id of the first node
    UUID nodeId = (UUID) igniteClient.query(new SqlFieldsQuery("SELECT * from NODES").setSchema("IGNITE"))
    .getAll().iterator().next().get(0);

    double cpu_load = (double) igniteClient
    .query(new SqlFieldsQuery("select CUR_CPU_LOAD * 100 from NODE_METRICS where NODE_ID = ? ")
    .setSchema("IGNITE").setArgs(nodeId.toString()))
    .getAll().iterator().next().get(0);

    System.out.println("node's cpu load = " + cpu_load);

} catch (ClientException e) {
    System.err.println(e.getMessage());
} catch (Exception e) {
    System.err.format("Unexpected failure: %s\n", e);
}