killbill-memoizeit

meter: shuffle consumer and filter files around Signed-off-by:

12/4/2012 8:57:53 PM

Changes

meter/src/main/java/com/ning/billing/meter/timeline/consumer/CSVOutputProcessor.java 45(+0 -45)

meter/src/main/java/com/ning/billing/meter/timeline/consumer/SampleConsumer.java 27(+0 -27)

Details

diff --git a/meter/src/main/java/com/ning/billing/meter/api/user/JsonSamplesOutputer.java b/meter/src/main/java/com/ning/billing/meter/api/user/JsonSamplesOutputer.java
index b589af5..1e6ca23 100644
--- a/meter/src/main/java/com/ning/billing/meter/api/user/JsonSamplesOutputer.java
+++ b/meter/src/main/java/com/ning/billing/meter/api/user/JsonSamplesOutputer.java
@@ -38,12 +38,12 @@ import com.ning.billing.meter.timeline.chunks.TimelineChunk;
 import com.ning.billing.meter.timeline.chunks.TimelineChunksViews;
 import com.ning.billing.meter.timeline.codec.DefaultSampleCoder;
 import com.ning.billing.meter.timeline.codec.SampleCoder;
-import com.ning.billing.meter.timeline.codec.TimelineChunkDecoded;
 import com.ning.billing.meter.timeline.consumer.CSVConsumer;
-import com.ning.billing.meter.timeline.consumer.CSVSampleConsumer;
+import com.ning.billing.meter.timeline.consumer.CSVSampleProcessor;
 import com.ning.billing.meter.timeline.consumer.TimelineChunkConsumer;
-import com.ning.billing.meter.timeline.filter.DecimatingSampleFilter;
-import com.ning.billing.meter.timeline.filter.DecimationMode;
+import com.ning.billing.meter.timeline.consumer.TimelineChunkDecoded;
+import com.ning.billing.meter.timeline.consumer.filter.DecimatingSampleFilter;
+import com.ning.billing.meter.timeline.consumer.filter.DecimationMode;
 import com.ning.billing.meter.timeline.metrics.SamplesForMetricAndSource;
 import com.ning.billing.meter.timeline.persistent.TimelineDao;
 import com.ning.billing.util.callcontext.InternalTenantContext;
@@ -158,7 +158,7 @@ public class JsonSamplesOutputer {
             rangeSampleProcessor = null;
         } else {
             // TODO Fix the polling interval
-            rangeSampleProcessor = new DecimatingSampleFilter(startTime, endTime, outputCount, new TimeSpan("1s"), decimationMode, new CSVSampleConsumer());
+            rangeSampleProcessor = new DecimatingSampleFilter(startTime, endTime, outputCount, new TimeSpan("1s"), decimationMode, new CSVSampleProcessor());
         }
 
         return rangeSampleProcessor;
diff --git a/meter/src/main/java/com/ning/billing/meter/timeline/BackgroundDBChunkWriter.java b/meter/src/main/java/com/ning/billing/meter/timeline/BackgroundDBChunkWriter.java
index 982641a..dd286c1 100644
--- a/meter/src/main/java/com/ning/billing/meter/timeline/BackgroundDBChunkWriter.java
+++ b/meter/src/main/java/com/ning/billing/meter/timeline/BackgroundDBChunkWriter.java
@@ -31,13 +31,13 @@ import org.joda.time.DateTime;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.ning.billing.util.config.MeterConfig;
 import com.ning.billing.meter.timeline.chunks.TimelineChunk;
 import com.ning.billing.meter.timeline.persistent.TimelineDao;
 import com.ning.billing.util.callcontext.CallOrigin;
 import com.ning.billing.util.callcontext.InternalCallContext;
 import com.ning.billing.util.callcontext.InternalCallContextFactory;
 import com.ning.billing.util.callcontext.UserType;
+import com.ning.billing.util.config.MeterConfig;
 
 import com.google.inject.Inject;
 import com.google.inject.Singleton;
diff --git a/meter/src/main/java/com/ning/billing/meter/timeline/codec/DefaultSampleCoder.java b/meter/src/main/java/com/ning/billing/meter/timeline/codec/DefaultSampleCoder.java
index 743f677..3e79502 100644
--- a/meter/src/main/java/com/ning/billing/meter/timeline/codec/DefaultSampleCoder.java
+++ b/meter/src/main/java/com/ning/billing/meter/timeline/codec/DefaultSampleCoder.java
@@ -29,6 +29,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import com.ning.billing.meter.timeline.chunks.TimelineChunk;
+import com.ning.billing.meter.timeline.consumer.SampleProcessor;
 import com.ning.billing.meter.timeline.samples.HalfFloat;
 import com.ning.billing.meter.timeline.samples.RepeatSample;
 import com.ning.billing.meter.timeline.samples.SampleBase;
