content: package com.sohu.cache.entity;
  
  import java.text.ParseException;
  import java.text.SimpleDateFormat;
  import java.util.Date;
  
  import org.apache.commons.lang.builder.ToStringBuilder;
  
  /**
   * 客户端耗时统计
   * @author leifu
   * @Date 2015年1月20日
   * @Time 上午11:44:09
   */
  public class AppClientCostTimeStat {
      
      private long id;
  
      /**
       * 应用id
       */
      private long appId;
  
      /**
       * 格式yyyyMMddHHmm00
       */
      private long collectTime;
  
      /**
       * 客户端ip
       */
      private String clientIp;
  
      /**
       * 上报时间
       */
      private Date reportTime;
  
      /**
       * 创建时间
       */
      private Date createTime;
  
      /**
       * 命令
       */
      private String command;
  
      /**
       * 调用次数
       */
      private int count;
  
      /**
       * 实例ip
       */
      private String instanceHost;
  
      /**
       * 实例port
       */
      private int instancePort;
      
      /**
       * 实例id
       */
      private long instanceId;
      
      /**
       * 中位值
       */
      private int median;
  
      /**
       * 平均值
       */
      private double mean;
  
      /**
       * 90%最大值
       */
      private int ninetyPercentMax;
  
      /**
       * 99%最大值
       */
      private int ninetyNinePercentMax;
  
      /**
       * 100%最大值
       */
      private int hundredMax;
      
  
      public long getId() {
          return id;
      }
  
      public void setId(long id) {
          this.id = id;
      }
  
      public long getAppId() {
          return appId;
      }
  
      public void setAppId(long appId) {
          this.appId = appId;
      }
  
      public long getCollectTime() {
          return collectTime;
      }
  
      public void setCollectTime(long collectTime) {
          this.collectTime = collectTime;
      }
  
      public String getClientIp() {
          return clientIp;
      }
  
      public void setClientIp(String clientIp) {
          this.clientIp = clientIp;
      }
  
      public Date getReportTime() {
          return reportTime;
      }
  
      public void setReportTime(Date reportTime) {
          this.reportTime = reportTime;
      }
  
      public Date getCreateTime() {
          return createTime;
      }
  
      public void setCreateTime(Date createTime) {
          this.createTime = createTime;
      }
  
      public String getCommand() {
          return command;
      }
  
      public void setCommand(String command) {
          this.command = command;
      }
  
      public int getCount() {
          return count;
      }
  
      public void setCount(int count) {
          this.count = count;
      }
  
      public String getInstanceHost() {
          return instanceHost;
      }
  
      public void setInstanceHost(String instanceHost) {
          this.instanceHost = instanceHost;
      }
  
      public int getInstancePort() {
          return instancePort;
      }
  
      public void setInstancePort(int instancePort) {
          this.instancePort = instancePort;
      }
  
      public long getInstanceId() {
          return instanceId;
      }
  
      public void setInstanceId(long instanceId) {
          this.instanceId = instanceId;
      }
      
      public int getMedian() {
          return median;
      }
  
      public void setMedian(int median) {
          this.median = median;
      }
  
      public double getMean() {
          return mean;
      }
  
      public void setMean(double mean) {
          this.mean = mean;
      }
  
      public int getNinetyPercentMax() {
          return ninetyPercentMax;
      }
  
      public void setNinetyPercentMax(int ninetyPercentMax) {
          this.ninetyPercentMax = ninetyPercentMax;
      }
  
      public int getNinetyNinePercentMax() {
          return ninetyNinePercentMax;
      }
  
      public void setNinetyNinePercentMax(int ninetyNinePercentMax) {
          this.ninetyNinePercentMax = ninetyNinePercentMax;
      }
  
      public int getHundredMax() {
          return hundredMax;
      }
  
      public void setHundredMax(int hundredMax) {
          this.hundredMax = hundredMax;
      }
  
      public Long getCollectTimeStamp() throws ParseException{
          SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
          Date date;
          try {
              date = sdf.parse(String.valueOf(this.collectTime));
              return date.getTime();
          } catch (Exception e) {
              return 0L;
          }
      }
      
      public Long getTimeStamp() throws ParseException{
          SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
          Date date = sdf.parse(String.valueOf(this.collectTime));
          return date.getTime();
      }
      
      @Override
      public int hashCode() {
          final int prime = 31;
          int result = 1;
          result = prime * result + ((clientIp == null) ? 0 : clientIp.hashCode());
          result = prime * result + (int) (instanceId ^ (instanceId >>> 32));
          return result;
      }
  
      @Override
      public boolean equals(Object obj) {
          if (this == obj)
              return true;
          if (obj == null)
              return false;
          if (getClass() != obj.getClass())
              return false;
          AppClientCostTimeStat other = (AppClientCostTimeStat) obj;
          if (clientIp == null) {
              if (other.clientIp != null)
                  return false;
          } else if (!clientIp.equals(other.clientIp))
              return false;
          if (instanceId != other.instanceId)
              return false;
          return true;
      }
  
      @Override
      public String toString() {
          return ToStringBuilder.reflectionToString(this).toString();
      }
      
  }
  