private void updateCounter(String name, Map<String, String> dimensions, double value) {
long current = System.currentTimeMillis();
String metricName = MetricKeyCodeDecoder.codeMetricKey(name, dimensions);
if (registry.getMetrics().get(metricName) == null) {
EagleCounterMetric metric = new EagleCounterMetric(current, metricName, value, MERITE_GRANULARITY);
metric.registerListener(listener);
registry.register(metricName, metric);
} else {
EagleCounterMetric metric = (EagleCounterMetric) registry.getMetrics().get(metricName);
metric.update(value, current);
}
}