package com.bizo.asperatus.tracker; import java.util.List; import com.bizo.asperatus.model.CompoundDimension; import com.bizo.asperatus.model.Dimension; import com.bizo.asperatus.model.Unit; import com.google.common.collect.Lists; /** * Simple abstract parent to forward track calls without a unit, or with simple dimensions. * * Subclasses must only implement: * * void track(String metricName, Number value, Unit unit, Collection<CompoundDimension> dimensions); */ public abstract class AbstractMetricTracker implements MetricTracker { @Override public void track(final String metricName, final Number value, final List<Dimension> dimensions) { track(metricName, value, Unit.Count, dimensions); } @Override public void track(final String metricName, final Number value, final Unit unit, final List<Dimension> dimensions) { for (final Dimension d : dimensions) { track(metricName, value, unit, Lists.newArrayList(new CompoundDimension(d))); } } @Override public void close() { } }