public static void multiGaugeUpdateData()

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