diff --git a/meter/src/main/java/com/ning/billing/meter/timeline/codec/SampleCoder.java b/meter/src/main/java/com/ning/billing/meter/timeline/codec/SampleCoder.java
index d690bcd..3a9fdf7 100644
--- a/meter/src/main/java/com/ning/billing/meter/timeline/codec/SampleCoder.java
+++ b/meter/src/main/java/com/ning/billing/meter/timeline/codec/SampleCoder.java
@@ -22,6 +22,7 @@ import java.io.IOException;
 import java.util.List;
 
 import com.ning.billing.meter.timeline.chunks.TimelineChunk;
+import com.ning.billing.meter.timeline.consumer.SampleProcessor;
 import com.ning.billing.meter.timeline.samples.SampleBase;
 import com.ning.billing.meter.timeline.samples.SampleOpcode;
 import com.ning.billing.meter.timeline.samples.ScalarSample;
diff --git a/meter/src/main/java/com/ning/billing/meter/timeline/consumer/AccumulatorSampleConsumer.java b/meter/src/main/java/com/ning/billing/meter/timeline/consumer/AccumulatorSampleConsumer.java
index d71f14b..31f8260 100644
--- a/meter/src/main/java/com/ning/billing/meter/timeline/consumer/AccumulatorSampleConsumer.java
+++ b/meter/src/main/java/com/ning/billing/meter/timeline/consumer/AccumulatorSampleConsumer.java
@@ -22,7 +22,6 @@ import java.util.Map;
 import org.joda.time.DateTime;
 import org.joda.time.DateTimeZone;
 
-import com.ning.billing.meter.timeline.codec.TimeRangeSampleProcessor;
 import com.ning.billing.meter.timeline.samples.SampleOpcode;
 import com.ning.billing.meter.timeline.samples.ScalarSample;
 
