Repository: eagle Updated Branches: refs/heads/master 06a828f08 -> c970bb426
http://git-wip-us.apache.org/repos/asf/eagle/blob/c970bb42/eagle-core/eagle-query/eagle-query-base/src/test/java/org/apache/eagle/query/aggregate/test/TestPostFlatAggregateSort.java ---------------------------------------------------------------------- diff --git a/eagle-core/eagle-query/eagle-query-base/src/test/java/org/apache/eagle/query/aggregate/test/TestPostFlatAggregateSort.java b/eagle-core/eagle-query/eagle-query-base/src/test/java/org/apache/eagle/query/aggregate/test/TestPostFlatAggregateSort.java index 91b3738..cdfc5bc 100644 --- a/eagle-core/eagle-query/eagle-query-base/src/test/java/org/apache/eagle/query/aggregate/test/TestPostFlatAggregateSort.java +++ b/eagle-core/eagle-query/eagle-query-base/src/test/java/org/apache/eagle/query/aggregate/test/TestPostFlatAggregateSort.java @@ -33,111 +33,112 @@ import org.junit.Test; import org.apache.eagle.query.aggregate.timeseries.SortOption; public class TestPostFlatAggregateSort { - private static final Logger logger = Logger.getLogger(TestPostFlatAggregateSort.class); - @Test - public void testSort(){ - final String aggField1Value1 = "field1value1"; - final String aggField1Value2 = "field1value2"; - final String aggField2Value1 = "field2value1"; - final String aggField2Value2 = "field2value2"; - final Double d1 = new Double(1); - final Double d2 = new Double(2); - final Double d3 = new Double(3); - final Double d4 = new Double(4); - @SuppressWarnings("serial") - Map<List<String>, List<Double>> result = new HashMap<List<String>, List<Double>>(){{ - put(Arrays.asList(aggField1Value1, aggField2Value1), Arrays.asList(d2, d3)); - put(Arrays.asList(aggField1Value2, aggField2Value2), Arrays.asList(d1, d4)); - }}; - - // sort by function1 - SortOption so = new SortOption(); - so.setIndex(0); - so.setAscendant(true); - List<SortOption> sortOptions = Arrays.asList(so); - List<Map.Entry<List<String>, List<Double>>> set = - PostFlatAggregateSort.sort(result, sortOptions, 0); - JsonFactory factory = new JsonFactory(); - ObjectMapper mapper = new ObjectMapper(factory); - Assert.assertEquals(2, set.size()); - Iterator<Map.Entry<List<String>, List<Double>>> it = set.iterator(); - Map.Entry<List<String>, List<Double>> e = it.next(); - Assert.assertTrue(e.getKey().get(0).equals(aggField1Value2)); - Assert.assertTrue(e.getValue().get(0).equals(d1)); - e = it.next(); - Assert.assertTrue(e.getKey().get(0).equals(aggField1Value1)); - Assert.assertTrue(e.getValue().get(0).equals(d2)); - try{ - String value = mapper.writeValueAsString(set); - logger.info(value); - }catch(Exception ex){ - logger.error("fail with mapping", ex); - Assert.fail("fail with mapping"); - } - - - // sort by function2 - so = new SortOption(); - so.setIndex(1); - so.setAscendant(true); - sortOptions = Arrays.asList(so); - set = PostFlatAggregateSort.sort(result, sortOptions, 0); - factory = new JsonFactory(); - mapper = new ObjectMapper(factory); - Assert.assertEquals(2, set.size()); - it = set.iterator(); - e = it.next(); - Assert.assertTrue(e.getKey().get(0).equals(aggField1Value1)); - Assert.assertTrue(e.getValue().get(0).equals(d2)); - e = it.next(); - Assert.assertTrue(e.getKey().get(0).equals(aggField1Value2)); - Assert.assertTrue(e.getValue().get(0).equals(d1)); - try{ - String value = mapper.writeValueAsString(set); - logger.info(value); - }catch(Exception ex){ - logger.error("fail with mapping", ex); - Assert.fail("fail with mapping"); - } - } - - @Test - public void testDefaultSort(){ - final String aggField1Value1 = "xyz"; - final String aggField1Value2 = "xyz"; - final String aggField2Value1 = "abd"; - final String aggField2Value2 = "abc"; - final Double d1 = new Double(1); - final Double d2 = new Double(1); - @SuppressWarnings("serial") - Map<List<String>, List<Double>> result = new HashMap<List<String>, List<Double>>(){{ - put(Arrays.asList(aggField1Value1, aggField2Value1), Arrays.asList(d2)); - put(Arrays.asList(aggField1Value2, aggField2Value2), Arrays.asList(d1)); - }}; - - // sort by function1 - SortOption so = new SortOption(); - so.setIndex(0); - so.setAscendant(true); - List<SortOption> sortOptions = Arrays.asList(so); - List<Map.Entry<List<String>, List<Double>>> set = - PostFlatAggregateSort.sort(result, sortOptions, 0); - JsonFactory factory = new JsonFactory(); - ObjectMapper mapper = new ObjectMapper(factory); - Assert.assertEquals(2, set.size()); - Iterator<Map.Entry<List<String>, List<Double>>> it = set.iterator(); - Map.Entry<List<String>, List<Double>> e = it.next(); - Assert.assertTrue(e.getKey().get(0).equals(aggField1Value2)); - Assert.assertTrue(e.getValue().get(0).equals(d1)); - e = it.next(); - Assert.assertTrue(e.getKey().get(0).equals(aggField1Value1)); - Assert.assertTrue(e.getValue().get(0).equals(d2)); - try{ - String value = mapper.writeValueAsString(set); - logger.info(value); - }catch(Exception ex){ - logger.error("fail with mapping", ex); - Assert.fail("fail with mapping"); - } - } + private static final Logger logger = Logger.getLogger(TestPostFlatAggregateSort.class); + + @Test + public void testSort() { + final String aggField1Value1 = "field1value1"; + final String aggField1Value2 = "field1value2"; + final String aggField2Value1 = "field2value1"; + final String aggField2Value2 = "field2value2"; + final Double d1 = new Double(1); + final Double d2 = new Double(2); + final Double d3 = new Double(3); + final Double d4 = new Double(4); + @SuppressWarnings("serial") + Map<List<String>, List<Double>> result = new HashMap<List<String>, List<Double>>() {{ + put(Arrays.asList(aggField1Value1, aggField2Value1), Arrays.asList(d2, d3)); + put(Arrays.asList(aggField1Value2, aggField2Value2), Arrays.asList(d1, d4)); + }}; + + // sort by function1 + SortOption so = new SortOption(); + so.setIndex(0); + so.setAscendant(true); + List<SortOption> sortOptions = Arrays.asList(so); + List<Map.Entry<List<String>, List<Double>>> set = + PostFlatAggregateSort.sort(result, sortOptions, 0); + JsonFactory factory = new JsonFactory(); + ObjectMapper mapper = new ObjectMapper(factory); + Assert.assertEquals(2, set.size()); + Iterator<Map.Entry<List<String>, List<Double>>> it = set.iterator(); + Map.Entry<List<String>, List<Double>> e = it.next(); + Assert.assertTrue(e.getKey().get(0).equals(aggField1Value2)); + Assert.assertTrue(e.getValue().get(0).equals(d1)); + e = it.next(); + Assert.assertTrue(e.getKey().get(0).equals(aggField1Value1)); + Assert.assertTrue(e.getValue().get(0).equals(d2)); + try { + String value = mapper.writeValueAsString(set); + logger.info(value); + } catch (Exception ex) { + logger.error("fail with mapping", ex); + Assert.fail("fail with mapping"); + } + + + // sort by function2 + so = new SortOption(); + so.setIndex(1); + so.setAscendant(true); + sortOptions = Arrays.asList(so); + set = PostFlatAggregateSort.sort(result, sortOptions, 0); + factory = new JsonFactory(); + mapper = new ObjectMapper(factory); + Assert.assertEquals(2, set.size()); + it = set.iterator(); + e = it.next(); + Assert.assertTrue(e.getKey().get(0).equals(aggField1Value1)); + Assert.assertTrue(e.getValue().get(0).equals(d2)); + e = it.next(); + Assert.assertTrue(e.getKey().get(0).equals(aggField1Value2)); + Assert.assertTrue(e.getValue().get(0).equals(d1)); + try { + String value = mapper.writeValueAsString(set); + logger.info(value); + } catch (Exception ex) { + logger.error("fail with mapping", ex); + Assert.fail("fail with mapping"); + } + } + + @Test + public void testDefaultSort() { + final String aggField1Value1 = "xyz"; + final String aggField1Value2 = "xyz"; + final String aggField2Value1 = "abd"; + final String aggField2Value2 = "abc"; + final Double d1 = new Double(1); + final Double d2 = new Double(1); + @SuppressWarnings("serial") + Map<List<String>, List<Double>> result = new HashMap<List<String>, List<Double>>() {{ + put(Arrays.asList(aggField1Value1, aggField2Value1), Arrays.asList(d2)); + put(Arrays.asList(aggField1Value2, aggField2Value2), Arrays.asList(d1)); + }}; + + // sort by function1 + SortOption so = new SortOption(); + so.setIndex(0); + so.setAscendant(true); + List<SortOption> sortOptions = Arrays.asList(so); + List<Map.Entry<List<String>, List<Double>>> set = + PostFlatAggregateSort.sort(result, sortOptions, 0); + JsonFactory factory = new JsonFactory(); + ObjectMapper mapper = new ObjectMapper(factory); + Assert.assertEquals(2, set.size()); + Iterator<Map.Entry<List<String>, List<Double>>> it = set.iterator(); + Map.Entry<List<String>, List<Double>> e = it.next(); + Assert.assertTrue(e.getKey().get(0).equals(aggField1Value2)); + Assert.assertTrue(e.getValue().get(0).equals(d1)); + e = it.next(); + Assert.assertTrue(e.getKey().get(0).equals(aggField1Value1)); + Assert.assertTrue(e.getValue().get(0).equals(d2)); + try { + String value = mapper.writeValueAsString(set); + logger.info(value); + } catch (Exception ex) { + logger.error("fail with mapping", ex); + Assert.fail("fail with mapping"); + } + } } http://git-wip-us.apache.org/repos/asf/eagle/blob/c970bb42/eagle-core/eagle-query/eagle-query-base/src/test/java/org/apache/eagle/query/aggregate/test/TestTimeSeriesAggregator.java ---------------------------------------------------------------------- diff --git a/eagle-core/eagle-query/eagle-query-base/src/test/java/org/apache/eagle/query/aggregate/test/TestTimeSeriesAggregator.java b/eagle-core/eagle-query/eagle-query-base/src/test/java/org/apache/eagle/query/aggregate/test/TestTimeSeriesAggregator.java index b72bdb7..0ec00d5 100755 --- a/eagle-core/eagle-query/eagle-query-base/src/test/java/org/apache/eagle/query/aggregate/test/TestTimeSeriesAggregator.java +++ b/eagle-core/eagle-query/eagle-query-base/src/test/java/org/apache/eagle/query/aggregate/test/TestTimeSeriesAggregator.java @@ -32,144 +32,145 @@ import org.slf4j.LoggerFactory; import org.apache.eagle.log.entity.test.TestEntity; public class TestTimeSeriesAggregator { - private static final Logger LOG = LoggerFactory.getLogger(TestFlatAggregator.class); - @SuppressWarnings("serial") - private TestEntity createEntity(final String cluster, final String datacenter, final String rack, int numHosts, long numClusters, long timestamp){ - TestEntity entity = new TestEntity(); - Map<String, String> tags = new HashMap<String, String>(){{ - put("cluster", cluster); - put("datacenter", datacenter); - put("rack", rack); - }}; - entity.setTags(tags); - entity.setNumHosts(numHosts); - entity.setNumClusters(numClusters); - entity.setTimestamp(timestamp); - return entity; - } - - @Test - public void testTimeSeriesAggregator(){ - TestEntity[] entities = new TestEntity[8]; - entities[0] = createEntity("cluster1", "dc1", "rack123", 12, 2, 1386120000*1000); // bucket 0 - entities[1] = createEntity("cluster1", "dc1", "rack123", 20, 1, 1386121060*1000); // bucket 17 - entities[2] = createEntity("cluster1", "dc1", "rack128", 10, 0, 1386121070*1000); // bucket 17 - entities[3] = createEntity("cluster2", "dc1", "rack125", 9, 2, 1386122122*1000); // bucket 35 - entities[4] = createEntity("cluster2", "dc1", "rack126", 15, 5, 1386123210*1000); // bucket 53 - entities[5] = createEntity("cluster2", "dc1", "rack234", 25, 1, 1386123480*1000); // bucket 58 - entities[6] = createEntity("cluster2", "dc1", "rack234", 12, 0, 1386123481*1000); // bucket 58 - entities[7] = createEntity("cluster1", "dc1", "rack123", 3, 2, 1386123482*1000); // bucket 58 - - TimeSeriesAggregator tsAgg = new TimeSeriesAggregator(Arrays.asList("cluster"), Arrays.asList(AggregateFunctionType.sum), Arrays.asList("numHosts"), - 1386120000*1000, 1386123600*1000, 60*1000); - try{ - for(TestEntity e : entities){ - tsAgg.accumulate(e); - } - Map<List<String>, List<Double>> result = tsAgg.result(); - Assert.assertEquals(result.size(), 6); - Assert.assertEquals(result.get(Arrays.asList("cluster1", "0")).get(0), (double)(entities[0].getNumHosts()), 0.001); - Assert.assertEquals(result.get(Arrays.asList("cluster1", "17")).get(0), (double)(entities[1].getNumHosts()+entities[2].getNumHosts()), 0.001); - Assert.assertEquals(result.get(Arrays.asList("cluster2", "35")).get(0), (double)(entities[3].getNumHosts()), 0.001); - Assert.assertEquals(result.get(Arrays.asList("cluster2", "53")).get(0), (double)(entities[4].getNumHosts()), 0.001); - Assert.assertEquals(result.get(Arrays.asList("cluster2", "58")).get(0), (double)(entities[5].getNumHosts()+entities[6].getNumHosts()), 0.001); - Assert.assertEquals(result.get(Arrays.asList("cluster1", "58")).get(0), (double)(entities[7].getNumHosts()), 0.001); - - Map<List<String>, List<double[]>> tsResult = tsAgg.getMetric(); - Assert.assertEquals(tsResult.size(), 2); - Assert.assertEquals(tsResult.get(Arrays.asList("cluster1")).get(0).length, 60); - Assert.assertEquals(tsResult.get(Arrays.asList("cluster1")).get(0)[0], (double)(entities[0].getNumHosts()), 0.001); - Assert.assertEquals(tsResult.get(Arrays.asList("cluster1")).get(0)[17], (double)(entities[1].getNumHosts()+entities[2].getNumHosts()), 0.001); - Assert.assertEquals(tsResult.get(Arrays.asList("cluster2")).get(0)[35], (double)(entities[3].getNumHosts()), 0.001); - Assert.assertEquals(tsResult.get(Arrays.asList("cluster2")).get(0)[53], (double)(entities[4].getNumHosts()), 0.001); - Assert.assertEquals(tsResult.get(Arrays.asList("cluster2")).get(0)[58], (double)(entities[5].getNumHosts()+entities[6].getNumHosts()), 0.001); - Assert.assertEquals(tsResult.get(Arrays.asList("cluster1")).get(0)[58], (double)(entities[7].getNumHosts()), 0.001); - }catch(Exception ex){ - LOG.error("Can not aggregate", ex); - Assert.fail("Can not aggregate"); - } - - tsAgg = new TimeSeriesAggregator(new ArrayList<String>(), Arrays.asList(AggregateFunctionType.sum), Arrays.asList("numHosts"), - 1386120000*1000, 1386123600*1000, 60*1000); - try{ - for(TestEntity e : entities){ - tsAgg.accumulate(e); - } - Map<List<String>, List<Double>> result = tsAgg.result(); - Assert.assertEquals(result.size(), 5); - Assert.assertEquals(result.get(Arrays.asList("0")).get(0), (double)(entities[0].getNumHosts()), 0.001); - Assert.assertEquals(result.get(Arrays.asList("17")).get(0), (double)(entities[1].getNumHosts()+entities[2].getNumHosts()), 0.001); - Assert.assertEquals(result.get(Arrays.asList("35")).get(0), (double)(entities[3].getNumHosts()), 0.001); - Assert.assertEquals(result.get(Arrays.asList("53")).get(0), (double)(entities[4].getNumHosts()), 0.001); - Assert.assertEquals(result.get(Arrays.asList("58")).get(0), (double)(entities[5].getNumHosts()+entities[6].getNumHosts()+entities[7].getNumHosts()), 0.001); - - Map<List<String>, List<double[]>> tsResult = tsAgg.getMetric(); - Assert.assertEquals(tsResult.size(), 1); - Assert.assertEquals(tsResult.get(new ArrayList<String>()).get(0).length, 60); - Assert.assertEquals(tsResult.get(new ArrayList<String>()).get(0)[0], (double)(entities[0].getNumHosts()), 0.001); - Assert.assertEquals(tsResult.get(new ArrayList<String>()).get(0)[17], (double)(entities[1].getNumHosts()+entities[2].getNumHosts()), 0.001); - Assert.assertEquals(tsResult.get(new ArrayList<String>()).get(0)[35], (double)(entities[3].getNumHosts()), 0.001); - Assert.assertEquals(tsResult.get(new ArrayList<String>()).get(0)[53], (double)(entities[4].getNumHosts()), 0.001); - Assert.assertEquals(tsResult.get(new ArrayList<String>()).get(0)[58], (double)(entities[5].getNumHosts()+entities[6].getNumHosts()+entities[7].getNumHosts()), 0.001); - }catch(Exception ex){ - LOG.error("Can not aggregate", ex); - Assert.fail("Can not aggregate"); - } - - tsAgg = new TimeSeriesAggregator(Arrays.asList("cluster"), Arrays.asList(AggregateFunctionType.count), Arrays.asList("*"), - 1386120000*1000, 1386123600*1000, 60*1000); - try{ - for(TestEntity e : entities){ - tsAgg.accumulate(e); - } - Map<List<String>, List<Double>> result = tsAgg.result(); - Assert.assertEquals(result.size(), 6); - Assert.assertEquals(result.get(Arrays.asList("cluster1", "0")).get(0), (double)(1), 0.001); - Assert.assertEquals(result.get(Arrays.asList("cluster1", "17")).get(0), (double)(2), 0.001); - Assert.assertEquals(result.get(Arrays.asList("cluster2", "35")).get(0), (double)(1), 0.001); - Assert.assertEquals(result.get(Arrays.asList("cluster2", "53")).get(0), (double)(1), 0.001); - Assert.assertEquals(result.get(Arrays.asList("cluster2", "58")).get(0), (double)(2), 0.001); - Assert.assertEquals(result.get(Arrays.asList("cluster1", "58")).get(0), (double)(1), 0.001); - - Map<List<String>, List<double[]>> tsResult = tsAgg.getMetric(); - Assert.assertEquals(tsResult.size(), 2); - Assert.assertEquals(tsResult.get(Arrays.asList("cluster1")).get(0).length, 60); - Assert.assertEquals(tsResult.get(Arrays.asList("cluster1")).get(0)[0], (double)(1), 0.001); - Assert.assertEquals(tsResult.get(Arrays.asList("cluster1")).get(0)[17], (double)(2), 0.001); - Assert.assertEquals(tsResult.get(Arrays.asList("cluster2")).get(0)[35], (double)(1), 0.001); - Assert.assertEquals(tsResult.get(Arrays.asList("cluster2")).get(0)[53], (double)(1), 0.001); - Assert.assertEquals(tsResult.get(Arrays.asList("cluster2")).get(0)[58], (double)(2), 0.001); - Assert.assertEquals(tsResult.get(Arrays.asList("cluster1")).get(0)[58], (double)(1), 0.001); - }catch(Exception ex){ - LOG.error("Can not aggregate", ex); - Assert.fail("Can not aggregate"); - } - - tsAgg = new TimeSeriesAggregator(new ArrayList<String>(), Arrays.asList(AggregateFunctionType.count), Arrays.asList("*"), - 1386120000*1000, 1386123600*1000, 60*1000); - try{ - for(TestEntity e : entities){ - tsAgg.accumulate(e); - } - Map<List<String>, List<Double>> result = tsAgg.result(); - Assert.assertEquals(result.size(), 5); - Assert.assertEquals(result.get(Arrays.asList("0")).get(0), (double)(1), 0.001); - Assert.assertEquals(result.get(Arrays.asList("17")).get(0), (double)(2), 0.001); - Assert.assertEquals(result.get(Arrays.asList("35")).get(0), (double)(1), 0.001); - Assert.assertEquals(result.get(Arrays.asList("53")).get(0), (double)(1), 0.001); - Assert.assertEquals(result.get(Arrays.asList("58")).get(0), (double)(3), 0.001); - - Map<List<String>, List<double[]>> tsResult = tsAgg.getMetric(); - Assert.assertEquals(tsResult.size(), 1); - Assert.assertEquals(tsResult.get(new ArrayList<String>()).get(0).length, 60); - Assert.assertEquals(tsResult.get(new ArrayList<String>()).get(0)[0], (double)(1), 0.001); - Assert.assertEquals(tsResult.get(new ArrayList<String>()).get(0)[17], (double)(2), 0.001); - Assert.assertEquals(tsResult.get(new ArrayList<String>()).get(0)[35], (double)(1), 0.001); - Assert.assertEquals(tsResult.get(new ArrayList<String>()).get(0)[53], (double)(1), 0.001); - Assert.assertEquals(tsResult.get(new ArrayList<String>()).get(0)[58], (double)(3), 0.001); - }catch(Exception ex){ - LOG.error("Can not aggregate", ex); - Assert.fail("Can not aggregate"); - } - } + private static final Logger LOG = LoggerFactory.getLogger(TestFlatAggregator.class); + + @SuppressWarnings("serial") + private TestEntity createEntity(final String cluster, final String datacenter, final String rack, int numHosts, long numClusters, long timestamp) { + TestEntity entity = new TestEntity(); + Map<String, String> tags = new HashMap<String, String>() {{ + put("cluster", cluster); + put("datacenter", datacenter); + put("rack", rack); + }}; + entity.setTags(tags); + entity.setNumHosts(numHosts); + entity.setNumClusters(numClusters); + entity.setTimestamp(timestamp); + return entity; + } + + @Test + public void testTimeSeriesAggregator() { + TestEntity[] entities = new TestEntity[8]; + entities[0] = createEntity("cluster1", "dc1", "rack123", 12, 2, 1386120000*1000); // bucket 0 + entities[1] = createEntity("cluster1", "dc1", "rack123", 20, 1, 1386121060*1000); // bucket 17 + entities[2] = createEntity("cluster1", "dc1", "rack128", 10, 0, 1386121070*1000); // bucket 17 + entities[3] = createEntity("cluster2", "dc1", "rack125", 9, 2, 1386122122*1000); // bucket 35 + entities[4] = createEntity("cluster2", "dc1", "rack126", 15, 5, 1386123210*1000); // bucket 53 + entities[5] = createEntity("cluster2", "dc1", "rack234", 25, 1, 1386123480*1000); // bucket 58 + entities[6] = createEntity("cluster2", "dc1", "rack234", 12, 0, 1386123481*1000); // bucket 58 + entities[7] = createEntity("cluster1", "dc1", "rack123", 3, 2, 1386123482*1000); // bucket 58 + + TimeSeriesAggregator tsAgg = new TimeSeriesAggregator(Arrays.asList("cluster"), Arrays.asList(AggregateFunctionType.sum), Arrays.asList("numHosts"), + 1386120000*1000, 1386123600*1000, 60*1000); + try { + for (TestEntity e : entities) { + tsAgg.accumulate(e); + } + Map<List<String>, List<Double>> result = tsAgg.result(); + Assert.assertEquals(result.size(), 6); + Assert.assertEquals(result.get(Arrays.asList("cluster1", "0")).get(0), (double)(entities[0].getNumHosts()), 0.001); + Assert.assertEquals(result.get(Arrays.asList("cluster1", "17")).get(0), (double)(entities[1].getNumHosts()+entities[2].getNumHosts()), 0.001); + Assert.assertEquals(result.get(Arrays.asList("cluster2", "35")).get(0), (double)(entities[3].getNumHosts()), 0.001); + Assert.assertEquals(result.get(Arrays.asList("cluster2", "53")).get(0), (double)(entities[4].getNumHosts()), 0.001); + Assert.assertEquals(result.get(Arrays.asList("cluster2", "58")).get(0), (double)(entities[5].getNumHosts()+entities[6].getNumHosts()), 0.001); + Assert.assertEquals(result.get(Arrays.asList("cluster1", "58")).get(0), (double)(entities[7].getNumHosts()), 0.001); + + Map<List<String>, List<double[]>> tsResult = tsAgg.getMetric(); + Assert.assertEquals(tsResult.size(), 2); + Assert.assertEquals(tsResult.get(Arrays.asList("cluster1")).get(0).length, 60); + Assert.assertEquals(tsResult.get(Arrays.asList("cluster1")).get(0)[0], (double)(entities[0].getNumHosts()), 0.001); + Assert.assertEquals(tsResult.get(Arrays.asList("cluster1")).get(0)[17], (double)(entities[1].getNumHosts()+entities[2].getNumHosts()), 0.001); + Assert.assertEquals(tsResult.get(Arrays.asList("cluster2")).get(0)[35], (double)(entities[3].getNumHosts()), 0.001); + Assert.assertEquals(tsResult.get(Arrays.asList("cluster2")).get(0)[53], (double)(entities[4].getNumHosts()), 0.001); + Assert.assertEquals(tsResult.get(Arrays.asList("cluster2")).get(0)[58], (double)(entities[5].getNumHosts()+entities[6].getNumHosts()), 0.001); + Assert.assertEquals(tsResult.get(Arrays.asList("cluster1")).get(0)[58], (double)(entities[7].getNumHosts()), 0.001); + } catch (Exception ex) { + LOG.error("Can not aggregate", ex); + Assert.fail("Can not aggregate"); + } + + tsAgg = new TimeSeriesAggregator(new ArrayList<String>(), Arrays.asList(AggregateFunctionType.sum), Arrays.asList("numHosts"), + 1386120000*1000, 1386123600*1000, 60*1000); + try { + for (TestEntity e : entities) { + tsAgg.accumulate(e); + } + Map<List<String>, List<Double>> result = tsAgg.result(); + Assert.assertEquals(result.size(), 5); + Assert.assertEquals(result.get(Arrays.asList("0")).get(0), (double)(entities[0].getNumHosts()), 0.001); + Assert.assertEquals(result.get(Arrays.asList("17")).get(0), (double)(entities[1].getNumHosts()+entities[2].getNumHosts()), 0.001); + Assert.assertEquals(result.get(Arrays.asList("35")).get(0), (double)(entities[3].getNumHosts()), 0.001); + Assert.assertEquals(result.get(Arrays.asList("53")).get(0), (double)(entities[4].getNumHosts()), 0.001); + Assert.assertEquals(result.get(Arrays.asList("58")).get(0), (double)(entities[5].getNumHosts()+entities[6].getNumHosts()+entities[7].getNumHosts()), 0.001); + + Map<List<String>, List<double[]>> tsResult = tsAgg.getMetric(); + Assert.assertEquals(tsResult.size(), 1); + Assert.assertEquals(tsResult.get(new ArrayList<String>()).get(0).length, 60); + Assert.assertEquals(tsResult.get(new ArrayList<String>()).get(0)[0], (double)(entities[0].getNumHosts()), 0.001); + Assert.assertEquals(tsResult.get(new ArrayList<String>()).get(0)[17], (double)(entities[1].getNumHosts()+entities[2].getNumHosts()), 0.001); + Assert.assertEquals(tsResult.get(new ArrayList<String>()).get(0)[35], (double)(entities[3].getNumHosts()), 0.001); + Assert.assertEquals(tsResult.get(new ArrayList<String>()).get(0)[53], (double)(entities[4].getNumHosts()), 0.001); + Assert.assertEquals(tsResult.get(new ArrayList<String>()).get(0)[58], (double)(entities[5].getNumHosts()+entities[6].getNumHosts()+entities[7].getNumHosts()), 0.001); + } catch (Exception ex) { + LOG.error("Can not aggregate", ex); + Assert.fail("Can not aggregate"); + } + + tsAgg = new TimeSeriesAggregator(Arrays.asList("cluster"), Arrays.asList(AggregateFunctionType.count), Arrays.asList("*"), + 1386120000*1000, 1386123600*1000, 60*1000); + try { + for (TestEntity e : entities) { + tsAgg.accumulate(e); + } + Map<List<String>, List<Double>> result = tsAgg.result(); + Assert.assertEquals(result.size(), 6); + Assert.assertEquals(result.get(Arrays.asList("cluster1", "0")).get(0), (double)(1), 0.001); + Assert.assertEquals(result.get(Arrays.asList("cluster1", "17")).get(0), (double)(2), 0.001); + Assert.assertEquals(result.get(Arrays.asList("cluster2", "35")).get(0), (double)(1), 0.001); + Assert.assertEquals(result.get(Arrays.asList("cluster2", "53")).get(0), (double)(1), 0.001); + Assert.assertEquals(result.get(Arrays.asList("cluster2", "58")).get(0), (double)(2), 0.001); + Assert.assertEquals(result.get(Arrays.asList("cluster1", "58")).get(0), (double)(1), 0.001); + + Map<List<String>, List<double[]>> tsResult = tsAgg.getMetric(); + Assert.assertEquals(tsResult.size(), 2); + Assert.assertEquals(tsResult.get(Arrays.asList("cluster1")).get(0).length, 60); + Assert.assertEquals(tsResult.get(Arrays.asList("cluster1")).get(0)[0], (double)(1), 0.001); + Assert.assertEquals(tsResult.get(Arrays.asList("cluster1")).get(0)[17], (double)(2), 0.001); + Assert.assertEquals(tsResult.get(Arrays.asList("cluster2")).get(0)[35], (double)(1), 0.001); + Assert.assertEquals(tsResult.get(Arrays.asList("cluster2")).get(0)[53], (double)(1), 0.001); + Assert.assertEquals(tsResult.get(Arrays.asList("cluster2")).get(0)[58], (double)(2), 0.001); + Assert.assertEquals(tsResult.get(Arrays.asList("cluster1")).get(0)[58], (double)(1), 0.001); + } catch (Exception ex) { + LOG.error("Can not aggregate", ex); + Assert.fail("Can not aggregate"); + } + + tsAgg = new TimeSeriesAggregator(new ArrayList<String>(), Arrays.asList(AggregateFunctionType.count), Arrays.asList("*"), + 1386120000*1000, 1386123600*1000, 60*1000); + try { + for (TestEntity e : entities) { + tsAgg.accumulate(e); + } + Map<List<String>, List<Double>> result = tsAgg.result(); + Assert.assertEquals(result.size(), 5); + Assert.assertEquals(result.get(Arrays.asList("0")).get(0), (double)(1), 0.001); + Assert.assertEquals(result.get(Arrays.asList("17")).get(0), (double)(2), 0.001); + Assert.assertEquals(result.get(Arrays.asList("35")).get(0), (double)(1), 0.001); + Assert.assertEquals(result.get(Arrays.asList("53")).get(0), (double)(1), 0.001); + Assert.assertEquals(result.get(Arrays.asList("58")).get(0), (double)(3), 0.001); + + Map<List<String>, List<double[]>> tsResult = tsAgg.getMetric(); + Assert.assertEquals(tsResult.size(), 1); + Assert.assertEquals(tsResult.get(new ArrayList<String>()).get(0).length, 60); + Assert.assertEquals(tsResult.get(new ArrayList<String>()).get(0)[0], (double)(1), 0.001); + Assert.assertEquals(tsResult.get(new ArrayList<String>()).get(0)[17], (double)(2), 0.001); + Assert.assertEquals(tsResult.get(new ArrayList<String>()).get(0)[35], (double)(1), 0.001); + Assert.assertEquals(tsResult.get(new ArrayList<String>()).get(0)[53], (double)(1), 0.001); + Assert.assertEquals(tsResult.get(new ArrayList<String>()).get(0)[58], (double)(3), 0.001); + } catch (Exception ex) { + LOG.error("Can not aggregate", ex); + Assert.fail("Can not aggregate"); + } + } } http://git-wip-us.apache.org/repos/asf/eagle/blob/c970bb42/eagle-dev/checkstyle-suppressions.xml ---------------------------------------------------------------------- diff --git a/eagle-dev/checkstyle-suppressions.xml b/eagle-dev/checkstyle-suppressions.xml index 74b63c5..81431ba 100644 --- a/eagle-dev/checkstyle-suppressions.xml +++ b/eagle-dev/checkstyle-suppressions.xml @@ -20,4 +20,6 @@ <!-- Suppresses files in the src/main folder. To be used for rules which only apply to test code. --> <suppress files="[\\/]src[\\/]main[\\/].*" id="TestScope"/> + + <suppress checks="Javadoc" files="."/> </suppressions>
