public MetricsTestConfig() { try { port = ComponentTestUtils.findFreePort(); } catch (IOException e) { throw new RuntimeException("Couldn't allocate port", e); } CodahaleMetricsEngine metricsEngine = new CodahaleMetricsEngine() .addReporter(new DefaultSLF4jReporterFactory()) .addReporter(new RiposteGraphiteReporterFactory("test.metrics.stuff", "doesnotexist.nikecloud.com", 2003)) .reportJvmMetrics() .start(); metricsListener = new CodahaleMetricsListener(metricsEngine.getMetricsCollector()); metricsListener.initEndpointAndServerConfigMetrics(this); }
@Test public void testStartup() { SimpleTestReporter str = new SimpleTestReporter(); WeirdScheduledTestReporter wschtr = new WeirdScheduledTestReporter(); ScheduledTestReporter schtr = new ScheduledTestReporter(); BrokenReporter br = new BrokenReporter(); CodahaleMetricsEngine engine = new CodahaleMetricsEngine().addReporter(wschtr).addReporter(schtr).reportJvmMetrics().start(); assertTrue(wschtr.started()); assertTrue(schtr.started()); assertFalse(wschtr.stopped()); assertFalse(schtr.stopped()); engine.addReporter(str); assertTrue(str.started()); assertFalse(engine.startReporter(br)); assertFalse(engine.stopReporter(br)); engine.stop(); assertTrue(str.stopped()); assertTrue(schtr.stopped()); assertTrue(wschtr.stopped()); }