public boolean enableStatsd() { boolean failures = false; if (statsd == null) { log.debug("Asked to enable statsd, but it was not configured"); return false; } for (StatsDReporterConfig statsdConfig : statsd) { if (!statsdConfig.enable()) { failures = true; } } return !failures; }
private static StatsDReporterConfig buildConfig(List<HostPort> hosts, String timeUnit) { StatsDReporterConfig reporter = new StatsDReporterConfig(); reporter.setHosts(hosts); reporter.setRateunit(testRateunit.toString()); reporter.setDurationunit(testDurationunit.toString()); reporter.setPrefix(testPrefix); reporter.setPredicate(testPredicate); reporter.setPeriod(testPeriod); reporter.setTimeunit(timeUnit); return reporter; } }
@Override public boolean enable() if (!setup(REPORTER_CLASS)) for (HostPort hostPort : getFullHostList()) StatsDReporter reporter = new StatsDReporter( Metrics.defaultRegistry(), getResolvedPrefix(), MetricPredicateTransformer.generatePredicate(getPredicate()), Clock.defaultClock(), new StatsDConstructorHack(hostPort.getHost(), hostPort.getPort())); reporter.start(getPeriod(), getRealTimeunit()); reporters.add(reporter);
@Test public void startOneHost() { StatsDReporterConfig config = buildConfig( Arrays.asList(testHostPort1), testTimeunit.toString()); assertTrue(config.enable()); config.stopForTests(); }
@Test public void startEmptyHosts() { StatsDReporterConfig config = new StatsDReporterConfig(); assertFalse(config.enable()); config.stopForTests(); }
@Test public void startOneHostBadField() { StatsDReporterConfig config = buildConfig( Arrays.asList(testHostPort1), testBadTimeunit); assertFalse(config.enable()); config.stopForTests(); }
@Test public void startManyHosts() { StatsDReporterConfig config = buildConfig( Arrays.asList(testHostPort1, testHostPort2), testTimeunit.toString()); assertTrue(config.enable()); config.stopForTests(); }
@Test public void startManyHostsBadField() { StatsDReporterConfig config = buildConfig( Arrays.asList(testHostPort1, testHostPort2), testBadTimeunit); assertFalse(config.enable()); config.stopForTests(); }