package com.alibaba.jstorm.common.metric; import com.alibaba.jstorm.metric.Bytes; import com.alibaba.jstorm.metric.KVSerializable; /** * @author wange * @since 15/6/23 */ public class MeterData extends MetricBaseData implements KVSerializable { private double m1; private double m5; private double m15; private double mean; public double getM1() { return m1; } public void setM1(double m1) { this.m1 = m1; } public double getM5() { return m5; } public void setM5(double m5) { this.m5 = m5; } public double getM15() { return m15; } public void setM15(double m15) { this.m15 = m15; } public double getMean() { return mean; } public void setMean(double mean) { this.mean = mean; } @Override public byte[] getValue() { byte[] ret = new byte[8 * 4]; Bytes.putDouble(ret, 0, m1); Bytes.putDouble(ret, 8, m5); Bytes.putDouble(ret, 16, m15); Bytes.putDouble(ret, 24, mean); return ret; } @Override public Object fromKV(byte[] key, byte[] value) { parseKey(key); this.m1 = Bytes.toDouble(value, 0); this.m5 = Bytes.toDouble(value, 8); this.m15 = Bytes.toDouble(value, 16); this.mean = Bytes.toDouble(value, 24); return this; } }