content: package com.sohu.cache.server.data;
  
  import java.util.regex.Matcher;
  import java.util.regex.Pattern;
  
  import org.apache.commons.lang.math.NumberUtils;
  
  /**
   * 系统负载
   */
  public class Load implements LineParser{
  	public static final Pattern PATTERN = Pattern.compile(
  			"^BBBP,[0-9]+,uptime,.*(\\d+\\.\\d+), (\\d+\\.\\d+), (\\d+\\.\\d+)");
  	//1分钟负载
  	private float load1;
  	//5分钟负载
  	private float load5;
  	//15分钟负载
  	private float load15;
  	
  	/**
  	 * line format:
  	 * BBBP,585,uptime," 09:35:00 up 567 days, 15:07,  0 users,  load average: 0.60, 0.63, 0.67"
  	 */
  	public void parse(String line, String timeKey) throws Exception{
  		Matcher matcher = PATTERN.matcher(line);
  		if(matcher.find()) {
  			load1 = NumberUtils.toFloat(matcher.group(1));
  			load5 = NumberUtils.toFloat(matcher.group(2));
  			load15 = NumberUtils.toFloat(matcher.group(3));
  		}
  	}
  	
  	public float getLoad1() {
  		return load1;
  	}
  	public float getLoad5() {
  		return load5;
  	}
  	public float getLoad15() {
  		return load15;
  	}
  
  	@Override
  	public String toString() {
  		return "Load [load1=" + load1 + ", load5=" + load5 + ", load15="
  				+ load15 + "]";
  	}
  }
  