/** * Look up a metric from both the registered set and the lighter weight * stream entries. * @param name metric name * @return the metric or null */ public MutableMetric lookupMetric(String name) { MutableMetric metric = getRegistry().get(name); return metric; }
/** * Test various factory methods */ @Test public void testNewMetrics() { final MetricsRegistry r = new MetricsRegistry("test"); r.newCounter("c1", "c1 desc", 1); r.newCounter("c2", "c2 desc", 2L); r.newGauge("g1", "g1 desc", 3); r.newGauge("g2", "g2 desc", 4L); r.newStat("s1", "s1 desc", "ops", "time"); assertEquals("num metrics in registry", 5, r.metrics().size()); assertTrue("c1 found", r.get("c1") instanceof MutableCounterInt); assertTrue("c2 found", r.get("c2") instanceof MutableCounterLong); assertTrue("g1 found", r.get("g1") instanceof MutableGaugeInt); assertTrue("g2 found", r.get("g2") instanceof MutableGaugeLong); assertTrue("s1 found", r.get("s1") instanceof MutableStat); expectMetricsException("Metric name c1 already exists", new Runnable() { @Override public void run() { r.newCounter("c1", "test dup", 0); } }); }
/** * Test various factory methods */ @Test public void testNewMetrics() { final MetricsRegistry r = new MetricsRegistry("test"); r.newCounter("c1", "c1 desc", 1); r.newCounter("c2", "c2 desc", 2L); r.newGauge("g1", "g1 desc", 3); r.newGauge("g2", "g2 desc", 4L); r.newStat("s1", "s1 desc", "ops", "time"); assertEquals("num metrics in registry", 5, r.metrics().size()); assertTrue("c1 found", r.get("c1") instanceof MutableCounterInt); assertTrue("c2 found", r.get("c2") instanceof MutableCounterLong); assertTrue("g1 found", r.get("g1") instanceof MutableGaugeInt); assertTrue("g2 found", r.get("g2") instanceof MutableGaugeLong); assertTrue("s1 found", r.get("s1") instanceof MutableStat); expectMetricsException("Metric name c1 already exists", new Runnable() { @Override public void run() { r.newCounter("c1", "test dup", 0); } }); }
MutableStat s2 = (MutableStat) registry.get("s2");
MutableStat s2 = (MutableStat) registry.get("s2");
/** * Test the add by name method */ @Test public void testAddByName() { MetricsRecordBuilder rb = mockMetricsRecordBuilder(); final MetricsRegistry r = new MetricsRegistry("test"); r.add("s1", 42); r.get("s1").snapshot(rb); verify(rb).addCounter(info("S1NumOps", "Number of ops for s1"), 1L); verify(rb).addGauge(info("S1AvgTime", "Average time for s1"), 42.0); r.newCounter("c1", "test add", 1); r.newGauge("g1", "test add", 1); expectMetricsException("Unsupported add", new Runnable() { @Override public void run() { r.add("c1", 42); } }); expectMetricsException("Unsupported add", new Runnable() { @Override public void run() { r.add("g1", 42); } }); }
/** * Test the add by name method */ @Test public void testAddByName() { MetricsRecordBuilder rb = mockMetricsRecordBuilder(); final MetricsRegistry r = new MetricsRegistry("test"); r.add("s1", 42); r.get("s1").snapshot(rb); verify(rb).addCounter(info("S1NumOps", "Number of ops for s1"), 1L); verify(rb).addGauge(info("S1AvgTime", "Average time for s1"), 42.0); r.newCounter("c1", "test add", 1); r.newGauge("g1", "test add", 1); expectMetricsException("Unsupported add", new Runnable() { @Override public void run() { r.add("c1", 42); } }); expectMetricsException("Unsupported add", new Runnable() { @Override public void run() { r.add("g1", 42); } }); }