static List<Consumer.Builder> generateConsumers(MetricsConsumer defaultConsumer,
                                                    Map<String, MetricsConsumer> userConsumers,
                                                    SystemName systemName) {
        // Normally, the user given consumers should not contain VESPA_CONSUMER_ID,
        // but it's allowed for some internally used applications.
        var allConsumers = new LinkedHashMap<>(userConsumers);
        allConsumers.put(MetricsConsumer.vespa.id(),
                         combineConsumers(defaultConsumer, allConsumers.get(MetricsConsumer.vespa.id())));
        allConsumers.put(MetricsConsumer.autoscaling.id(), MetricsConsumer.autoscaling);

        if (systemName.isPublic())
            allConsumers.put(MetricsConsumer.vespaCloud.id(), MetricsConsumer.vespaCloud);

        return allConsumers.values().stream()
                .map(ConsumersConfigGenerator::toConsumerBuilder)
                .toList();
    }
@param userConsumers the consumers set up by the user in services.xml
@return a list of consumer builders (a mapping from consumer to its metrics)
config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/ConsumersConfigGenerator.java