@Override public boolean matches(String name, Metric metric) { log.trace("Checking Metric name: {} {}", new Object[] {name, unqualifyMetricName(name)}); if (predicate.getUseQualifiedName()) { return predicate.allowString(name); } else { return predicate.allowString(unqualifyMetricName(name)); } }
@Override public boolean matches(MetricName name, Metric metric) { log.trace("Checking Metric name: {} {}", new Object[] {name.getName(), qualifyMetricName(name)}); if (useQualifiedName) { return allowString(qualifyMetricName(name)); } else { return allowString(name.getName()); } }
@Override public boolean matches(MetricName name, Metric metric) { log.trace("Checking Metric name: {} {}", new Object[] {name.getName(), qualifyMetricName(name)}); if (predicate.getUseQualifiedName()) { return predicate.allowString(qualifyMetricName(name)); } else { return predicate.allowString(name.getName()); } }
@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 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 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 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 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 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 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")); }