System Views
GridGain provides a number of built-in SQL 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 |
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 |
HEAP_MEMORY_TOTAL |
LONG |
Total amount of heap memory in bytes. The column displays |
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 |
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 |
NONHEAP_MEMORY_TOTAL |
LONG |
Total amount of non-heap memory in bytes that can be used for memory management. The column displays |
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);
}
© 2021 GridGain Systems, Inc. All Rights Reserved. Privacy Policy | Legal Notices. GridGain® is a registered trademark of GridGain Systems, Inc.
Apache, Apache Ignite, the Apache feather and the Apache Ignite logo are either registered trademarks or trademarks of The Apache Software Foundation.