in bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/proxy/PrometheusProxy.java [133:208]
public JsonNode queryAgentsInfo(String agentIpv4, String interval) {
ObjectMapper objectMapper = new ObjectMapper();
if (!Objects.equals(agentIpv4, "")) {
ObjectNode ag = objectMapper.createObjectNode();
double[] agentsCpuUsage = new double[6];
double[] agentsCpuLoad1 = new double[6];
double[] agentsCpuLoad2 = new double[6];
double[] agentsCpuLoad3 = new double[6];
long[] agentMemIdle = new long[6];
long[] agentMemTotal = new long[6];
long[] agentDiskRead = new long[6];
long[] agentDiskWrite = new long[6];
JsonNode agentCpu = retrieveAgentCpu(agentIpv4);
JsonNode agentMem = retrieveAgentMemory(agentIpv4);
JsonNode agentDisk = retrieveAgentDisk(agentIpv4);
JsonNode agentDiskIO = retrieveAgentDiskIO(agentIpv4);
JsonNode agentCpuInterval = retrieveAgentCpu(agentIpv4, interval);
JsonNode agentMemInterval = retrieveAgentMemory(agentIpv4, interval);
JsonNode agentDiskIOInterval = retrieveAgentDiskIO(agentIpv4, interval);
// data process
for (int i = 0; i < 6; i++) {
// CPU
agentsCpuUsage[i] = ProxyUtils.getDoubleSafely(agentCpuInterval, CPU_USAGE, i);
agentsCpuLoad1[i] = ProxyUtils.getDoubleSafely(agentCpuInterval, CPU_LOAD_AVG_MIN_1, i);
agentsCpuLoad2[i] = ProxyUtils.getDoubleSafely(agentCpuInterval, CPU_LOAD_AVG_MIN_5, i);
agentsCpuLoad3[i] = ProxyUtils.getDoubleSafely(agentCpuInterval, CPU_LOAD_AVG_MIN_15, i);
// MEM
agentMemIdle[i] = ProxyUtils.getLongSafely(agentMemInterval, MEM_IDLE, i);
agentMemTotal[i] = ProxyUtils.getLongSafely(agentMemInterval, MEM_TOTAL, i);
// DISK IO
agentDiskRead[i] = ProxyUtils.getLongSafely(agentDiskIOInterval, DISK_READ, i);
agentDiskWrite[i] = ProxyUtils.getLongSafely(agentDiskIOInterval, DISK_WRITE, i);
}
// cur
ag.put("cpuUsageCur", String.format("%.6f", agentCpu.get(CPU_USAGE).asDouble()));
ag.put(
"memoryUsageCur",
String.format(
"%.6f",
(double) (agentMem.get(MEM_TOTAL).asLong()
- agentMem.get(MEM_IDLE).asLong())
/ agentMem.get(MEM_TOTAL).asLong()));
ag.put(
"diskUsageCur",
String.format(
"%.6f",
(double) (agentDisk.get(DISK_TOTAL).asLong()
- agentDisk.get(DISK_IDLE).asLong())
/ agentDisk.get(DISK_TOTAL).asLong()));
ag.put(
"fileDescriptorUsage",
String.format(
"%.6f",
(double) agentCpu.get(FILE_OPEN_DESCRIPTOR).asLong()
/ agentCpu.get(FILE_TOTAL_DESCRIPTOR).asLong()));
ag.put("diskReadCur", agentDiskIO.get(DISK_READ).asLong());
ag.put("diskWriteCur", agentDiskIO.get(DISK_WRITE).asLong());
// interval
ag.set("cpuUsage", ProxyUtils.array2node(agentsCpuUsage));
ag.set("systemLoad1", ProxyUtils.array2node(agentsCpuLoad1));
ag.set("systemLoad2", ProxyUtils.array2node(agentsCpuLoad2));
ag.set("systemLoad3", ProxyUtils.array2node(agentsCpuLoad3));
ag.set("memoryUsage", ProxyUtils.array2node(agentMemIdle, agentMemTotal));
ag.set("diskRead", ProxyUtils.array2node(agentDiskRead));
ag.set("diskWrite", ProxyUtils.array2node(agentDiskWrite));
return ag;
}
return objectMapper.createObjectNode();
}