in bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/proxy/PrometheusProxy.java [387:418]
public JsonNode retrieveAgentMemory(String iPv4addr, String interval) {
String params = String.format("agent_host_monitoring_mem{iPv4addr=\"%s\"}", iPv4addr);
ArrayList<Long> timeStampsList = ProxyUtils.getTimeStampsList(ProxyUtils.processInternal(interval));
JsonNode result = queryRange(
params,
timeStampsList.get(timeStampsList.size() - 1),
timeStampsList.get(0),
ProxyUtils.Number2Param(ProxyUtils.processInternal(interval)));
ObjectMapper objectMapper = new ObjectMapper();
if (result != null) {
JsonNode agentMem = result.get("data").get("result");
if (agentMem.isArray() && !agentMem.isEmpty()) {
ObjectNode agentMemInfo = objectMapper.createObjectNode();
// metric
JsonNode agentMemMetrics = agentMem.get(0).get("metric");
agentMemInfo.put("hostname", agentMemMetrics.get("hostname").asText());
agentMemInfo.put("iPv4addr", agentMemMetrics.get("iPv4addr").asText());
// value
for (JsonNode stepAgent : agentMem) {
JsonNode agentMemValues = stepAgent.get("values");
ArrayNode memValues = objectMapper.createArrayNode();
for (JsonNode value : agentMemValues) {
memValues.add(value.get(1).asDouble());
}
agentMemInfo.set(stepAgent.get("metric").get("memUsage").asText(), memValues);
}
return agentMemInfo;
}
}
return objectMapper.createObjectNode();
}