in bigtop-manager-agent/src/main/java/org/apache/bigtop/manager/agent/monitoring/AgentHostMonitoring.java [396:420]
public static void multiGaugeUpdateData(
MultiGauge multiGauge, Map<ArrayList<String>, Map<ArrayList<String>, Double>> gaugeData) {
ArrayList<String> tagKeys = null;
Map<ArrayList<String>, Double> tagValues = null;
for (Map.Entry<ArrayList<String>, Map<ArrayList<String>, Double>> entry : gaugeData.entrySet()) {
tagKeys = entry.getKey();
tagValues = entry.getValue();
}
if (null == tagKeys || null == tagValues) {
return;
}
ArrayList<String> finalTagKeys = tagKeys;
multiGauge.register(
tagValues.entrySet().stream()
.map(item -> {
List<Tag> tags = new ArrayList<>();
ArrayList<String> labelKeyValues = item.getKey();
for (int i = 0; i < labelKeyValues.size(); i++) {
tags.add(Tag.of(finalTagKeys.get(i), labelKeyValues.get(i)));
}
return MultiGauge.Row.of(Tags.of(tags), item.getValue());
})
.collect(Collectors.toList()),
true);
}