public static MetricsConfig getMetricsConfig() { val builder = MetricsConfig.builder(); for (Map.Entry<String, ConfigValue> e : CONFIG.entrySet()) { if (e.getKey().startsWith(METRIC_PATH)) { builder.with(Property.named(e.getKey().replaceFirst(METRIC_PATH, "")), e.getValue().unwrapped()); } } return builder.build(); } }
public void start() { init(); log.info("Metrics prefix: {}", conf.getMetricsPrefix()); if (conf.isEnableCSVReporter()) { if (!Strings.isNullOrEmpty(conf.getMetricsPrefix())) { outdir = new File(conf.getCsvEndpoint(), conf.getMetricsPrefix()); } else { outdir = new File(conf.getCsvEndpoint()); if (conf.isEnableStatsdReporter()) { log.info("Configuring stats with statsD at {}:{}", conf.getStatsDHost(), conf.getStatsDPort()); reporters.add(StatsDReporter.forRegistry(getMetrics()) .prefixedWith(conf.getMetricsPrefix()) .build(conf.getStatsDHost(), conf.getStatsDPort())); if (conf.isEnableGraphiteReporter()) { log.info("Configuring stats with graphite at {}:{}", conf.getGraphiteHost(), conf.getGraphitePort()); final Graphite graphite = new Graphite(new InetSocketAddress(conf.getGraphiteHost(), conf.getGraphitePort())); reporters.add(GraphiteReporter.forRegistry(getMetrics()) .prefixedWith(conf.getMetricsPrefix()) .convertRatesTo(TimeUnit.SECONDS) .convertDurationsTo(TimeUnit.MILLISECONDS) if (conf.isEnableJMXReporter()) { log.info("Configuring stats with jmx {}", conf.getJmxDomain()); final JmxReporter jmx = JmxReporter.forRegistry(getMetrics()) .inDomain(conf.getJmxDomain())
this.metrics = metrics; this.underlying = statsLogger; this.cacheSize = metricsConfig.getDynamicCacheSize(); this.cacheEvictionDuration = metricsConfig.getDynamicCacheEvictionDurationMinutes().toMillis();
@Before public void setUp() throws Exception { MetricsConfig metricsConfig = MetricsConfig.builder() .with(MetricsConfig.ENABLE_CSV_REPORTER, false) .with(MetricsConfig.ENABLE_STATSD_REPORTER, false) .build(); metricsConfig.setDynamicCacheEvictionDuration(Duration.ofMinutes(5)); MetricsProvider.initialize(metricsConfig); statsProvider = MetricsProvider.getMetricsProvider(); statsProvider.start(); log.info("Metrics Stats provider is started"); executor = Executors.newSingleThreadScheduledExecutor(); zkTestServer = new TestingServerStarter().start(); serviceBuilder = ServiceBuilder.newInMemoryBuilder(ServiceBuilderConfig.getDefaultConfig()); serviceBuilder.initialize(); StreamSegmentStore store = serviceBuilder.createStreamSegmentService(); server = new PravegaConnectionListener(false, servicePort, store, mock(TableStore.class)); server.startListening(); controllerWrapper = new ControllerWrapper(zkTestServer.getConnectString(), false, controllerPort, serviceHost, servicePort, containerCount); controllerWrapper.awaitRunning(); }
@Before public void setup() throws Exception { final int controllerPort = TestUtils.getAvailableListenPort(); final String serviceHost = "localhost"; final int servicePort = TestUtils.getAvailableListenPort(); final int containerCount = 4; // 1. Start ZK this.zkTestServer = new TestingServerStarter().start(); // 2. Start Pravega SegmentStore service. ServiceBuilder serviceBuilder = ServiceBuilder.newInMemoryBuilder(ServiceBuilderConfig.getDefaultConfig()); serviceBuilder.initialize(); StreamSegmentStore store = serviceBuilder.createStreamSegmentService(); this.server = new PravegaConnectionListener(false, servicePort, store, mock(TableStore.class)); this.server.startListening(); // 3. Start Pravega Controller service this.controllerWrapper = new ControllerWrapper(zkTestServer.getConnectString(), false, controllerPort, serviceHost, servicePort, containerCount); this.controllerWrapper.awaitRunning(); this.controller = controllerWrapper.getController(); // 4. Start Metrics service log.info("Initializing metrics provider ..."); MetricsConfig metricsConfig = MetricsConfig.builder() .with(MetricsConfig.ENABLE_CSV_REPORTER, false).with(MetricsConfig.ENABLE_STATSD_REPORTER, false) .build(); metricsConfig.setDynamicCacheEvictionDuration(Duration.ofSeconds(5)); MetricsProvider.initialize(metricsConfig); statsProvider = MetricsProvider.getMetricsProvider(); statsProvider.start(); log.info("Metrics Stats provider is started"); }
@Before public void setUp() throws Exception { this.baseDir = Files.createTempDirectory("test_nfs").toFile().getAbsoluteFile(); MetricsConfig metricsConfig = MetricsConfig.builder().with(MetricsConfig.ENABLE_STATISTICS, true).build(); MetricsProvider.initialize(metricsConfig); this.adapterConfig = FileSystemStorageConfig .builder() .with(FileSystemStorageConfig.ROOT, this.baseDir.getAbsolutePath()) .build(); }
@Before public void setUp() { MetricsProvider.initialize(MetricsConfig.builder() .with(MetricsConfig.ENABLE_STATISTICS, true) .build()); }
.with(BookKeeperConfig.BK_ENSEMBLE_SIZE, bkWriteQuorum)); if (testConfig.isMetricsEnabled()) { b.include(MetricsConfig.builder() .with(MetricsConfig.ENABLE_STATISTICS, true) .with(MetricsConfig.ENABLE_CSV_REPORTER, true)
/** * Test that we can transition from stats enabled, to disabled, to enabled. */ @Test public void testMultipleInitialization() { MetricsConfig config = MetricsConfig.builder() .with(MetricsConfig.ENABLE_STATISTICS, false) .build(); MetricsProvider.initialize(config); statsLogger.createCounter("counterDisabled"); assertEquals(null, MetricRegistryUtils.getCounter("counterDisabled")); config = MetricsConfig.builder() .with(MetricsConfig.ENABLE_STATISTICS, true) .build(); MetricsProvider.initialize(config); statsLogger.createCounter("counterEnabled"); Assert.assertNotNull( MetricRegistryUtils.getCounter("pravega.testStatsLogger.counterEnabled")); }
/** * Test transition back to null provider. */ @Test public void testTransitionBackToNullProvider() { MetricsConfig config = MetricsConfig.builder() .with(MetricsConfig.ENABLE_STATISTICS, false) .build(); MetricsProvider.initialize(config); Counter counter = statsLogger.createCounter("continuity-counter"); counter.add(1L); assertEquals(0L, counter.get()); config = MetricsConfig.builder() .with(MetricsConfig.ENABLE_STATISTICS, true) .build(); MetricsProvider.initialize(config); counter.add(1L); assertEquals(1L, counter.get()); } }
/** * Test that we can transition from stats enabled, to disabled, to enabled. */ @Test public void testContinuity() { statsLogger.createCounter("continuity-counter"); Assert.assertNotNull("Not registered before disabling.", MetricRegistryUtils.getCounter("pravega.testStatsLogger.continuity-counter")); MetricsConfig disableConfig = MetricsConfig.builder() .with(MetricsConfig.ENABLE_STATISTICS, false) .build(); MetricsProvider.initialize(disableConfig); Assert.assertNull("Still registered after disabling.", MetricRegistryUtils.getCounter("pravega.testStatsLogger.continuity-counter")); MetricsConfig enableConfig = MetricsConfig.builder() .with(MetricsConfig.ENABLE_STATISTICS, true) .build(); MetricsProvider.initialize(enableConfig); Assert.assertNotNull("Not registered after re-enabling.", MetricRegistryUtils.getCounter("pravega.testStatsLogger.continuity-counter")); }
.with(AutoScalerConfig.TLS_ENABLED, this.enableTls) .with(AutoScalerConfig.TLS_CERT_FILE, this.certFile)) .include(MetricsConfig.builder() .with(MetricsConfig.ENABLE_STATISTICS, enableMetrics));