class Metrics implements Closeable {

    public MetricName metricName(String name, String group, String description, Map<String, String> tags) {
        Map<String, String> combinedTag = new LinkedHashMap<>(config.tags());
        combinedTag.putAll(tags);
        return new MetricName(name, group, description, combinedTag);
    }

    public  Metrics();
    public  Metrics(Time time);
    public  Metrics(MetricConfig defaultConfig, Time time);
    public  Metrics(MetricConfig defaultConfig);
    public  Metrics(MetricConfig defaultConfig, List<MetricsReporter> reporters, Time time);
    public  Metrics(MetricConfig defaultConfig, List<MetricsReporter> reporters, Time time, boolean enableExpiration);

}