@Test public void empty() { PredicateConfig pc = new PredicateConfig("white", new ArrayList()); assertFalse(pc.allowString("foo")); pc = new PredicateConfig("black", new ArrayList()); assertTrue(pc.allowString("foo")); }
@Test public void emptyMeasurement() { PredicateConfig pc = new PredicateConfig("white", new ArrayList()); MetricPredicateTransformer.PredicateConfigMetricPredicate pred = (MetricPredicateTransformer.PredicateConfigMetricPredicate) MetricPredicateTransformer.generatePredicate(pc); assertTrue(pred.matches(null,null,null)); pc = new PredicateConfig("black", new ArrayList()); pred = (MetricPredicateTransformer.PredicateConfigMetricPredicate) MetricPredicateTransformer.generatePredicate(pc); assertTrue(pred.matches(null,null,null)); }
@Test public void qualifiedNameMeasurement() { PredicateConfig pc = new PredicateConfig("white", new ArrayList()); MetricPredicateTransformer.PredicateConfigMetricPredicate pred = (MetricPredicateTransformer.PredicateConfigMetricPredicate) MetricPredicateTransformer.generatePredicate(pc); Measurement type = new Measurement("white", true); MeasurementPattern pattern = new MeasurementPattern( "^com.addthis.metrics.reporter.config.PredicateConfigTest.+", "min"); List<MeasurementPattern> patternList = new ArrayList<MeasurementPattern>(); patternList.add(pattern); MetricName name1 = new MetricName(PredicateConfigTest.class, "name", "scope"); assertTrue(pred.allowMeasurement(name1, "min", type, patternList)); MetricName name2 = new MetricName(PredicateConfig.class, "name", "scope"); assertFalse(pred.allowMeasurement(name2, "min", type, patternList)); }
@Test public void singleWhite() { PredicateConfig pc = new PredicateConfig("white", ImmutableList.of("^good.+")); assertFalse(pc.allowString("foo")); assertFalse(pc.allowString("foogood")); assertTrue(pc.allowString("goodFoo")); }
@Test public void singleBlack() { PredicateConfig pc = new PredicateConfig("black", ImmutableList.of("^bad.+")); assertTrue(pc.allowString("foo")); assertTrue(pc.allowString("foobad")); assertFalse(pc.allowString("badFoo")); }
@Test public void multiBlack() { PredicateConfig pc = new PredicateConfig("black", ImmutableList.of("^bad.+", ".*bad$")); assertTrue(pc.allowString("foo")); assertTrue(pc.allowString("foobadfoo")); assertFalse(pc.allowString("badFoo")); assertFalse(pc.allowString("foobad")); }
@Test public void jmxRegex() { PredicateConfig pc = new PredicateConfig("black", ImmutableList.of(".*JMXONLY$")); assertTrue(pc.allowString("foo")); assertTrue(pc.allowString("foobad")); assertTrue(pc.allowString("badFoo")); assertTrue(pc.allowString("com.example.foo.CoolMetric")); assertFalse(pc.allowString("com.example.foo.CoolMetric_JMXONLY")); }
@Test public void cassWhite() { PredicateConfig pc = new PredicateConfig("white", ImmutableList.of("^org.apache.cassandra.metrics.ColumnFamily.system.*", "^org.apache.cassandra.metrics.Cache.*"), true); assertFalse(pc.allowString("foo")); assertFalse(pc.allowString("org.apache.cassandra.metrics.StuffIMadeUp")); assertFalse(pc.allowString("org.apache.cassandra.metrics.ColumnFamily.Keyspace1.Counter3.LiveSSTableCount")); assertTrue(pc.allowString("org.apache.cassandra.metrics.Cache.KeyCache.Size")); assertTrue(pc.allowString("org.apache.cassandra.metrics.ColumnFamily.system.NodeIdInfo.MeanRowSize")); }
@Test public void multiWhite() { PredicateConfig pc = new PredicateConfig("white", ImmutableList.of("^good.+", ".*good$")); assertFalse(pc.allowString("foo")); assertFalse(pc.allowString("foobadfoo")); assertFalse(pc.allowString("foogoodfoo")); assertTrue(pc.allowString("goodFoo")); assertTrue(pc.allowString("foogood")); assertTrue(pc.allowString("goodfoogood")); }
@Test public void cassSampleDefault() { PredicateConfig pc = new PredicateConfig("white", ImmutableList.of("^org.apache.cassandra.metrics.Cache.+", "^org.apache.cassandra.metrics.ClientRequest.+",// includes ClientRequestMetrics "^org.apache.cassandra.metrics.CommitLog.+", "^org.apache.cassandra.metrics.Compaction.+", "^org.apache.cassandra.metrics.DroppedMetrics.+", "^org.apache.cassandra.metrics.ReadRepair.+", "^org.apache.cassandra.metrics.Storage.+", "^org.apache.cassandra.metrics.ThradPools.+"), true); assertFalse(pc.allowString("foo")); assertFalse(pc.allowString("org.apache.cassandra.metrics.StuffIMadeUp")); assertFalse(pc.allowString("org.apache.cassandra.metrics.ColumnFamily.Keyspace1.Counter3.LiveSSTableCount")); assertTrue(pc.allowString("org.apache.cassandra.metrics.Cache.KeyCache.Size")); assertFalse(pc.allowString("org.apache.cassandra.metrics.ColumnFamily.system.NodeIdInfo.MeanRowSize")); }