class MetricName implements Comparable<MetricName> {

    @Override
    public int compareTo(MetricName o) {
        if (o == null) {
            return -1;
        }

        int c = compareName(key, o.getKey());

        if (c != 0) {
            return c;
        }

        return compareTags(tags, o.getTags());
    }

    public  MetricName();
    public  MetricName(String key);
    public  MetricName(String key, Map<String, String> tags);
    public  MetricName(String key, MetricLevel level);
    public  MetricName(String key, Map<String, String> tags, MetricLevel level);

}