Package org.infinispan.stats.container

Examples of org.infinispan.stats.container.ConcurrentGlobalContainer


      for (int i = 0; i < NUM_NODES; ++i) {
         lockManagers[i] = extractLockManager(cache(i));
         ExtendedStatisticInterceptor interceptor = extendedStatisticInterceptors[i];
         CacheStatisticManager manager = (CacheStatisticManager) extractField(interceptor, "cacheStatisticManager");
         CacheStatisticCollector collector = (CacheStatisticCollector) extractField(manager, "cacheStatisticCollector");
         ConcurrentGlobalContainer globalContainer = (ConcurrentGlobalContainer) extractField(collector, "globalContainer");
         replaceField(TEST_TIME_SERVICE, "timeService", manager, CacheStatisticManager.class);
         replaceField(TEST_TIME_SERVICE, "timeService", collector, CacheStatisticCollector.class);
         replaceField(TEST_TIME_SERVICE, "timeService", globalContainer, ConcurrentGlobalContainer.class);
         replaceField(TEST_TIME_SERVICE, "timeService", interceptor, ExtendedStatisticInterceptor.class);
         replaceField(TEST_TIME_SERVICE, "timeService", lockManagers[i], ExtendedStatisticLockManager.class);
View Full Code Here


      waitForClusterToForm();
      for (int i = 0; i < NUM_NODES; ++i) {
         ExtendedStatisticInterceptor interceptor = extendedStatisticInterceptors[i];
         CacheStatisticManager manager = (CacheStatisticManager) extractField(interceptor, "cacheStatisticManager");
         CacheStatisticCollector collector = (CacheStatisticCollector) extractField(manager, "cacheStatisticCollector");
         ConcurrentGlobalContainer globalContainer = (ConcurrentGlobalContainer) extractField(collector, "globalContainer");
         ExtendedStatisticRpcManager rpcManager = (ExtendedStatisticRpcManager) extractComponent(cache(i), RpcManager.class);
         ExtendedStatisticLockManager lockManager = (ExtendedStatisticLockManager) extractLockManager(cache(i));
         lockManagers[i] = lockManager;
         replaceField(TEST_TIME_SERVICE, "timeService", manager, CacheStatisticManager.class);
         replaceField(TEST_TIME_SERVICE, "timeService", collector, CacheStatisticCollector.class);
View Full Code Here

      waitForClusterToForm();
      for (int i = 0; i < NUM_NODES; ++i) {
         ExtendedStatisticInterceptor interceptor = extendedStatisticInterceptors[i];
         CacheStatisticManager manager = (CacheStatisticManager) extractField(interceptor, "cacheStatisticManager");
         CacheStatisticCollector collector = (CacheStatisticCollector) extractField(manager, "cacheStatisticCollector");
         ConcurrentGlobalContainer globalContainer = (ConcurrentGlobalContainer) extractField(collector, "globalContainer");
         ExtendedStatisticRpcManager rpcManager = (ExtendedStatisticRpcManager) extractComponent(cache(i), RpcManager.class);
         ExtendedStatisticLockManager lockManager = (ExtendedStatisticLockManager) extractLockManager(cache(i));
         lockManagers[i] = lockManager;
         replaceField(TEST_TIME_SERVICE, "timeService", manager, CacheStatisticManager.class);
         replaceField(TEST_TIME_SERVICE, "timeService", collector, CacheStatisticCollector.class);
View Full Code Here

   private final ConcurrentGlobalContainer globalContainer;
   private volatile EnumMap<PercentileStatistic, ReservoirSampler> percentiles;

   public CacheStatisticCollector(TimeService timeService) {
      this.timeService = timeService;
      this.globalContainer = new ConcurrentGlobalContainer(timeService);
      reset();
   }
View Full Code Here

public class ConcurrentContainerTest {

   private static final TimeService TIME_SERVICE = new DefaultTimeService();

   public void testIsolationWithTransactionMerge() {
      final ConcurrentGlobalContainer globalContainer = new ConcurrentGlobalContainer(TIME_SERVICE);
      final List<StatisticsSnapshot> snapshots = new ArrayList<StatisticsSnapshot>(4);

      snapshots.add(globalContainer.getSnapshot());
      int localIndex;
      int remoteIndex;

      LocalTransactionStatistics localTransactionStatistics = new LocalTransactionStatistics(false, TIME_SERVICE);

      localIndex = 0;
      for (ExtendedStatistic stats : ExtendedStatistic.values()) {
         if (stats.isLocal()) {
            localTransactionStatistics.addValue(stats, localIndex++);
         }
      }

      localTransactionStatistics.flushTo(globalContainer);

      snapshots.add(globalContainer.getSnapshot());

      localIndex = 0;
      for (ExtendedStatistic stats : ExtendedStatistic.values()) {
         if (stats.isLocal()) {
            assertSnapshotValues(snapshots, Arrays.<Double>asList(0D, (double) localIndex), stats, true);
            localIndex++;
         }
         if (stats.isRemote()) {
            assertSnapshotValues(snapshots, Arrays.<Double>asList(0D, 0D), stats, false);
         }
      }

      RemoteTransactionStatistics remoteTransactionStatistics = new RemoteTransactionStatistics(TIME_SERVICE);

      remoteIndex = 0;
      for (ExtendedStatistic stats : ExtendedStatistic.values()) {
         if (stats.isRemote()) {
            remoteTransactionStatistics.addValue(stats, remoteIndex++);
         }
      }

      remoteTransactionStatistics.flushTo(globalContainer);

      snapshots.add(globalContainer.getSnapshot());

      localIndex = 0;
      remoteIndex = 0;
      for (ExtendedStatistic stats : ExtendedStatistic.values()) {
         if (stats.isLocal()) {
View Full Code Here

      assertFinalState(globalContainer);
   }

   public void testIsolationWithSingleActionMerge() {
      final ConcurrentGlobalContainer globalContainer = new ConcurrentGlobalContainer(TIME_SERVICE);
      final List<StatisticsSnapshot> snapshots = new ArrayList<StatisticsSnapshot>(4);
      snapshots.add(globalContainer.getSnapshot());

      //two random stats, one local and one remote
      final ExtendedStatistic localStat = ExtendedStatistic.PREPARE_COMMAND_SIZE;
      final ExtendedStatistic remoteStat = ExtendedStatistic.NUM_COMMITTED_WR_TX;

      Assert.assertTrue(localStat.isLocal());
      Assert.assertTrue(remoteStat.isRemote());

      globalContainer.add(localStat, 10, true);

      snapshots.add(globalContainer.getSnapshot());

      assertSnapshotValues(snapshots, Arrays.asList(0D, 10D), localStat, true);
      assertSnapshotValues(snapshots, Arrays.asList(0D, 0D), remoteStat, false);


      globalContainer.add(remoteStat, 20, false);

      snapshots.add(globalContainer.getSnapshot());

      assertSnapshotValues(snapshots, Arrays.asList(0D, 10D, 10D), localStat, true);
      assertSnapshotValues(snapshots, Arrays.asList(0D, 0D, 20D), remoteStat, false);

      try {
         globalContainer.add(localStat, 30, false);
         fail("Expected exception");
      } catch (Exception e) {
         //expected
      }
View Full Code Here

      assertFinalState(globalContainer);
   }

   public void testIsolationWithReset() {
      final ConcurrentGlobalContainer globalContainer = new ConcurrentGlobalContainer(TIME_SERVICE);
      final List<StatisticsSnapshot> snapshots = new ArrayList<StatisticsSnapshot>(4);

      snapshots.add(globalContainer.getSnapshot());
      int localIndex;
      int remoteIndex;

      LocalTransactionStatistics localTransactionStatistics = new LocalTransactionStatistics(false, TIME_SERVICE);
      RemoteTransactionStatistics remoteTransactionStatistics = new RemoteTransactionStatistics(TIME_SERVICE);

      localIndex = 0;
      remoteIndex = 0;
      for (ExtendedStatistic stats : ExtendedStatistic.values()) {
         if (stats.isLocal()) {
            localTransactionStatistics.addValue(stats, localIndex++);
         }
         if (stats.isRemote()) {
            remoteTransactionStatistics.addValue(stats, remoteIndex++);
         }
      }

      localTransactionStatistics.flushTo(globalContainer);
      remoteTransactionStatistics.flushTo(globalContainer);

      snapshots.add(globalContainer.getSnapshot());

      localIndex = 0;
      remoteIndex = 0;
      for (ExtendedStatistic stats : ExtendedStatistic.values()) {
         if (stats.isLocal()) {
            assertSnapshotValues(snapshots, Arrays.<Double>asList(0D, (double) localIndex), stats, true);
            localIndex++;
         }
         if (stats.isRemote()) {
            assertSnapshotValues(snapshots, Arrays.<Double>asList(0D, (double) remoteIndex), stats, false);
            remoteIndex++;
         }
      }

      globalContainer.reset();

      snapshots.add(globalContainer.getSnapshot());

      localIndex = 0;
      remoteIndex = 0;
      for (ExtendedStatistic stats : ExtendedStatistic.values()) {
         if (stats.isLocal()) {
            assertSnapshotValues(snapshots, Arrays.<Double>asList(0D, (double) localIndex, 0D), stats, true);
            localIndex++;
         }
         if (stats.isRemote()) {
            assertSnapshotValues(snapshots, Arrays.<Double>asList(0D, (double) remoteIndex, 0D), stats, false);
            remoteIndex++;
         }
      }

      localTransactionStatistics.flushTo(globalContainer);
      remoteTransactionStatistics.flushTo(globalContainer);

      snapshots.add(globalContainer.getSnapshot());

      localIndex = 0;
      remoteIndex = 0;
      for (ExtendedStatistic stats : ExtendedStatistic.values()) {
         if (stats.isLocal()) {
View Full Code Here

      assertFinalState(globalContainer);
   }

   public void testIsolationWithResetMerge() {
      final ConcurrentGlobalContainer globalContainer = new ConcurrentGlobalContainer(TIME_SERVICE);
      final List<StatisticsSnapshot> snapshots = new ArrayList<StatisticsSnapshot>(4);
      snapshots.add(globalContainer.getSnapshot());

      //two random stats, one local and one remote
      final ExtendedStatistic localStat = ExtendedStatistic.PREPARE_COMMAND_SIZE;
      final ExtendedStatistic remoteStat = ExtendedStatistic.NUM_COMMITTED_WR_TX;

      Assert.assertTrue(localStat.isLocal());
      Assert.assertTrue(remoteStat.isRemote());

      globalContainer.add(localStat, 10, true);
      globalContainer.add(remoteStat, 20, false);

      snapshots.add(globalContainer.getSnapshot());

      assertSnapshotValues(snapshots, Arrays.asList(0D, 10D), localStat, true);
      assertSnapshotValues(snapshots, Arrays.asList(0D, 20D), remoteStat, false);

      globalContainer.reset();
      snapshots.add(globalContainer.getSnapshot());

      assertSnapshotValues(snapshots, Arrays.asList(0D, 10D, 0D), localStat, true);
      assertSnapshotValues(snapshots, Arrays.asList(0D, 20D, 0D), remoteStat, false);

      globalContainer.add(localStat, 10, true);
      globalContainer.add(remoteStat, 20, false);

      snapshots.add(globalContainer.getSnapshot());

      assertSnapshotValues(snapshots, Arrays.asList(0D, 10D, 0D, 10D), localStat, true);
      assertSnapshotValues(snapshots, Arrays.asList(0D, 20D, 0D, 20D), remoteStat, false);

      assertFinalState(globalContainer);
View Full Code Here

      waitForClusterToForm();
      for (int i = 0; i < NUM_NODES; ++i) {
         ExtendedStatisticInterceptor interceptor = extendedStatisticInterceptors[i];
         CacheStatisticManager manager = (CacheStatisticManager) extractField(interceptor, "cacheStatisticManager");
         CacheStatisticCollector collector = (CacheStatisticCollector) extractField(manager, "cacheStatisticCollector");
         ConcurrentGlobalContainer globalContainer = (ConcurrentGlobalContainer) extractField(collector, "globalContainer");
         ExtendedStatisticRpcManager rpcManager = (ExtendedStatisticRpcManager) extractComponent(cache(i), RpcManager.class);
         ExtendedStatisticLockManager lockManager = (ExtendedStatisticLockManager) extractLockManager(cache(i));
         lockManagers[i] = lockManager;
         replaceField(TEST_TIME_SERVICE, "timeService", manager, CacheStatisticManager.class);
         replaceField(TEST_TIME_SERVICE, "timeService", collector, CacheStatisticCollector.class);
View Full Code Here

      assertFinalState(globalContainer);
   }

   public void testIsolationWithEnqueueAndResetTransaction() {
      final ConcurrentGlobalContainer globalContainer = new ConcurrentGlobalContainer(TIME_SERVICE);
      final List<StatisticsSnapshot> snapshots = new ArrayList<StatisticsSnapshot>(4);

      snapshots.add(globalContainer.getSnapshot());
      int localIndex;
      int remoteIndex;

      LocalTransactionStatistics localTransactionStatistics = new LocalTransactionStatistics(false, TIME_SERVICE);
      RemoteTransactionStatistics remoteTransactionStatistics = new RemoteTransactionStatistics(TIME_SERVICE);

      localIndex = 0;
      remoteIndex = 0;
      for (ExtendedStatistic stats : ExtendedStatistic.values()) {
         if (stats.isLocal()) {
            localTransactionStatistics.addValue(stats, localIndex++);
         }
         if (stats.isRemote()) {
            remoteTransactionStatistics.addValue(stats, remoteIndex++);
         }
      }

      //all the stuff is enqueued
      globalContainer.flushing().set(true);

      localTransactionStatistics.flushTo(globalContainer);
      remoteTransactionStatistics.flushTo(globalContainer);
      localTransactionStatistics.flushTo(globalContainer);
      remoteTransactionStatistics.flushTo(globalContainer);
      localTransactionStatistics.flushTo(globalContainer);
      remoteTransactionStatistics.flushTo(globalContainer);

      Assert.assertEquals(globalContainer.queue().size(), 6);

      snapshots.add(globalContainer.getSnapshot());

      localIndex = 0;
      remoteIndex = 0;
      for (ExtendedStatistic stats : ExtendedStatistic.values()) {
         if (stats.isLocal()) {
            assertSnapshotValues(snapshots, Arrays.<Double>asList(0D, 0D), stats, true);
            localIndex++;
         }
         if (stats.isRemote()) {
            assertSnapshotValues(snapshots, Arrays.<Double>asList(0D, 0D), stats, false);
            remoteIndex++;
         }
      }

      globalContainer.flushing().set(false);

      //this should flush pending statistics
      snapshots.add(globalContainer.getSnapshot());

      localIndex = 0;
      remoteIndex = 0;
      for (ExtendedStatistic stats : ExtendedStatistic.values()) {
         if (stats.isLocal()) {
            assertSnapshotValues(snapshots, Arrays.<Double>asList(0D, 0D, 3D * localIndex), stats, true);
            localIndex++;
         }
         if (stats.isRemote()) {
            assertSnapshotValues(snapshots, Arrays.<Double>asList(0D, 0D, 3D * remoteIndex), stats, false);
            remoteIndex++;
         }
      }

      globalContainer.reset();
      snapshots.clear();
      snapshots.add(globalContainer.getSnapshot());

      localIndex = 0;
      remoteIndex = 0;
      for (ExtendedStatistic stats : ExtendedStatistic.values()) {
         if (stats.isLocal()) {
            assertSnapshotValues(snapshots, Arrays.<Double>asList(0D), stats, true);
            localIndex++;
         }
         if (stats.isRemote()) {
            assertSnapshotValues(snapshots, Arrays.<Double>asList(0D), stats, false);
            remoteIndex++;
         }
      }

      globalContainer.flushing().set(true);

      localTransactionStatistics.flushTo(globalContainer);
      remoteTransactionStatistics.flushTo(globalContainer);
      localTransactionStatistics.flushTo(globalContainer);
      remoteTransactionStatistics.flushTo(globalContainer);
      localTransactionStatistics.flushTo(globalContainer);

      globalContainer.reset();

      remoteTransactionStatistics.flushTo(globalContainer);

      snapshots.add(globalContainer.getSnapshot());

      Assert.assertTrue(globalContainer.isReset());
      Assert.assertEquals(globalContainer.queue().size(), 6);

      localIndex = 0;
      remoteIndex = 0;
      for (ExtendedStatistic stats : ExtendedStatistic.values()) {
         if (stats.isLocal()) {
            assertSnapshotValues(snapshots, Arrays.<Double>asList(0D, 0D), stats, true);
            localIndex++;
         }
         if (stats.isRemote()) {
            assertSnapshotValues(snapshots, Arrays.<Double>asList(0D, 0D), stats, false);
            remoteIndex++;
         }
      }

      globalContainer.flushing().set(false);
      snapshots.add(globalContainer.getSnapshot());
      Assert.assertFalse(globalContainer.isReset());

      localIndex = 0;
      remoteIndex = 0;
      for (ExtendedStatistic stats : ExtendedStatistic.values()) {
         if (stats.isLocal()) {
View Full Code Here

TOP

Related Classes of org.infinispan.stats.container.ConcurrentGlobalContainer

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.