public JsonNode retrieveAgentDiskIO()

in bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/proxy/PrometheusProxy.java [456:486]


    public JsonNode retrieveAgentDiskIO(String iPv4addr) {
        String params = String.format("agent_host_monitoring_diskIO{iPv4addr=\"%s\"}", iPv4addr);
        JsonNode result = query(params);
        ObjectMapper objectMapper = new ObjectMapper();
        if (result != null) {
            JsonNode agentDisksResult = result.get("data").get("result");
            if (agentDisksResult.isArray() && !agentDisksResult.isEmpty()) {
                ObjectNode agentDiskIOInfo = objectMapper.createObjectNode();
                // metric
                JsonNode agentDisksMetric = agentDisksResult.get(0).get("metric");
                agentDiskIOInfo
                        .put("hostname", agentDisksMetric.get("hostname").asText())
                        .put("iPv4addr", agentDisksMetric.get("iPv4addr").asText());

                // value
                long diskWrite = 0L;
                long diskRead = 0L;
                for (JsonNode disk : agentDisksResult) {
                    if (Objects.equals(disk.get("metric").get("diskIO").asText(), DISK_WRITE)) {
                        diskWrite += disk.get("value").get(1).asLong();
                    } else {
                        diskRead += disk.get("value").get(1).asLong();
                    }
                }
                agentDiskIOInfo.put(DISK_WRITE, diskWrite);
                agentDiskIOInfo.put(DISK_READ, diskRead);
                return agentDiskIOInfo;
            }
        }
        return objectMapper.createObjectNode();
    }