killbill-memoizeit
Changes
meter/src/main/java/com/ning/billing/meter/timeline/consumer/AccumulatorSampleConsumer.java 9(+4 -5)
meter/src/main/java/com/ning/billing/meter/timeline/consumer/filter/DecimatingSampleFilter.java 32(+16 -16)
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;