in bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/proxy/PrometheusProxy.java [278:311]
public JsonNode retrieveAgentCpu(String iPv4addr) {
String params = String.format("agent_host_monitoring_cpu{iPv4addr=\"%s\"}", iPv4addr);
JsonNode result = query(params);
ObjectMapper objectMapper = new ObjectMapper();
if (result != null) {
JsonNode agentCpus = result.get("data").get("result");
if (agentCpus.isArray() && !agentCpus.isEmpty()) {
// metric
JsonNode agentCpuMetric = agentCpus.get(0).get("metric");
ObjectNode agentInfo = objectMapper.createObjectNode();
agentInfo.put("hostname", agentCpuMetric.get("hostname").asText());
agentInfo.put("cpuInfo", agentCpuMetric.get("cpu_info").asText());
agentInfo.put("iPv4addr", agentCpuMetric.get("iPv4addr").asText());
agentInfo.put("os", agentCpuMetric.get("os").asText());
agentInfo.put("architecture", agentCpuMetric.get("arch").asText());
agentInfo.put(PHYSICAL_CORES, agentCpuMetric.get(PHYSICAL_CORES).asText());
agentInfo.put(
FILE_OPEN_DESCRIPTOR,
agentCpuMetric.get(FILE_OPEN_DESCRIPTOR).asLong());
agentInfo.put(
FILE_TOTAL_DESCRIPTOR,
agentCpuMetric.get(FILE_TOTAL_DESCRIPTOR).asLong());
// value
for (JsonNode agent : agentCpus) {
agentInfo.put(
agent.get("metric").get("cpuUsage").asText(),
agent.get("value").get(1).asDouble());
}
return agentInfo;
}
}
return objectMapper.createObjectNode();
}