Package org.apache.uima.aae.jmx

Source Code of org.apache.uima.aae.jmx.UimaASClientInfo

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements.  See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership.  The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License.  You may obtain a copy of the License at
*
*   http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied.  See the License for the
* specific language governing permissions and limitations
* under the License.
*/

package org.apache.uima.aae.jmx;

import java.util.Formatter;

/**
* This class exposes client side statistics via JMX
*
*/
public class UimaASClientInfo implements
    UimaASClientInfoMBean {

 
  private String applicationName;
  private long idleTime;
  private long serializationTime;
  private long deserializationTime;
  private long totalCasesProcessed;
  private long totalProcessTime;
  private long maxSerializationTime;
  private long maxDeserializationTime;
  private long maxIdleTime;
  private long maxProcessTime;
  private String endpointName;
  private int replyWindowSize;
  private int casPoolSize;
  private long _metaTimeoutErrorCount;
  private long _processTimeoutErrorCount;
  private long _processErrorCount;
  private long _metaErrorCount;
 
  public void reset()
  {
    applicationName="";
    idleTime = 0;
    serializationTime=0;
    deserializationTime=0;
    totalCasesProcessed=0;
    totalProcessTime=0;
    maxSerializationTime=0;
    maxDeserializationTime=0;
    maxIdleTime=0;
    maxProcessTime=0;
    endpointName="";
    replyWindowSize=0;
    casPoolSize=0;
    _metaTimeoutErrorCount=0;
    _processTimeoutErrorCount=0;
    _processErrorCount=0;
    _metaErrorCount=0;
  }
    public long getMetaErrorCount()
    {
      return _metaErrorCount;
    }
    public void incrementMetaErrorCount()
    {
      _metaErrorCount++;
    }

  public long getMetaTimeoutErrorCount() {
    return _metaTimeoutErrorCount;
  }

  public void incrementMetaTimeoutErrorCount() {
    _metaTimeoutErrorCount++;
  }

  public long getProcessTimeoutErrorCount() {
    return _processTimeoutErrorCount;
  }

  public void incrementProcessTimeoutErrorCount() {
    _processTimeoutErrorCount++;
  }

  public long getProcessErrorCount() {
    return _processErrorCount;
  }

  public void incrementProcessErrorCount() {
    _processErrorCount++;
  }

  public String getEndpointName() {
    return endpointName;
  }

  public void setEndpointName(String endpointName) {
    this.endpointName = endpointName;
  }

  public int getReplyWindowSize() {
    return replyWindowSize;
  }

  public void setReplyWindowSize(int replyWindowSize) {
    this.replyWindowSize = replyWindowSize;
  }

  public int getCasPoolSize() {
    return casPoolSize;
  }

  public void setCasPoolSize(int casPoolSize) {
    this.casPoolSize = casPoolSize;
  }

  public UimaASClientInfo()
  {
   
  }
 
  public String getApplicationName() {
    return applicationName;
  }

  private String format(float aValue )
  {
    Formatter formatter  = new Formatter();
    formatter.format ("%,.2f ms", aValue);
    return formatter.out().toString();
  }
  public String getAverageDeserializationTime() {
    if ( totalCasesProcessed > 0 )
    {
      float floatValue = (float)((float)deserializationTime/(float)totalCasesProcessed)/(float)1000000;
      return format(floatValue);
    }
    else
      return "0.0";
  }

  public String getAverageIdleTime() {
    if ( totalCasesProcessed > 0 )
    {
      float floatValue =  (float)((float)idleTime/(float)totalCasesProcessed)/(float)1000000;
      return format(floatValue);
    }
    else
      return "0.0";
  }

  public String getAverageSerializationTime() {
    if ( totalCasesProcessed > 0 )
    {
      float floatValue = (float)((float)serializationTime/(float)totalCasesProcessed)/(float)1000000;
      return format(floatValue);
    }
    else
      return "0.0";
  }

  public String getAverageTimeToProcessCas() {
    if ( totalCasesProcessed > 0 )
    {
      float floatValue = (float)((float)totalProcessTime/(float)totalCasesProcessed)/(float)1000000;
      return format(floatValue);
    }
    else
      return "0.0";
  }

 
  public String getMaxDeserializationTime() {
    return format((float)maxDeserializationTime/(float)1000000);
  }

  public String getMaxIdleTime() {
    return format((float)maxIdleTime/(float)1000000);
  }

  public String getMaxProcessTime() {
    return format((float)maxProcessTime/(float)1000000);
  }

  public String getMaxSerializationTime() {
    return format((float)maxSerializationTime/(float)1000000);
  }

  public String getTotalDeserializationTime() {
    return format((float)deserializationTime/(float)1000000);
  }

  public String getTotalIdleTime() {
    return format((float)idleTime/(float)1000000);
  }

  public long getTotalNumberOfCasesProcessed() {
    return totalCasesProcessed;
  }

  public String getTotalSerializationTime() {
    return format((float)serializationTime/(float)1000000);
  }

  public String getTotalTimeToProcess() {
    return format((float)totalProcessTime/(float)1000000);
  }

  public void setApplicationName(String anApplicationName) {
    applicationName = anApplicationName;
  }

  public void incrementTotalIdleTime(long anIdleTime) {
    if ( maxIdleTime < anIdleTime )
    {
      maxIdleTime = anIdleTime;
    }
    idleTime += anIdleTime;
  }

  public void incrementTotalNumberOfCasesProcessed() {
    totalCasesProcessed++;
  }

  public void incrementTotalSerializationTime(long aSerializationTime) {
   
    if ( maxSerializationTime < aSerializationTime )
    {
      maxSerializationTime = aSerializationTime;
    }
    serializationTime += aSerializationTime;
  }

  public void incrementTotalTimeToProcess(long aTimeToProcess) {
    if ( maxProcessTime < aTimeToProcess )
    {
      maxProcessTime = aTimeToProcess;
    }
    totalProcessTime += aTimeToProcess;
  }

  public void incrementTotalDeserializationTime(long aDeserializationTime) {
    if ( maxDeserializationTime < aDeserializationTime )
    {
      maxDeserializationTime = aDeserializationTime;
    }
    deserializationTime += aDeserializationTime;
  }
}
TOP

Related Classes of org.apache.uima.aae.jmx.UimaASClientInfo

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.