class Metrics implements Closeable {

    public MetricName metricInstance(MetricNameTemplate template, String... keyValue) {
        return metricInstance(template, getTags(keyValue));
    }

    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, MetricsContext metricsContext);
    public  Metrics(MetricConfig defaultConfig, List<MetricsReporter> reporters, Time time, boolean enableExpiration);
    public  Metrics(MetricConfig defaultConfig, List<MetricsReporter> reporters, Time time, boolean enableExpiration,
                   MetricsContext metricsContext);

}