class Metrics implements Closeable {

    public synchronized KafkaMetric removeMetric(MetricName metricName) {
        KafkaMetric metric = this.metrics.remove(metricName);
        if (metric != null) {
            for (MetricsReporter reporter : reporters)
                reporter.metricRemoval(metric);
        }
        return metric;
    }

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

}