this.durationUnit = TimeUnit.MILLISECONDS.toString().toLowerCase(Locale.US);
this.metricsProperties = metricsProperties;
this.metricsPropertyKey = metricsName + "." + getReporterName() + ".";
this.hostAndPort = hostAndPort;
MetricsFilterList filterList = new MetricsFilterList();
filterList.addMetricFilter(new GroupNameMetricsFilter(metricsName));
String regexpFilterKey = metricsPropertyKey + "regexp.";
Set<String> regexpExpressions = new HashSet<String>();
for(Map.Entry<String, String> entry: metricsProperties.entrySet()) {
String key = entry.getKey();
if(key.indexOf(regexpFilterKey) == 0) {
regexpExpressions.add(entry.getValue());
}
}
if(!regexpExpressions.isEmpty()) {
filterList.addMetricFilter(new RegexpMetricsFilter(regexpExpressions));
}
this.filter = filterList;
this.period = 60;
if(metricsProperties.get(metricsPropertyKey + PERIOD_KEY) != null) {