@@ -42,7 +41,7 @@ public class AccumulatorSampleConsumer extends TimeRangeSampleProcessor {
     private final Map<SampleOpcode, Double> accumulators = new LinkedHashMap<SampleOpcode, Double>();
 
     private final TimeAggregationMode timeAggregationMode;
-    private final SampleConsumer sampleConsumer;
+    private final TimeRangeSampleProcessor sampleProcessor;
 
     private DateTime lastRoundedTime = null;
     private int aggregatedSampleNumber = 0;
@@ -51,7 +50,7 @@ public class AccumulatorSampleConsumer extends TimeRangeSampleProcessor {
         super(null, null);
         this.timeAggregationMode = timeAggregationMode;
         // TODO should be configurable
-        this.sampleConsumer = new CSVSampleConsumer();
+        this.sampleProcessor = new CSVSampleProcessor();
     }
 
     @Override
@@ -109,10 +108,10 @@ public class AccumulatorSampleConsumer extends TimeRangeSampleProcessor {
         // Output one opcode at a time
         for (final SampleOpcode opcode : accumulators.keySet()) {
             aggregatedSampleNumber++;
-            sampleConsumer.consumeSample(aggregatedSampleNumber, opcode, accumulators.get(opcode), lastRoundedTime);
+            sampleProcessor.processOneSample(lastRoundedTime, opcode, accumulators.get(opcode));
         }
         // This will flush (clear) the sample consumer
-        builder.append(sampleConsumer.toString());
+        builder.append(sampleProcessor.toString());
 
         accumulators.clear();
     }
diff --git a/meter/src/main/java/com/ning/billing/meter/timeline/consumer/CSVConsumer.java b/meter/src/main/java/com/ning/billing/meter/timeline/consumer/CSVConsumer.java
index 3c4531e..d06e56c 100644
--- a/meter/src/main/java/com/ning/billing/meter/timeline/consumer/CSVConsumer.java
+++ b/meter/src/main/java/com/ning/billing/meter/timeline/consumer/CSVConsumer.java
@@ -24,7 +24,7 @@ import org.joda.time.DateTime;
 
 import com.ning.billing.meter.timeline.chunks.TimelineChunk;
 import com.ning.billing.meter.timeline.codec.SampleCoder;
-import com.ning.billing.meter.timeline.filter.DecimatingSampleFilter;
+import com.ning.billing.meter.timeline.consumer.filter.DecimatingSampleFilter;
 
 public class CSVConsumer {
 
@@ -33,7 +33,7 @@ public class CSVConsumer {
 
     public static String getSamplesAsCSV(final SampleCoder sampleCoder, final TimelineChunk chunk, final DecimatingSampleFilter rangeSampleProcessor) throws IOException {
         sampleCoder.scan(chunk, rangeSampleProcessor);
-        return rangeSampleProcessor.getSampleConsumer().toString();
+        return rangeSampleProcessor.toString();
     }
 
     public static String getSamplesAsCSV(final SampleCoder sampleCoder, final TimelineChunk chunk) throws IOException {
@@ -41,7 +41,7 @@ public class CSVConsumer {
     }
 
     public static String getSamplesAsCSV(final SampleCoder sampleCoder, final TimelineChunk chunk, @Nullable final DateTime startTime, @Nullable final DateTime endTime) throws IOException {
-        final CSVOutputProcessor processor = new CSVOutputProcessor(startTime, endTime);
+        final CSVSampleProcessor processor = new CSVSampleProcessor(startTime, endTime);
         sampleCoder.scan(chunk, processor);
         return processor.toString();
     }
diff --git a/meter/src/main/java/com/ning/billing/meter/timeline/persistent/DefaultTimelineDao.java b/meter/src/main/java/com/ning/billing/meter/timeline/persistent/DefaultTimelineDao.java
index 44658fa..e1b3413 100644
--- a/meter/src/main/java/com/ning/billing/meter/timeline/persistent/DefaultTimelineDao.java
+++ b/meter/src/main/java/com/ning/billing/meter/timeline/persistent/DefaultTimelineDao.java
@@ -38,7 +38,6 @@ import com.ning.billing.meter.timeline.chunks.TimelineChunk;
 import com.ning.billing.meter.timeline.chunks.TimelineChunkMapper;
 import com.ning.billing.meter.timeline.consumer.TimelineChunkConsumer;
 import com.ning.billing.meter.timeline.shutdown.StartTimes;
-import com.ning.billing.meter.timeline.sources.SourceRecordIdAndMetricRecordId;
 import com.ning.billing.meter.timeline.util.DateTimeUtils;
 import com.ning.billing.util.callcontext.InternalCallContext;
 import com.ning.billing.util.callcontext.InternalTenantContext;
diff --git a/meter/src/main/java/com/ning/billing/meter/timeline/persistent/TimelineSqlDao.java b/meter/src/main/java/com/ning/billing/meter/timeline/persistent/TimelineSqlDao.java
index 805f068..42cbb13 100644
--- a/meter/src/main/java/com/ning/billing/meter/timeline/persistent/TimelineSqlDao.java
+++ b/meter/src/main/java/com/ning/billing/meter/timeline/persistent/TimelineSqlDao.java
@@ -38,7 +38,6 @@ import com.ning.billing.meter.timeline.shutdown.StartTimes;
 import com.ning.billing.meter.timeline.shutdown.StartTimesBinder;
 import com.ning.billing.meter.timeline.shutdown.StartTimesMapper;
 import com.ning.billing.meter.timeline.sources.SourceIdAndMetricIdMapper;
-import com.ning.billing.meter.timeline.sources.SourceRecordIdAndMetricRecordId;
 import com.ning.billing.util.callcontext.InternalCallContext;
 import com.ning.billing.util.callcontext.InternalTenantContext;
 import com.ning.billing.util.callcontext.InternalTenantContextBinder;
diff --git a/meter/src/test/java/com/ning/billing/meter/timeline/codec/TestSampleCoder.java b/meter/src/test/java/com/ning/billing/meter/timeline/codec/TestSampleCoder.java
index 115bdf0..b86c237 100644
--- a/meter/src/test/java/com/ning/billing/meter/timeline/codec/TestSampleCoder.java
+++ b/meter/src/test/java/com/ning/billing/meter/timeline/codec/TestSampleCoder.java
@@ -31,6 +31,7 @@ import org.testng.Assert;
 import org.testng.annotations.Test;
 
 import com.ning.billing.meter.MeterTestSuite;
+import com.ning.billing.meter.timeline.consumer.TimeRangeSampleProcessor;
 import com.ning.billing.meter.timeline.samples.RepeatSample;
 import com.ning.billing.meter.timeline.samples.SampleOpcode;
 import com.ning.billing.meter.timeline.samples.ScalarSample;
diff --git a/meter/src/test/java/com/ning/billing/meter/timeline/codec/TestTimelineChunkAccumulator.java b/meter/src/test/java/com/ning/billing/meter/timeline/codec/TestTimelineChunkAccumulator.java
index 3e5b31d..246ce96 100644
--- a/meter/src/test/java/com/ning/billing/meter/timeline/codec/TestTimelineChunkAccumulator.java
+++ b/meter/src/test/java/com/ning/billing/meter/timeline/codec/TestTimelineChunkAccumulator.java
@@ -25,6 +25,8 @@ import org.testng.annotations.Test;
 
 import com.ning.billing.meter.MeterTestSuite;
 import com.ning.billing.meter.timeline.chunks.TimelineChunk;
+import com.ning.billing.meter.timeline.consumer.SampleProcessor;
+import com.ning.billing.meter.timeline.consumer.TimelineChunkDecoded;
 import com.ning.billing.meter.timeline.samples.SampleOpcode;
 import com.ning.billing.meter.timeline.samples.ScalarSample;
 import com.ning.billing.meter.timeline.times.DefaultTimelineCoder;