public void onNewMetrics()

in uimaj-as-core/src/main/java/org/apache/uima/aae/jmx/monitor/SingleLineUimaJmxMonitorListener.java [62:127]


  public void onNewMetrics(long sampleTime, ServiceMetrics[] metrics) {

    String items;

    if (firsttime) {
      firsttime = false;
      items = "\tTimestamp";
      for (ServiceMetrics serviceMetrics : metrics) {
        String srvName = serviceMetrics.getServiceName();
        srvName = srvName.substring(0, srvName.indexOf("_Service Performance"));
        if (serviceMetrics.isTopLevelService()) {
          srvName = "(S)" + srvName;
        } else if (serviceMetrics.isServiceRemote()) {
          srvName = "(R)" + srvName;
        }
        items = items + "\t" + srvName + "-CPU";
        items = items + "\t" + srvName + "-Idle";
        items = items + "\t" + srvName + "-CASes";
        items = items + "\t" + srvName + "-InQ";
        if (!serviceMetrics.isTopLevelService()) {
          items = items + "\t" + srvName + "-RepQ";
        }
        if (serviceMetrics.isTopLevelService()
                || (serviceMetrics.isCasMultiplier() && serviceMetrics.isServiceRemote())) {
          items = items + "\t" + srvName + "-CPW";
        }
        if (serviceMetrics.isCasMultiplier() && !serviceMetrics.isServiceRemote()) {
          items = items + "\t" + srvName + "-CmFreeCP";
        }
        if (serviceMetrics.isTopLevelService()) {
          items = items + "\t" + srvName + "-SvcFreeCP";
        }
      }
      UIMAFramework.getLogger(CLASS_NAME).log(Level.INFO, items);
    }

    items = "\t";
    items = items + format(sampleTime / 1000000000.0);
    period = (sampleTime - lastSampleTime) / 1000000.0;
    lastSampleTime = sampleTime;
    for (ServiceMetrics serviceMetrics : metrics) {
      items = items + "\t" + format(serviceMetrics.getAnalysisTime() / period);
      items = items + "\t" + format(serviceMetrics.getIdleTime() / period);
      items = items + "\t" + serviceMetrics.getProcessCount();
      items = items + "\t" + serviceMetrics.getInputQueueDepth();
      if (!serviceMetrics.isTopLevelService()) {
        items = items + "\t" + serviceMetrics.getReplyQueueDepth();
      }
      if (serviceMetrics.isTopLevelService()) {
        items = items + "\t" + format(serviceMetrics.getCasPoolWaitTime() / period);
      } else if (serviceMetrics.isCasMultiplier()) {
        if (serviceMetrics.isServiceRemote()) {
          items = items + "\t" + format(serviceMetrics.getShadowCasPoolWaitTime() / period);
        } else {
          items = items + "\t" + serviceMetrics.getCmFreeCasInstanceCount();
        }
      }
      if (serviceMetrics.isTopLevelService()) {
        items = items + "\t" + serviceMetrics.getSvcFreeCasInstanceCount();
      }

    }
    if (UIMAFramework.getLogger(CLASS_NAME).isLoggable(Level.INFO)) {
      UIMAFramework.getLogger(CLASS_NAME).log(Level.INFO, items);
    }
  }