content: package com.sohu.tv.jedis.stat.model;
  
  /**
   * 从jedis收集有价值的数据简单模型
   * 
   * @author leifu
   * @Date 2015年1月13日
   * @Time 下午3:42:01
   */
  public class UsefulDataModel {
      /**
       * sendCommand开始时间
       */
      private long startTime;
  
      /**
       * process结束时间
       */
      private long endTime;
  
      /**
       * 命令名
       */
      private String command;
  
      /**
       * 值大小
       */
      private int valueBytesLength;
      
      /**
       * host:ip
       */
      private String hostPort;
  
      public long getStartTime() {
          return startTime;
      }
  
      public void setStartTime(long startTime) {
          this.startTime = startTime;
      }
  
      public long getEndTime() {
          return endTime;
      }
  
      public void setEndTime(long endTime) {
          this.endTime = endTime;
      }
  
      public String getCommand() {
          return command;
      }
  
      public void setCommand(String command) {
          this.command = command;
      }
  
      public int getValueBytesLength() {
          return valueBytesLength;
      }
  
      public void setValueBytesLength(int valueBytesLength) {
          this.valueBytesLength = valueBytesLength;
      }
  
      private UsefulDataModel() {
          super();
      }
  
      public long getCost() {
          return this.endTime - this.startTime;
      }
  
      public String getHostPort() {
          return hostPort;
      }
  
      public void setHostPort(String hostPort) {
          this.hostPort = hostPort;
      }
  
      /**
       * 从ThreadLocal里面获取JedisUsefulData
       * 
       * @param threadLocal
       * @return
       */
      public static UsefulDataModel getCostModel(ThreadLocal<UsefulDataModel> threadLocal) {
          UsefulDataModel costModel = threadLocal.get();
          if (costModel == null) {
              costModel = new UsefulDataModel();
              threadLocal.set(costModel);
          }
          return costModel;
      }
  
      @Override
      public String toString() {
          return "UsefulDataModel [startTime=" + startTime + ", endTime=" + endTime + ", command=" + command
                  + ", valueBytesLength=" + valueBytesLength + ", costTime=" + (endTime - startTime) + "ms]";
      }
  
  }
  