public JsonNode queryAgentsInfo()

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();
    }