/** * Test counter registered and worked well with StatsLogger. */ @Test public void testCounter() { Counter testCounter = statsLogger.createCounter("testCounter"); testCounter.add(17); assertEquals(17, testCounter.get()); // test dynamic counter int sum = 0; for (int i = 1; i < 10; i++) { sum += i; dynamicLogger.incCounterValue("dynamicCounter", i); assertEquals(sum, MetricRegistryUtils.getCounter("pravega.dynamicCounter.Counter").getCount()); } dynamicLogger.freezeCounter("dynamicCounter"); assertEquals(null, MetricRegistryUtils.getCounter("pravega.dynamicCounter.Counter")); }
/** * 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")); }
/** * 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")); }
long initialCount = MetricRegistryUtils.getCounter("pravega.segmentstore.segment.read_bytes." + scope + "." + STREAM_NAME + ".0.#epoch.0.Counter").getCount(); Assert.assertEquals(bytesWritten, initialCount); long countAfterCacheEvicted = MetricRegistryUtils.getCounter("pravega.segmentstore.segment.read_bytes." + scope + "." + STREAM_NAME + ".0.#epoch.0.Counter").getCount(); long countFromSecondSegment = MetricRegistryUtils.getCounter("pravega.segmentstore.segment.read_bytes." + scope + "." + STREAM_NAME + ".1.#epoch.1.Counter").getCount();
Counter createdStreamsCounter = MetricRegistryUtils.getCounter(getCounterMetricName(CREATE_STREAM)); Assert.assertTrue(i <= createdStreamsCounter.getCount()); groupManager.createReaderGroup(iterationReaderGroupName, ReaderGroupConfig.builder().disableAutomaticCheckpoints() Counter updatedStreamsCounter = MetricRegistryUtils.getCounter(getCounterMetricName(globalMetricName(UPDATE_STREAM))); Counter streamUpdatesCounter = MetricRegistryUtils.getCounter( getCounterMetricName(nameFromStream(UPDATE_STREAM, scope, iterationStreamName))); Assert.assertTrue(iterations * i + j <= updatedStreamsCounter.getCount()); Counter streamTruncationCounter = MetricRegistryUtils.getCounter(getCounterMetricName(globalMetricName(UPDATE_STREAM))); Counter perStreamTruncationCounter = MetricRegistryUtils.getCounter( getCounterMetricName(nameFromStream(UPDATE_STREAM, scope, iterationStreamName))); Assert.assertTrue(iterations * i + j <= streamTruncationCounter.getCount()); Counter streamSealCounter = MetricRegistryUtils.getCounter(getCounterMetricName(SEAL_STREAM)); Assert.assertTrue(i + 1 <= streamSealCounter.getCount()); streamManager.deleteStream(scope, iterationStreamName); Counter streamDeleteCounter = MetricRegistryUtils.getCounter(getCounterMetricName(DELETE_STREAM)); Assert.assertTrue(i + 1 <= streamDeleteCounter.getCount());