All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.gemstone.gemfire.management.ClientHealthStatus Maven / Gradle / Ivy

/*
 * Copyright (c) 2010-2015 Pivotal Software, Inc. All rights reserved.
 *
 * Licensed 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. See accompanying
 * LICENSE file.
 */
package com.gemstone.gemfire.management;


/**
 * Composite data type used to distribute statistics which can be used to 
 * determine the health of a cache client.
 * 
 * @author rishim
 * @since 7.0
 */
public class ClientHealthStatus {
  
  /**
   * Id of the client
   */
  private String clientId;
  
  /**
   * Name of the client
   */
  private String name;
  
  /**
   * Host Name of the client
   */
  private String hostName;
  
  /**
   * "numOfGets", IntCounter, "The total number of times a successful get has
   * been done on this cache." Java: CachePerfStats.gets Native: Not yet Defined
   */
  private int numOfGets;

  /**
   * "numOfPuts", IntCounter, "The total number of times an entry is added or
   * replaced in this cache as a result of a local operation (put(), create(),
   * or get() which results in load, netsearch, or netloading a value). Note
   * that this only counts puts done explicitly on this cache. It does not count
   * updates pushed from other caches." Java: CachePerfStats.puts Native: Not
   * yet Defined
   */
  private int numOfPuts;
  
  /**
   * Represents number of cache misses in this client. IntCounter, "Total number
   * of times a get on the cache did not find a value already in local memory."
   * Java: CachePerfStats.misses
   */
  private int numOfMisses;
  
  /**
   * Represents number of cache listners calls completed. IntCounter, "Total
   * number of times a cache listener call has completed."
   * Java: CachePerfStats.cacheListenerCallsCompleted
   */
  private int numOfCacheListenerCalls;
  
  /**
   * Represents total number of active threads in the client VM. IntCounter,
   * "Current number of live threads (both daemon and non-daemon) in this VM."
   * Java: VMStats.threads
   **/
  private int numOfThreads;
      
  /**
   * Represents the CPU time used by the process (in nanoseconds). LongCounter,
   * "CPU timed used by the process in nanoseconds."
   * Java: VMStats.processCpuTime   
   **/
  private long processCpuTime;
  
  /**
   * Represents the number of cpus available to the java VM on its machine. IntCounter,
   * "Number of cpus available to the java VM on its machine."
   * Java: VMStats.cpus   
   **/
  private int cpus;
  
  /**
   * client queue sizes
   */
  private int queueSize;
  
  /**
   * Represents time when this snapshot of the client statistics was taken.
   **/
  private long upTime;

  /**
   * Returns the number of times a successful get operation has occurred.
   */
  public int getNumOfGets() {
    return numOfGets;
  }

  /**
   * Returns the number of times an entry was added or replaced in this
   * cache as a result of a local operation. Operations counted include puts,
   * creates, and gets which result in loading, net searching, or net loading
   * a value. The count only includes operations done explicitly on this cache,
   * not those that are pushed from other caches.
   */
  public int getNumOfPuts() {
    return numOfPuts;
  }

  /**
   * Returns the number of times a cache miss has occurred.
   */
  public int getNumOfMisses() {
    return numOfMisses;
  }

  /**
   * Returns the number of times a cache listener call has completed.
   */
  public int getNumOfCacheListenerCalls() {
    return numOfCacheListenerCalls;
  }

  /**
   * Returns the number of threads currently in use.
   */
  public int getNumOfThreads() {
    return numOfThreads;
  }

  /**
   * Returns the amount of time (in nanoseconds) used by the client process.
   */
  public long getProcessCpuTime() {
    return processCpuTime;
  }

  /**
   * Returns the number of CPUs available to the client.
   */
  public int getCpus() {
    return cpus;
  }

  /**
   * Returns the amount of time (in seconds) that the client has been running.
   */
  public long getUpTime() {
    return upTime;
  }
  
  /**
   * Returns the ID of the client.
   */
  public String getClientId() {
    return clientId;
  }

  /**
   * Sets the number of times a successful get operation has occurred.
   */
  public void setNumOfGets(int numOfGets) {
    this.numOfGets = numOfGets;
  }

  /**
   * Set the number of times an entry was added or replaced in this
   * cache as a result of a local operation.
   */
  public void setNumOfPuts(int numOfPuts) {
    this.numOfPuts = numOfPuts;
  }

  /**
   * Sets the number of times a cache miss has occurred.
   */
  public void setNumOfMisses(int numOfMisses) {
    this.numOfMisses = numOfMisses;
  }

  /**
   * Sets the number of times a cache listener call has completed.
   */
  public void setNumOfCacheListenerCalls(int numOfCacheListenerCalls) {
    this.numOfCacheListenerCalls = numOfCacheListenerCalls;
  }

  /**
   * Sets the number of threads currently in use.
   */
  public void setNumOfThreads(int numOfThreads) {
    this.numOfThreads = numOfThreads;
  }

  /**
   * Sets the amount of time (in nanoseconds) used by the client process.
   */
  public void setProcessCpuTime(long processCpuTime) {
    this.processCpuTime = processCpuTime;
  }

  /**
   * Sets the number of CPUs available to the client.
   */
  public void setCpus(int cpus) {
    this.cpus = cpus;
  }

  /**
   * Sets the amount of time (in seconds) that the client has been running.
   */
  public void setUpTime(long upTime) {
    this.upTime = upTime;
  }

  /**
   * Sets the client queue size.
   */
  public void setQueueSize(int queueSize) {
    this.queueSize = queueSize;
  }

  /**
   * Sets the ID of the client.
   */
  public void setClientId(String clientId) {
    this.clientId = clientId;
  }

  /**
   * Returns the client queue size.
   */
  public int getQueueSize() {
    return queueSize;
  }
  
  /**
   * Returns the name of the client.
   */
  public String getName() {
    return name;
  }

  /**
   * Returns the name of the host on which the client is running.
   */
  public String getHostName() {
    return hostName;
  }

  /**
   * Sets the name of the client.
   */
  public void setName(String name) {
    this.name = name;
  }

  /**
   * Sets the name of the host on which the client is running.
   */
  public void setHostName(String hostName) {
    this.hostName = hostName;
  }

  @Override     
  public String toString() {
    return "{ClientHealthStatus : clientId = " + clientId + " name = " + name
        + "hostName = " + hostName + " numOfGets = " + numOfGets
        + " numOfPuts = " + numOfPuts + " numOfMisses = " + numOfMisses
        + " numOfCacheListenerCalls = " + numOfCacheListenerCalls
        + " numOfThreads = " + numOfThreads + " processCpuTime = "
        + processCpuTime + " CPUs = " + cpus + " upTime = " + upTime
        + " queueSize = " + queueSize + "}";
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy