Examples of DbusEventsTotalStats


Examples of com.linkedin.databus.core.monitoring.mbean.DbusEventsTotalStats

      r1.pause();

      // wait until client got all events or for maxTimeout;
      long maxTimeOutMs = 5 * 1000;
      long startTime = System.currentTimeMillis();
      DbusEventsTotalStats stats = relay1
          .getInboundEventStatisticsCollector().getTotalStats();
      DbusEventsTotalStats statsChained = relay2
          .getInboundEventStatisticsCollector().getTotalStats();
      while (countingConsumer.getNumWindows() < stats.getNumSysEvents())
      {
        Thread.sleep(500);
        // LOG.info("Client stats=" + countingConsumer);
        // LOG.error("numDataEvents=" +
        // stats.getNumDataEvents() + " numWindows=" +
        // stats.getNumSysEvents() + " size=" +
        // stats.getSizeDataEvents());
        if ((System.currentTimeMillis() - startTime) > maxTimeOutMs)
        {
          break;
        }
      }

      LOG.info("Client stats=" + countingConsumer);
      LOG.info("Chained stats="
          + statsChained.getNumSysEvents());
      LOG.info("Event windows generated="
          + stats.getNumSysEvents());
      LOG.info("numDataEvents=" + stats.getNumDataEvents()
          + " numWindows=" + stats.getNumSysEvents() + " size="
          + stats.getSizeDataEvents());

      Assert.assertTrue(stats.getNumSysEvents() == statsChained
          .getNumSysEvents());
      Assert.assertTrue(statsChained.getNumDataEvents() == countingConsumer
          .getNumDataEvents());
      Assert.assertTrue(stats.getNumDataEvents() == 2 * countingConsumer
          .getNumDataEvents());
      Assert.assertTrue(countingConsumer.getNumSources() == 1);
      Assert.assertTrue(stats.getNumSysEvents() == countingConsumer
View Full Code Here

Examples of com.linkedin.databus.core.monitoring.mbean.DbusEventsTotalStats

  private void processEventsTotalStats(DbusEventsStatisticsCollector statsCollector,
                                       DatabusRequest request) throws IOException
  {
    if (null == statsCollector) return;

    DbusEventsTotalStats totalStatsMBean = statsCollector.getTotalStats();
    if (null == totalStatsMBean) return;

    writeJsonObjectToResponse(totalStatsMBean, request);

    if (request.getRequestType() == HttpMethod.PUT || request.getRequestType() == HttpMethod.POST)
View Full Code Here

Examples of com.linkedin.databus.core.monitoring.mbean.DbusEventsTotalStats

    catch (NumberFormatException nfe)
    {
      throw new InvalidRequestParamValueException(request.getName(), prefix, sourceIdStr);
    }

    DbusEventsTotalStats sourceStats = statsCollector.getSourceStats(sourceId);
    if (null == sourceStats)
    {
      throw new InvalidRequestParamValueException(request.getName(), prefix, sourceIdStr);
    }
View Full Code Here

Examples of com.linkedin.databus.core.monitoring.mbean.DbusEventsTotalStats

    if (null == statsCollector) return;

    String category = request.getParams().getProperty(DatabusRequest.PATH_PARAM_NAME);
    String client = category.substring(prefix.length());

    DbusEventsTotalStats clientStats = statsCollector.getPeerStats(client);
    if (null == clientStats)
    {
      throw new InvalidRequestParamValueException(request.getName(), prefix, client);
    }
View Full Code Here

Examples of com.linkedin.databus.core.monitoring.mbean.DbusEventsTotalStats

      cr.start();

      // wait until client got all events or for maxTimeout;
      long maxTimeOutMs = 15 * 1000;
      long startTime = System.currentTimeMillis();
      DbusEventsTotalStats stats = relay1
          .getInboundEventStatisticsCollector().getTotalStats();
      while (countingConsumer.getNumWindows() < stats.getNumSysEvents())
      {
        Thread.sleep(500);
        // LOG.info("Client stats=" + countingConsumer);
        // LOG.error("numDataEvents=" +
        // stats.getNumDataEvents() + " numWindows=" +
        // stats.getNumSysEvents() + " size=" +
        // stats.getSizeDataEvents());
        if ((System.currentTimeMillis() - startTime) > maxTimeOutMs)
        {
          break;
        }
      }

      DbusEventsTotalStats statsChained = relay2
          .getInboundEventStatisticsCollector().getTotalStats();

      LOG.info("Client stats=" + countingConsumer);
      LOG.info("Event windows generated="
          + stats.getNumSysEvents());
      LOG.info("numDataEvents=" + stats.getNumDataEvents()
          + " numWindows=" + stats.getNumSysEvents() + " size="
          + stats.getSizeDataEvents());

      Assert.assertTrue(stats.getNumDataEvents() == statsChained
          .getNumDataEvents());
      Assert.assertTrue(stats.getNumSysEvents() == statsChained
          .getNumSysEvents());
      Assert.assertTrue(stats.getNumDataEvents() > countingConsumer
          .getNumDataEvents());
      Assert.assertTrue(countingConsumer.getNumSources() == 2);
      Assert.assertTrue(stats.getNumSysEvents() > countingConsumer
View Full Code Here

Examples of com.linkedin.databus.core.monitoring.mbean.DbusEventsTotalStats

      r1.pause();

      // wait until client got all events or for maxTimeout;
      long maxTimeOutMs = 100 * 1000;
      long startTime = System.currentTimeMillis();
      DbusEventsTotalStats stats = relay1
          .getInboundEventStatisticsCollector().getTotalStats();
      Assert.assertTrue(stats.getNumSysEvents() > 0);
      while (countingConsumer.getNumWindows() < stats.getNumSysEvents())
      {
        Thread.sleep(500);
        if ((System.currentTimeMillis() - startTime) > maxTimeOutMs)
        {
          break;
        }
      }

      DbusEventsTotalStats statsChained = relay2
          .getInboundEventStatisticsCollector().getTotalStats();

      LOG.info("Client stats=" + countingConsumer);
      LOG.info("Event windows generated="
          + stats.getNumSysEvents());
      LOG.info("numDataEvents=" + stats.getNumDataEvents()
          + " numWindows=" + stats.getNumSysEvents() + " size="
          + stats.getSizeDataEvents());

      Assert.assertTrue(stats.getMinScn() < statsChained.getMinScn());
      Assert.assertTrue(stats.getNumDataEvents() == statsChained
          .getNumDataEvents());
      Assert.assertTrue(stats.getNumSysEvents() == statsChained
          .getNumSysEvents());
      Assert.assertTrue(countingConsumer.getNumErrors() > 0);
      Assert.assertTrue(stats.getNumDataEvents() > countingConsumer
          .getNumDataEvents());
      Assert.assertTrue(countingConsumer.getNumSources() == 2);
View Full Code Here

Examples of com.linkedin.databus.core.monitoring.mbean.DbusEventsTotalStats

      r2.unpause();

      // wait until client got all events or for maxTimeout;
      long maxTimeOutMs = 5 * 1000;
      long startTime = System.currentTimeMillis();
      DbusEventsTotalStats stats = relay1
          .getInboundEventStatisticsCollector().getTotalStats();
      while (countingConsumer.getNumWindows() < stats.getNumSysEvents())
      {
        Thread.sleep(500);
        // LOG.info("Client stats=" + countingConsumer);
        // LOG.error("numDataEvents=" +
        // stats.getNumDataEvents() + " numWindows=" +
        // stats.getNumSysEvents() + " size=" +
        // stats.getSizeDataEvents());
        if ((System.currentTimeMillis() - startTime) > maxTimeOutMs)
        {
          break;
        }
      }

      LOG.info("Client stats=" + countingConsumer);
      LOG.info("Event windows generated="
          + stats.getNumSysEvents());
      LOG.info("numDataEvents=" + stats.getNumDataEvents()
          + " numWindows=" + stats.getNumSysEvents() + " size="
          + stats.getSizeDataEvents());

      Assert.assertTrue(stats.getNumDataEvents() == countingConsumer
          .getNumDataEvents());
      Assert.assertTrue(countingConsumer.getNumSources() == 2);
      Assert.assertTrue(stats.getNumSysEvents() == countingConsumer
          .getNumWindows());
    }
    catch (Exception e)
    {
      LOG.error("Exception: " + e);
View Full Code Here

Examples of com.linkedin.databus.core.monitoring.mbean.DbusEventsTotalStats

      Thread.sleep(10 * 1000);


      // wait until client got all events or for maxTimeout;
      final long maxTimeOutMs = 5 * 1000;
      final DbusEventsTotalStats dbRelayStats = relay1
          .getInboundEventStatisticsCollector().getTotalStats();
      TestUtil.assertWithBackoff(new ConditionCheck() {
        @Override
        public boolean check() {
          return countingConsumer.getNumWindows() == dbRelayStats.getNumSysEvents();
        }
      }, "consumer caught up", maxTimeOutMs, log);

      log.info("Client stats=" + countingConsumer);
      log.info("Event windows generated="
          + dbRelayStats.getNumSysEvents());
      log.info("numDataEvents=" + dbRelayStats.getNumDataEvents()
          + " numWindows=" + dbRelayStats.getNumSysEvents() + " size="
          + dbRelayStats.getSizeDataEvents());

      Assert.assertEquals(dbRelayStats.getNumDataEvents(), countingConsumer
          .getNumDataEvents());
      Assert.assertEquals(countingConsumer.getNumSources(), 2);
      Assert.assertEquals(dbRelayStats.getNumSysEvents(), countingConsumer
          .getNumWindows());

      cr.shutdown();
      boolean s2= r2.shutdown(2000);
      Assert.assertTrue(s2);
      Assert.assertTrue(!r2.isAlive());

      //start r3; new chained relay with restart SCN offset; we get some data;
      chainedSrcConfigs[0].setRestartScnOffset(dbRelayStats.getMaxScn() - dbRelayStats.getPrevScn());
      DatabusRelayMain relay3 = DatabusRelayTestUtil.createDatabusRelayWithSchemaReg(1018,
          chainedRelayPort, 1 * 1024 * 1024, chainedSrcConfigs,SCHEMA_REGISTRY_DIR);
      r3 = new DatabusRelayTestUtil.RelayRunner(relay3);
      r3.start();

      final DbusEventsTotalStats newChainedRlyStats = relay3
          .getInboundEventStatisticsCollector().getTotalStats();

      TestUtil.assertWithBackoff(new ConditionCheck() {
        @Override
        public boolean check() {
          return newChainedRlyStats.getNumDataEvents() > 0;
        }
      }, "new chained relay running", 5000, log);

      log.info("Stats3= numDataEvents=" + newChainedRlyStats.getNumDataEvents()
          + " numWindows=" + newChainedRlyStats.getNumSysEvents() + " size="
          + newChainedRlyStats.getSizeDataEvents());
    }
    finally
    {
      cleanup ( new DatabusRelayTestUtil.RelayRunner[] {r1,r2,r3} , cr);
            log.info("end");
View Full Code Here

Examples of com.linkedin.databus.core.monitoring.mbean.DbusEventsTotalStats

     * @param sourceId
     * @return
     */
    protected EventReaderSummary getSummary(int sourceId)
    {
      DbusEventsTotalStats stats = _stats.getSourceStats(sourceId);
      if (stats != null)
      {
        EventReaderSummary summary = new EventReaderSummary( (short) sourceId, stats.getDimension(),
            stats.getMaxScn(), (int) stats.getNumDataEvents(),
            stats.getSizeDataEvents()*(int) (stats.getNumDataEvents()),
            System.currentTimeMillis(), 0, _stats.getTotalStats().getTimestampMinScnEvent(),
            stats.getTimestampMaxScnEvent(),0L);
        return summary;
      }
      return null;
    }
View Full Code Here

Examples of com.linkedin.databus.core.monitoring.mbean.DbusEventsTotalStats

      final DatabusRelayMain relay3 = DatabusRelayTestUtil.createDatabusRelayWithSchemaReg(1020,
          relayPort, 10 * 1024 * 1024, srcConfigs, SCHEMA_REGISTRY_DIR);
      Assert.assertNotNull(relay1);
      Assert.assertNotNull(relay3);
      r1 = new DatabusRelayTestUtil.RelayRunner(relay1);
      final DbusEventsTotalStats stats = relay1.getInboundEventStatisticsCollector().getTotalStats();
      final DbusEventsTotalStats stats3 = relay3.getInboundEventStatisticsCollector().getTotalStats();

      // create chained relay
      PhysicalSourceConfig[] chainedSrcConfigs = new PhysicalSourceConfig[srcNames.length];
      int j = 0;
      for (String[] srcs : srcNames)
      {

        PhysicalSourceConfig src1 = DatabusRelayTestUtil.createPhysicalConfigBuilder(
            (short) (j + 1),DatabusRelayTestUtil.getPhysicalSrcName(srcs[0]),
            "localhost:" + relayPort, 500, eventRatePerSec,0,largestEventSize,largestWindowSize,srcs);
        chainedSrcConfigs[j++] = src1;
      }
      int chainedRelayPort = relayPort + 1;
      final DatabusRelayMain relay2 = DatabusRelayTestUtil.createDatabusRelayWithSchemaReg(1021,
          chainedRelayPort, 10 * 1024 * 1024, chainedSrcConfigs,SCHEMA_REGISTRY_DIR);
      Assert.assertNotNull(relay2);
      r2 = new DatabusRelayTestUtil.RelayRunner(relay2);

      resetSCN(relay2);

      // now create client:
      String srcSubscriptionString = TestUtil.join(srcNames[0], ",");
      String serverName = "localhost:" + chainedRelayPort;
      CountingConsumer countingConsumer = new CountingConsumer();
      DatabusSourcesConnection clientConn = RelayEventProducer
          .createDatabusSourcesConnection("testProducer", serverName,
              srcSubscriptionString, countingConsumer,
              1 * 1024 * 1024, largestEventSize, 30 * 1000, 100, 15 * 1000,
              1, true,largestEventSize/10);

      cr = new ClientRunner(clientConn);

      // async starts for all components;
      r1.start();

      Thread.sleep(10*1000);

      // start chained relay
      r2.start();

      //start client
      cr.start();
      //Pause r1;
      r1.pause();

      Thread.sleep(1000);

      long firstGenDataEvents = stats.getNumDataEvents();
      long firstGenMinScn  = stats.getMinScn();
      long firstGenWindows = stats.getNumSysEvents();

      Assert.assertTrue(stats.getNumSysEvents() > 0);


      log.warn("relay1:  numDataEvents=" + firstGenDataEvents
          + " numWindows=" + firstGenWindows + " minScn="
          + firstGenMinScn + " maxScn=" + stats.getMaxScn());


      Thread.sleep(4*1000);
      //clear the relay
      boolean s = r1.shutdown(2000);
      Assert.assertTrue(s);

      DbusEventsTotalStats stats2 = relay2.getInboundEventStatisticsCollector().getTotalStats();
      long firstGenChainWindows = stats2.getNumSysEvents();
      log.warn("relay2:  numDataEvents=" + stats2.getNumDataEvents()
          + " numWindows=" + firstGenChainWindows + " minScn="
          + stats2.getMinScn() + " maxScn=" + stats2.getMaxScn());

      Thread.sleep(2*1000);

      //restart relay
      r3 = new DatabusRelayTestUtil.RelayRunner(relay3);
      r3.start();

      Thread.sleep(15*1000);

      r3.pause();

      Thread.sleep(35*1000);

      log.warn("relay3:  numDataEvents=" + stats3.getNumDataEvents()
          + " numWindows=" + stats3.getNumSysEvents() + " minScn="
          + stats3.getMinScn() + " maxScn=" + stats3.getMaxScn());

      stats2 = relay2.getInboundEventStatisticsCollector().getTotalStats();
      log.warn("relay2b: numDataEvents=" + stats2.getNumDataEvents()
          + " numWindows=" + stats2.getNumSysEvents() + " minScn="
          + stats2.getMinScn() + " maxScn=" + stats2.getMaxScn());

      log.warn("consumer: " + countingConsumer);


      //compare chained relays with 2 gens of tier 0 relays
      Assert.assertEquals(stats2.getMinScn(), firstGenMinScn) ;
      Assert.assertEquals(stats2.getMaxScn(), stats3.getMaxScn());
      //the total event windows seen by the chained relay will be state of consumption at first failure of relay1 minus 1 overlap window
      Assert.assertEquals(stats2.getNumSysEvents(), (firstGenChainWindows-1) + stats3.getNumSysEvents());
      Assert.assertTrue(stats2.getNumDataEvents() > stats3.getNumDataEvents());

      //compare source to final client
      Assert.assertEquals(countingConsumer.getNumSources(), 2);
      Assert.assertEquals(stats2.getNumSysEvents(), countingConsumer
          .getNumWindows());

      boolean sorted= true;
      long prev = -1;
      log.info(" scn seq on consumer=");
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.