package com.alimama.quanjingmonitor.topology; import java.io.Serializable; public class AccessStatVal implements Serializable{ private static final long serialVersionUID = 1L; volatile long cnt=0; volatile double sum=0; volatile double max=0; volatile double min=0; public AccessStatVal copy() { AccessStatVal rtn=new AccessStatVal(); rtn.cnt=this.cnt; rtn.sum=this.sum; rtn.max=this.max; rtn.min=this.min; return rtn; } public void add(double rt) { this.sum+=rt; this.cnt++; this.max=this.max==0?rt:Math.max(this.max, rt); this.min=this.min==0?rt:Math.min(this.max, rt); } public void merge(AccessStatVal as) { this.sum+=as.sum; this.cnt+=as.cnt; this.max=this.max==0?as.max:Math.max(this.max, as.max); this.min=this.min==0?as.min:Math.min(this.max, as.min); } }