private static <K,V> String idMapToString(Map<K,V> map, Function<K, String> idMapper) {
        return map.entrySet().stream()
                .map(entry -> idMapper.apply(entry.getKey()) + "=" + entry.getValue())
                .collect(joining(",", "{", "}"));
    }
Represents a packet of metrics (with meta information) that belong together because they:
<ul>
    <li>share both the same dimensions and consumers, AND</li>
    <li>represent the same source, e.g. a vespa service or the system hardware.</li>
</ul>

@author gjoranv
metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/MetricsPacket.java