use of org.apache.ignite.internal.processors.rest.client.message.GridClientNodeMetricsBean in project ignite by apache.
the class GridClientNioTcpConnection method nodeBeanToNode.
/**
* Creates client node instance from message.
*
* @param nodeBean Node bean message.
* @return Created node.
*/
@Nullable
private GridClientNodeImpl nodeBeanToNode(@Nullable GridClientNodeBean nodeBean) {
if (nodeBean == null)
return null;
GridClientNodeImpl.Builder nodeBuilder = GridClientNodeImpl.builder().nodeId(nodeBean.getNodeId()).consistentId(nodeBean.getConsistentId()).tcpAddresses(nodeBean.getTcpAddresses()).tcpPort(nodeBean.getTcpPort());
Map<String, GridClientCacheMode> caches = new HashMap<>();
if (nodeBean.getCaches() != null) {
for (GridClientCacheBean cacheBean : nodeBean.getCaches()) {
try {
caches.put(cacheBean.getName(), cacheBean.getMode());
} catch (IllegalArgumentException ignored) {
log.warning("Invalid cache mode received from remote node (will ignore) [srv=" + serverAddress() + ", cacheName=" + cacheBean.getName() + ", cacheMode=" + cacheBean.getMode() + ']');
}
}
}
if (!caches.isEmpty())
nodeBuilder.caches(caches);
if (nodeBean.getAttributes() != null)
nodeBuilder.attributes(nodeBean.getAttributes());
GridClientNodeMetricsBean metricsBean = nodeBean.getMetrics();
if (metricsBean != null) {
GridClientNodeMetricsAdapter metrics = new GridClientNodeMetricsAdapter();
metrics.setStartTime(metricsBean.getStartTime());
metrics.setAverageActiveJobs(metricsBean.getAverageActiveJobs());
metrics.setAverageCancelledJobs(metricsBean.getAverageCancelledJobs());
metrics.setAverageCpuLoad(metricsBean.getAverageCpuLoad());
metrics.setAverageJobExecuteTime(metricsBean.getAverageJobExecuteTime());
metrics.setAverageJobWaitTime(metricsBean.getAverageJobWaitTime());
metrics.setAverageRejectedJobs(metricsBean.getAverageRejectedJobs());
metrics.setAverageWaitingJobs(metricsBean.getAverageWaitingJobs());
metrics.setCurrentActiveJobs(metricsBean.getCurrentActiveJobs());
metrics.setCurrentCancelledJobs(metricsBean.getCurrentCancelledJobs());
metrics.setCurrentCpuLoad(metricsBean.getCurrentCpuLoad());
metrics.setCurrentGcCpuLoad(metricsBean.getCurrentGcCpuLoad());
metrics.setCurrentDaemonThreadCount(metricsBean.getCurrentDaemonThreadCount());
metrics.setCurrentIdleTime(metricsBean.getCurrentIdleTime());
metrics.setCurrentJobExecuteTime(metricsBean.getCurrentJobExecuteTime());
metrics.setCurrentJobWaitTime(metricsBean.getCurrentJobWaitTime());
metrics.setCurrentRejectedJobs(metricsBean.getCurrentRejectedJobs());
metrics.setCurrentThreadCount(metricsBean.getCurrentThreadCount());
metrics.setCurrentWaitingJobs(metricsBean.getCurrentWaitingJobs());
metrics.setFileSystemFreeSpace(metricsBean.getFileSystemFreeSpace());
metrics.setFileSystemTotalSpace(metricsBean.getFileSystemTotalSpace());
metrics.setFileSystemUsableSpace(metricsBean.getFileSystemUsableSpace());
metrics.setHeapMemoryCommitted(metricsBean.getHeapMemoryCommitted());
metrics.setHeapMemoryInitialized(metricsBean.getHeapMemoryInitialized());
metrics.setHeapMemoryMaximum(metricsBean.getHeapMemoryMaximum());
metrics.setHeapMemoryUsed(metricsBean.getHeapMemoryUsed());
metrics.setLastDataVersion(metricsBean.getLastDataVersion());
metrics.setLastUpdateTime(metricsBean.getLastUpdateTime());
metrics.setMaximumActiveJobs(metricsBean.getMaximumActiveJobs());
metrics.setMaximumCancelledJobs(metricsBean.getMaximumCancelledJobs());
metrics.setMaximumJobExecuteTime(metricsBean.getMaximumJobExecuteTime());
metrics.setMaximumJobWaitTime(metricsBean.getMaximumJobWaitTime());
metrics.setMaximumRejectedJobs(metricsBean.getMaximumRejectedJobs());
metrics.setMaximumThreadCount(metricsBean.getMaximumThreadCount());
metrics.setMaximumWaitingJobs(metricsBean.getMaximumWaitingJobs());
metrics.setNodeStartTime(metricsBean.getNodeStartTime());
metrics.setNonHeapMemoryCommitted(metricsBean.getNonHeapMemoryCommitted());
metrics.setNonHeapMemoryInitialized(metricsBean.getNonHeapMemoryInitialized());
metrics.setNonHeapMemoryMaximum(metricsBean.getNonHeapMemoryMaximum());
metrics.setNonHeapMemoryUsed(metricsBean.getNonHeapMemoryUsed());
metrics.setStartTime(metricsBean.getStartTime());
metrics.setTotalCancelledJobs(metricsBean.getTotalCancelledJobs());
metrics.setTotalCpus(metricsBean.getTotalCpus());
metrics.setTotalExecutedJobs(metricsBean.getTotalExecutedJobs());
metrics.setTotalIdleTime(metricsBean.getTotalIdleTime());
metrics.setTotalRejectedJobs(metricsBean.getTotalRejectedJobs());
metrics.setTotalStartedThreadCount(metricsBean.getTotalStartedThreadCount());
metrics.setTotalExecutedTasks(metricsBean.getTotalExecutedTasks());
metrics.setSentMessagesCount(metricsBean.getSentMessagesCount());
metrics.setSentBytesCount(metricsBean.getSentBytesCount());
metrics.setReceivedMessagesCount(metricsBean.getReceivedMessagesCount());
metrics.setReceivedBytesCount(metricsBean.getReceivedBytesCount());
metrics.setUpTime(metricsBean.getUpTime());
nodeBuilder.metrics(metrics);
}
return nodeBuilder.build();
}
use of org.apache.ignite.internal.processors.rest.client.message.GridClientNodeMetricsBean in project ignite by apache.
the class GridTopologyCommandHandler method createNodeBean.
/**
* Creates node bean out of grid node. Notice that cache attribute is handled separately.
*
* @param node Grid node.
* @param mtr {@code true} to add metrics.
* @param attr {@code true} to add attributes.
* @return Grid Node bean.
*/
private GridClientNodeBean createNodeBean(ClusterNode node, boolean mtr, boolean attr) {
assert node != null;
GridClientNodeBean nodeBean = new GridClientNodeBean();
nodeBean.setNodeId(node.id());
nodeBean.setConsistentId(node.consistentId());
nodeBean.setTcpPort(attribute(node, ATTR_REST_TCP_PORT, 0));
nodeBean.setTcpAddresses(nonEmptyList(node.<Collection<String>>attribute(ATTR_REST_TCP_ADDRS)));
nodeBean.setTcpHostNames(nonEmptyList(node.<Collection<String>>attribute(ATTR_REST_TCP_HOST_NAMES)));
GridCacheProcessor cacheProc = ctx.cache();
Map<String, CacheMode> nodeCaches = ctx.discovery().nodeCaches(node);
Collection<GridClientCacheBean> caches = new ArrayList<>(nodeCaches.size());
for (String cacheName : nodeCaches.keySet()) caches.add(createCacheBean(cacheProc.cacheConfiguration(cacheName)));
nodeBean.setCaches(caches);
if (mtr) {
ClusterMetrics metrics = node.metrics();
GridClientNodeMetricsBean metricsBean = new GridClientNodeMetricsBean();
metricsBean.setStartTime(metrics.getStartTime());
metricsBean.setAverageActiveJobs(metrics.getAverageActiveJobs());
metricsBean.setAverageCancelledJobs(metrics.getAverageCancelledJobs());
metricsBean.setAverageCpuLoad(metrics.getAverageCpuLoad());
metricsBean.setAverageJobExecuteTime(metrics.getAverageJobExecuteTime());
metricsBean.setAverageJobWaitTime(metrics.getAverageJobWaitTime());
metricsBean.setAverageRejectedJobs(metrics.getAverageRejectedJobs());
metricsBean.setAverageWaitingJobs(metrics.getAverageWaitingJobs());
metricsBean.setCurrentActiveJobs(metrics.getCurrentActiveJobs());
metricsBean.setCurrentCancelledJobs(metrics.getCurrentCancelledJobs());
metricsBean.setCurrentCpuLoad(metrics.getCurrentCpuLoad());
metricsBean.setCurrentGcCpuLoad(metrics.getCurrentGcCpuLoad());
metricsBean.setCurrentDaemonThreadCount(metrics.getCurrentDaemonThreadCount());
metricsBean.setCurrentIdleTime(metrics.getCurrentIdleTime());
metricsBean.setCurrentJobExecuteTime(metrics.getCurrentJobExecuteTime());
metricsBean.setCurrentJobWaitTime(metrics.getCurrentJobWaitTime());
metricsBean.setCurrentRejectedJobs(metrics.getCurrentRejectedJobs());
metricsBean.setCurrentThreadCount(metrics.getCurrentThreadCount());
metricsBean.setCurrentWaitingJobs(metrics.getCurrentWaitingJobs());
metricsBean.setHeapMemoryCommitted(metrics.getHeapMemoryCommitted());
metricsBean.setHeapMemoryInitialized(metrics.getHeapMemoryInitialized());
metricsBean.setHeapMemoryMaximum(metrics.getHeapMemoryMaximum());
metricsBean.setHeapMemoryUsed(metrics.getHeapMemoryUsed());
metricsBean.setLastDataVersion(metrics.getLastDataVersion());
metricsBean.setLastUpdateTime(metrics.getLastUpdateTime());
metricsBean.setMaximumActiveJobs(metrics.getMaximumActiveJobs());
metricsBean.setMaximumCancelledJobs(metrics.getMaximumCancelledJobs());
metricsBean.setMaximumJobExecuteTime(metrics.getMaximumJobExecuteTime());
metricsBean.setMaximumJobWaitTime(metrics.getMaximumJobWaitTime());
metricsBean.setMaximumRejectedJobs(metrics.getMaximumRejectedJobs());
metricsBean.setMaximumThreadCount(metrics.getMaximumThreadCount());
metricsBean.setMaximumWaitingJobs(metrics.getMaximumWaitingJobs());
metricsBean.setNodeStartTime(metrics.getNodeStartTime());
metricsBean.setNonHeapMemoryCommitted(metrics.getNonHeapMemoryCommitted());
metricsBean.setNonHeapMemoryInitialized(metrics.getNonHeapMemoryInitialized());
metricsBean.setNonHeapMemoryMaximum(metrics.getNonHeapMemoryMaximum());
metricsBean.setNonHeapMemoryUsed(metrics.getNonHeapMemoryUsed());
metricsBean.setStartTime(metrics.getStartTime());
metricsBean.setTotalCancelledJobs(metrics.getTotalCancelledJobs());
metricsBean.setTotalCpus(metrics.getTotalCpus());
metricsBean.setTotalExecutedJobs(metrics.getTotalExecutedJobs());
metricsBean.setTotalIdleTime(metrics.getTotalIdleTime());
metricsBean.setTotalRejectedJobs(metrics.getTotalRejectedJobs());
metricsBean.setTotalStartedThreadCount(metrics.getTotalStartedThreadCount());
metricsBean.setTotalExecutedTasks(metrics.getTotalExecutedTasks());
metricsBean.setSentMessagesCount(metrics.getSentMessagesCount());
metricsBean.setSentBytesCount(metrics.getSentBytesCount());
metricsBean.setReceivedMessagesCount(metrics.getReceivedMessagesCount());
metricsBean.setReceivedBytesCount(metrics.getReceivedBytesCount());
metricsBean.setUpTime(metrics.getUpTime());
nodeBean.setMetrics(metricsBean);
}
if (attr) {
Map<String, Object> attrs = new HashMap<>(node.attributes());
attrs.remove(ATTR_CACHE);
attrs.remove(ATTR_TX_CONFIG);
attrs.remove(ATTR_SECURITY_SUBJECT);
attrs.remove(ATTR_SECURITY_SUBJECT_V2);
attrs.remove(ATTR_SECURITY_CREDENTIALS);
attrs.remove(ATTR_BINARY_CONFIGURATION);
attrs.remove(ATTR_NODE_CONSISTENT_ID);
for (Iterator<Map.Entry<String, Object>> i = attrs.entrySet().iterator(); i.hasNext(); ) {
Map.Entry<String, Object> e = i.next();
if (!e.getKey().startsWith("org.apache.ignite.") && !e.getKey().startsWith("plugins.") && System.getProperty(e.getKey()) == null) {
i.remove();
continue;
}
if (e.getValue() != null) {
if (e.getValue().getClass().isEnum() || e.getValue() instanceof InetAddress)
e.setValue(e.getValue().toString());
else if (e.getValue().getClass().isArray())
i.remove();
}
}
nodeBean.setAttributes(attrs);
}
return nodeBean;
}
Aggregations