You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@storm.apache.org by pt...@apache.org on 2015/12/01 23:05:21 UTC

[43/51] [partial] storm git commit: Update JStorm to latest release 2.1.0

http://git-wip-us.apache.org/repos/asf/storm/blob/7eaf0651/jstorm-core/src/main/java/backtype/storm/generated/MetricSnapshot.java
----------------------------------------------------------------------
diff --git a/jstorm-core/src/main/java/backtype/storm/generated/MetricSnapshot.java b/jstorm-core/src/main/java/backtype/storm/generated/MetricSnapshot.java
new file mode 100644
index 0000000..bfcbfe0
--- /dev/null
+++ b/jstorm-core/src/main/java/backtype/storm/generated/MetricSnapshot.java
@@ -0,0 +1,2221 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package backtype.storm.generated;
+
+import org.apache.thrift.scheme.IScheme;
+import org.apache.thrift.scheme.SchemeFactory;
+import org.apache.thrift.scheme.StandardScheme;
+
+import org.apache.thrift.scheme.TupleScheme;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import org.apache.thrift.async.AsyncMethodCallback;
+import org.apache.thrift.server.AbstractNonblockingServer.*;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.EnumMap;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.EnumSet;
+import java.util.Collections;
+import java.util.BitSet;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import javax.annotation.Generated;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-20")
+public class MetricSnapshot implements org.apache.thrift.TBase<MetricSnapshot, MetricSnapshot._Fields>, java.io.Serializable, Cloneable, Comparable<MetricSnapshot> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("MetricSnapshot");
+
+  private static final org.apache.thrift.protocol.TField METRIC_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("metricId", org.apache.thrift.protocol.TType.I64, (short)1);
+  private static final org.apache.thrift.protocol.TField TS_FIELD_DESC = new org.apache.thrift.protocol.TField("ts", org.apache.thrift.protocol.TType.I64, (short)2);
+  private static final org.apache.thrift.protocol.TField METRIC_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("metricType", org.apache.thrift.protocol.TType.I32, (short)3);
+  private static final org.apache.thrift.protocol.TField LONG_VALUE_FIELD_DESC = new org.apache.thrift.protocol.TField("longValue", org.apache.thrift.protocol.TType.I64, (short)4);
+  private static final org.apache.thrift.protocol.TField DOUBLE_VALUE_FIELD_DESC = new org.apache.thrift.protocol.TField("doubleValue", org.apache.thrift.protocol.TType.DOUBLE, (short)5);
+  private static final org.apache.thrift.protocol.TField M1_FIELD_DESC = new org.apache.thrift.protocol.TField("m1", org.apache.thrift.protocol.TType.DOUBLE, (short)6);
+  private static final org.apache.thrift.protocol.TField M5_FIELD_DESC = new org.apache.thrift.protocol.TField("m5", org.apache.thrift.protocol.TType.DOUBLE, (short)7);
+  private static final org.apache.thrift.protocol.TField M15_FIELD_DESC = new org.apache.thrift.protocol.TField("m15", org.apache.thrift.protocol.TType.DOUBLE, (short)8);
+  private static final org.apache.thrift.protocol.TField MEAN_FIELD_DESC = new org.apache.thrift.protocol.TField("mean", org.apache.thrift.protocol.TType.DOUBLE, (short)9);
+  private static final org.apache.thrift.protocol.TField MIN_FIELD_DESC = new org.apache.thrift.protocol.TField("min", org.apache.thrift.protocol.TType.I64, (short)10);
+  private static final org.apache.thrift.protocol.TField MAX_FIELD_DESC = new org.apache.thrift.protocol.TField("max", org.apache.thrift.protocol.TType.I64, (short)11);
+  private static final org.apache.thrift.protocol.TField P50_FIELD_DESC = new org.apache.thrift.protocol.TField("p50", org.apache.thrift.protocol.TType.DOUBLE, (short)12);
+  private static final org.apache.thrift.protocol.TField P75_FIELD_DESC = new org.apache.thrift.protocol.TField("p75", org.apache.thrift.protocol.TType.DOUBLE, (short)13);
+  private static final org.apache.thrift.protocol.TField P95_FIELD_DESC = new org.apache.thrift.protocol.TField("p95", org.apache.thrift.protocol.TType.DOUBLE, (short)14);
+  private static final org.apache.thrift.protocol.TField P98_FIELD_DESC = new org.apache.thrift.protocol.TField("p98", org.apache.thrift.protocol.TType.DOUBLE, (short)15);
+  private static final org.apache.thrift.protocol.TField P99_FIELD_DESC = new org.apache.thrift.protocol.TField("p99", org.apache.thrift.protocol.TType.DOUBLE, (short)16);
+  private static final org.apache.thrift.protocol.TField P999_FIELD_DESC = new org.apache.thrift.protocol.TField("p999", org.apache.thrift.protocol.TType.DOUBLE, (short)17);
+  private static final org.apache.thrift.protocol.TField STDDEV_FIELD_DESC = new org.apache.thrift.protocol.TField("stddev", org.apache.thrift.protocol.TType.DOUBLE, (short)18);
+  private static final org.apache.thrift.protocol.TField POINTS_FIELD_DESC = new org.apache.thrift.protocol.TField("points", org.apache.thrift.protocol.TType.LIST, (short)19);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new MetricSnapshotStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new MetricSnapshotTupleSchemeFactory());
+  }
+
+  private long metricId; // required
+  private long ts; // required
+  private int metricType; // required
+  private long longValue; // optional
+  private double doubleValue; // optional
+  private double m1; // optional
+  private double m5; // optional
+  private double m15; // optional
+  private double mean; // optional
+  private long min; // optional
+  private long max; // optional
+  private double p50; // optional
+  private double p75; // optional
+  private double p95; // optional
+  private double p98; // optional
+  private double p99; // optional
+  private double p999; // optional
+  private double stddev; // optional
+  private List<Long> points; // optional
+
+  /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+  public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+    METRIC_ID((short)1, "metricId"),
+    TS((short)2, "ts"),
+    METRIC_TYPE((short)3, "metricType"),
+    LONG_VALUE((short)4, "longValue"),
+    DOUBLE_VALUE((short)5, "doubleValue"),
+    M1((short)6, "m1"),
+    M5((short)7, "m5"),
+    M15((short)8, "m15"),
+    MEAN((short)9, "mean"),
+    MIN((short)10, "min"),
+    MAX((short)11, "max"),
+    P50((short)12, "p50"),
+    P75((short)13, "p75"),
+    P95((short)14, "p95"),
+    P98((short)15, "p98"),
+    P99((short)16, "p99"),
+    P999((short)17, "p999"),
+    STDDEV((short)18, "stddev"),
+    POINTS((short)19, "points");
+
+    private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+    static {
+      for (_Fields field : EnumSet.allOf(_Fields.class)) {
+        byName.put(field.getFieldName(), field);
+      }
+    }
+
+    /**
+     * Find the _Fields constant that matches fieldId, or null if its not found.
+     */
+    public static _Fields findByThriftId(int fieldId) {
+      switch(fieldId) {
+        case 1: // METRIC_ID
+          return METRIC_ID;
+        case 2: // TS
+          return TS;
+        case 3: // METRIC_TYPE
+          return METRIC_TYPE;
+        case 4: // LONG_VALUE
+          return LONG_VALUE;
+        case 5: // DOUBLE_VALUE
+          return DOUBLE_VALUE;
+        case 6: // M1
+          return M1;
+        case 7: // M5
+          return M5;
+        case 8: // M15
+          return M15;
+        case 9: // MEAN
+          return MEAN;
+        case 10: // MIN
+          return MIN;
+        case 11: // MAX
+          return MAX;
+        case 12: // P50
+          return P50;
+        case 13: // P75
+          return P75;
+        case 14: // P95
+          return P95;
+        case 15: // P98
+          return P98;
+        case 16: // P99
+          return P99;
+        case 17: // P999
+          return P999;
+        case 18: // STDDEV
+          return STDDEV;
+        case 19: // POINTS
+          return POINTS;
+        default:
+          return null;
+      }
+    }
+
+    /**
+     * Find the _Fields constant that matches fieldId, throwing an exception
+     * if it is not found.
+     */
+    public static _Fields findByThriftIdOrThrow(int fieldId) {
+      _Fields fields = findByThriftId(fieldId);
+      if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+      return fields;
+    }
+
+    /**
+     * Find the _Fields constant that matches name, or null if its not found.
+     */
+    public static _Fields findByName(String name) {
+      return byName.get(name);
+    }
+
+    private final short _thriftId;
+    private final String _fieldName;
+
+    _Fields(short thriftId, String fieldName) {
+      _thriftId = thriftId;
+      _fieldName = fieldName;
+    }
+
+    public short getThriftFieldId() {
+      return _thriftId;
+    }
+
+    public String getFieldName() {
+      return _fieldName;
+    }
+  }
+
+  // isset id assignments
+  private static final int __METRICID_ISSET_ID = 0;
+  private static final int __TS_ISSET_ID = 1;
+  private static final int __METRICTYPE_ISSET_ID = 2;
+  private static final int __LONGVALUE_ISSET_ID = 3;
+  private static final int __DOUBLEVALUE_ISSET_ID = 4;
+  private static final int __M1_ISSET_ID = 5;
+  private static final int __M5_ISSET_ID = 6;
+  private static final int __M15_ISSET_ID = 7;
+  private static final int __MEAN_ISSET_ID = 8;
+  private static final int __MIN_ISSET_ID = 9;
+  private static final int __MAX_ISSET_ID = 10;
+  private static final int __P50_ISSET_ID = 11;
+  private static final int __P75_ISSET_ID = 12;
+  private static final int __P95_ISSET_ID = 13;
+  private static final int __P98_ISSET_ID = 14;
+  private static final int __P99_ISSET_ID = 15;
+  private static final int __P999_ISSET_ID = 16;
+  private static final int __STDDEV_ISSET_ID = 17;
+  private int __isset_bitfield = 0;
+  private static final _Fields optionals[] = {_Fields.LONG_VALUE,_Fields.DOUBLE_VALUE,_Fields.M1,_Fields.M5,_Fields.M15,_Fields.MEAN,_Fields.MIN,_Fields.MAX,_Fields.P50,_Fields.P75,_Fields.P95,_Fields.P98,_Fields.P99,_Fields.P999,_Fields.STDDEV,_Fields.POINTS};
+  public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+  static {
+    Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+    tmpMap.put(_Fields.METRIC_ID, new org.apache.thrift.meta_data.FieldMetaData("metricId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
+    tmpMap.put(_Fields.TS, new org.apache.thrift.meta_data.FieldMetaData("ts", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
+    tmpMap.put(_Fields.METRIC_TYPE, new org.apache.thrift.meta_data.FieldMetaData("metricType", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
+    tmpMap.put(_Fields.LONG_VALUE, new org.apache.thrift.meta_data.FieldMetaData("longValue", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
+    tmpMap.put(_Fields.DOUBLE_VALUE, new org.apache.thrift.meta_data.FieldMetaData("doubleValue", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
+    tmpMap.put(_Fields.M1, new org.apache.thrift.meta_data.FieldMetaData("m1", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
+    tmpMap.put(_Fields.M5, new org.apache.thrift.meta_data.FieldMetaData("m5", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
+    tmpMap.put(_Fields.M15, new org.apache.thrift.meta_data.FieldMetaData("m15", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
+    tmpMap.put(_Fields.MEAN, new org.apache.thrift.meta_data.FieldMetaData("mean", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
+    tmpMap.put(_Fields.MIN, new org.apache.thrift.meta_data.FieldMetaData("min", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
+    tmpMap.put(_Fields.MAX, new org.apache.thrift.meta_data.FieldMetaData("max", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
+    tmpMap.put(_Fields.P50, new org.apache.thrift.meta_data.FieldMetaData("p50", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
+    tmpMap.put(_Fields.P75, new org.apache.thrift.meta_data.FieldMetaData("p75", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
+    tmpMap.put(_Fields.P95, new org.apache.thrift.meta_data.FieldMetaData("p95", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
+    tmpMap.put(_Fields.P98, new org.apache.thrift.meta_data.FieldMetaData("p98", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
+    tmpMap.put(_Fields.P99, new org.apache.thrift.meta_data.FieldMetaData("p99", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
+    tmpMap.put(_Fields.P999, new org.apache.thrift.meta_data.FieldMetaData("p999", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
+    tmpMap.put(_Fields.STDDEV, new org.apache.thrift.meta_data.FieldMetaData("stddev", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
+    tmpMap.put(_Fields.POINTS, new org.apache.thrift.meta_data.FieldMetaData("points", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
+            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64))));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(MetricSnapshot.class, metaDataMap);
+  }
+
+  public MetricSnapshot() {
+  }
+
+  public MetricSnapshot(
+    long metricId,
+    long ts,
+    int metricType)
+  {
+    this();
+    this.metricId = metricId;
+    set_metricId_isSet(true);
+    this.ts = ts;
+    set_ts_isSet(true);
+    this.metricType = metricType;
+    set_metricType_isSet(true);
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public MetricSnapshot(MetricSnapshot other) {
+    __isset_bitfield = other.__isset_bitfield;
+    this.metricId = other.metricId;
+    this.ts = other.ts;
+    this.metricType = other.metricType;
+    this.longValue = other.longValue;
+    this.doubleValue = other.doubleValue;
+    this.m1 = other.m1;
+    this.m5 = other.m5;
+    this.m15 = other.m15;
+    this.mean = other.mean;
+    this.min = other.min;
+    this.max = other.max;
+    this.p50 = other.p50;
+    this.p75 = other.p75;
+    this.p95 = other.p95;
+    this.p98 = other.p98;
+    this.p99 = other.p99;
+    this.p999 = other.p999;
+    this.stddev = other.stddev;
+    if (other.is_set_points()) {
+      List<Long> __this__points = new ArrayList<Long>(other.points);
+      this.points = __this__points;
+    }
+  }
+
+  public MetricSnapshot deepCopy() {
+    return new MetricSnapshot(this);
+  }
+
+  @Override
+  public void clear() {
+    set_metricId_isSet(false);
+    this.metricId = 0;
+    set_ts_isSet(false);
+    this.ts = 0;
+    set_metricType_isSet(false);
+    this.metricType = 0;
+    set_longValue_isSet(false);
+    this.longValue = 0;
+    set_doubleValue_isSet(false);
+    this.doubleValue = 0.0;
+    set_m1_isSet(false);
+    this.m1 = 0.0;
+    set_m5_isSet(false);
+    this.m5 = 0.0;
+    set_m15_isSet(false);
+    this.m15 = 0.0;
+    set_mean_isSet(false);
+    this.mean = 0.0;
+    set_min_isSet(false);
+    this.min = 0;
+    set_max_isSet(false);
+    this.max = 0;
+    set_p50_isSet(false);
+    this.p50 = 0.0;
+    set_p75_isSet(false);
+    this.p75 = 0.0;
+    set_p95_isSet(false);
+    this.p95 = 0.0;
+    set_p98_isSet(false);
+    this.p98 = 0.0;
+    set_p99_isSet(false);
+    this.p99 = 0.0;
+    set_p999_isSet(false);
+    this.p999 = 0.0;
+    set_stddev_isSet(false);
+    this.stddev = 0.0;
+    this.points = null;
+  }
+
+  public long get_metricId() {
+    return this.metricId;
+  }
+
+  public void set_metricId(long metricId) {
+    this.metricId = metricId;
+    set_metricId_isSet(true);
+  }
+
+  public void unset_metricId() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __METRICID_ISSET_ID);
+  }
+
+  /** Returns true if field metricId is set (has been assigned a value) and false otherwise */
+  public boolean is_set_metricId() {
+    return EncodingUtils.testBit(__isset_bitfield, __METRICID_ISSET_ID);
+  }
+
+  public void set_metricId_isSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __METRICID_ISSET_ID, value);
+  }
+
+  public long get_ts() {
+    return this.ts;
+  }
+
+  public void set_ts(long ts) {
+    this.ts = ts;
+    set_ts_isSet(true);
+  }
+
+  public void unset_ts() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __TS_ISSET_ID);
+  }
+
+  /** Returns true if field ts is set (has been assigned a value) and false otherwise */
+  public boolean is_set_ts() {
+    return EncodingUtils.testBit(__isset_bitfield, __TS_ISSET_ID);
+  }
+
+  public void set_ts_isSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __TS_ISSET_ID, value);
+  }
+
+  public int get_metricType() {
+    return this.metricType;
+  }
+
+  public void set_metricType(int metricType) {
+    this.metricType = metricType;
+    set_metricType_isSet(true);
+  }
+
+  public void unset_metricType() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __METRICTYPE_ISSET_ID);
+  }
+
+  /** Returns true if field metricType is set (has been assigned a value) and false otherwise */
+  public boolean is_set_metricType() {
+    return EncodingUtils.testBit(__isset_bitfield, __METRICTYPE_ISSET_ID);
+  }
+
+  public void set_metricType_isSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __METRICTYPE_ISSET_ID, value);
+  }
+
+  public long get_longValue() {
+    return this.longValue;
+  }
+
+  public void set_longValue(long longValue) {
+    this.longValue = longValue;
+    set_longValue_isSet(true);
+  }
+
+  public void unset_longValue() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __LONGVALUE_ISSET_ID);
+  }
+
+  /** Returns true if field longValue is set (has been assigned a value) and false otherwise */
+  public boolean is_set_longValue() {
+    return EncodingUtils.testBit(__isset_bitfield, __LONGVALUE_ISSET_ID);
+  }
+
+  public void set_longValue_isSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __LONGVALUE_ISSET_ID, value);
+  }
+
+  public double get_doubleValue() {
+    return this.doubleValue;
+  }
+
+  public void set_doubleValue(double doubleValue) {
+    this.doubleValue = doubleValue;
+    set_doubleValue_isSet(true);
+  }
+
+  public void unset_doubleValue() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __DOUBLEVALUE_ISSET_ID);
+  }
+
+  /** Returns true if field doubleValue is set (has been assigned a value) and false otherwise */
+  public boolean is_set_doubleValue() {
+    return EncodingUtils.testBit(__isset_bitfield, __DOUBLEVALUE_ISSET_ID);
+  }
+
+  public void set_doubleValue_isSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __DOUBLEVALUE_ISSET_ID, value);
+  }
+
+  public double get_m1() {
+    return this.m1;
+  }
+
+  public void set_m1(double m1) {
+    this.m1 = m1;
+    set_m1_isSet(true);
+  }
+
+  public void unset_m1() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __M1_ISSET_ID);
+  }
+
+  /** Returns true if field m1 is set (has been assigned a value) and false otherwise */
+  public boolean is_set_m1() {
+    return EncodingUtils.testBit(__isset_bitfield, __M1_ISSET_ID);
+  }
+
+  public void set_m1_isSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __M1_ISSET_ID, value);
+  }
+
+  public double get_m5() {
+    return this.m5;
+  }
+
+  public void set_m5(double m5) {
+    this.m5 = m5;
+    set_m5_isSet(true);
+  }
+
+  public void unset_m5() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __M5_ISSET_ID);
+  }
+
+  /** Returns true if field m5 is set (has been assigned a value) and false otherwise */
+  public boolean is_set_m5() {
+    return EncodingUtils.testBit(__isset_bitfield, __M5_ISSET_ID);
+  }
+
+  public void set_m5_isSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __M5_ISSET_ID, value);
+  }
+
+  public double get_m15() {
+    return this.m15;
+  }
+
+  public void set_m15(double m15) {
+    this.m15 = m15;
+    set_m15_isSet(true);
+  }
+
+  public void unset_m15() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __M15_ISSET_ID);
+  }
+
+  /** Returns true if field m15 is set (has been assigned a value) and false otherwise */
+  public boolean is_set_m15() {
+    return EncodingUtils.testBit(__isset_bitfield, __M15_ISSET_ID);
+  }
+
+  public void set_m15_isSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __M15_ISSET_ID, value);
+  }
+
+  public double get_mean() {
+    return this.mean;
+  }
+
+  public void set_mean(double mean) {
+    this.mean = mean;
+    set_mean_isSet(true);
+  }
+
+  public void unset_mean() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __MEAN_ISSET_ID);
+  }
+
+  /** Returns true if field mean is set (has been assigned a value) and false otherwise */
+  public boolean is_set_mean() {
+    return EncodingUtils.testBit(__isset_bitfield, __MEAN_ISSET_ID);
+  }
+
+  public void set_mean_isSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __MEAN_ISSET_ID, value);
+  }
+
+  public long get_min() {
+    return this.min;
+  }
+
+  public void set_min(long min) {
+    this.min = min;
+    set_min_isSet(true);
+  }
+
+  public void unset_min() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __MIN_ISSET_ID);
+  }
+
+  /** Returns true if field min is set (has been assigned a value) and false otherwise */
+  public boolean is_set_min() {
+    return EncodingUtils.testBit(__isset_bitfield, __MIN_ISSET_ID);
+  }
+
+  public void set_min_isSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __MIN_ISSET_ID, value);
+  }
+
+  public long get_max() {
+    return this.max;
+  }
+
+  public void set_max(long max) {
+    this.max = max;
+    set_max_isSet(true);
+  }
+
+  public void unset_max() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __MAX_ISSET_ID);
+  }
+
+  /** Returns true if field max is set (has been assigned a value) and false otherwise */
+  public boolean is_set_max() {
+    return EncodingUtils.testBit(__isset_bitfield, __MAX_ISSET_ID);
+  }
+
+  public void set_max_isSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __MAX_ISSET_ID, value);
+  }
+
+  public double get_p50() {
+    return this.p50;
+  }
+
+  public void set_p50(double p50) {
+    this.p50 = p50;
+    set_p50_isSet(true);
+  }
+
+  public void unset_p50() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __P50_ISSET_ID);
+  }
+
+  /** Returns true if field p50 is set (has been assigned a value) and false otherwise */
+  public boolean is_set_p50() {
+    return EncodingUtils.testBit(__isset_bitfield, __P50_ISSET_ID);
+  }
+
+  public void set_p50_isSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __P50_ISSET_ID, value);
+  }
+
+  public double get_p75() {
+    return this.p75;
+  }
+
+  public void set_p75(double p75) {
+    this.p75 = p75;
+    set_p75_isSet(true);
+  }
+
+  public void unset_p75() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __P75_ISSET_ID);
+  }
+
+  /** Returns true if field p75 is set (has been assigned a value) and false otherwise */
+  public boolean is_set_p75() {
+    return EncodingUtils.testBit(__isset_bitfield, __P75_ISSET_ID);
+  }
+
+  public void set_p75_isSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __P75_ISSET_ID, value);
+  }
+
+  public double get_p95() {
+    return this.p95;
+  }
+
+  public void set_p95(double p95) {
+    this.p95 = p95;
+    set_p95_isSet(true);
+  }
+
+  public void unset_p95() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __P95_ISSET_ID);
+  }
+
+  /** Returns true if field p95 is set (has been assigned a value) and false otherwise */
+  public boolean is_set_p95() {
+    return EncodingUtils.testBit(__isset_bitfield, __P95_ISSET_ID);
+  }
+
+  public void set_p95_isSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __P95_ISSET_ID, value);
+  }
+
+  public double get_p98() {
+    return this.p98;
+  }
+
+  public void set_p98(double p98) {
+    this.p98 = p98;
+    set_p98_isSet(true);
+  }
+
+  public void unset_p98() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __P98_ISSET_ID);
+  }
+
+  /** Returns true if field p98 is set (has been assigned a value) and false otherwise */
+  public boolean is_set_p98() {
+    return EncodingUtils.testBit(__isset_bitfield, __P98_ISSET_ID);
+  }
+
+  public void set_p98_isSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __P98_ISSET_ID, value);
+  }
+
+  public double get_p99() {
+    return this.p99;
+  }
+
+  public void set_p99(double p99) {
+    this.p99 = p99;
+    set_p99_isSet(true);
+  }
+
+  public void unset_p99() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __P99_ISSET_ID);
+  }
+
+  /** Returns true if field p99 is set (has been assigned a value) and false otherwise */
+  public boolean is_set_p99() {
+    return EncodingUtils.testBit(__isset_bitfield, __P99_ISSET_ID);
+  }
+
+  public void set_p99_isSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __P99_ISSET_ID, value);
+  }
+
+  public double get_p999() {
+    return this.p999;
+  }
+
+  public void set_p999(double p999) {
+    this.p999 = p999;
+    set_p999_isSet(true);
+  }
+
+  public void unset_p999() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __P999_ISSET_ID);
+  }
+
+  /** Returns true if field p999 is set (has been assigned a value) and false otherwise */
+  public boolean is_set_p999() {
+    return EncodingUtils.testBit(__isset_bitfield, __P999_ISSET_ID);
+  }
+
+  public void set_p999_isSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __P999_ISSET_ID, value);
+  }
+
+  public double get_stddev() {
+    return this.stddev;
+  }
+
+  public void set_stddev(double stddev) {
+    this.stddev = stddev;
+    set_stddev_isSet(true);
+  }
+
+  public void unset_stddev() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __STDDEV_ISSET_ID);
+  }
+
+  /** Returns true if field stddev is set (has been assigned a value) and false otherwise */
+  public boolean is_set_stddev() {
+    return EncodingUtils.testBit(__isset_bitfield, __STDDEV_ISSET_ID);
+  }
+
+  public void set_stddev_isSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __STDDEV_ISSET_ID, value);
+  }
+
+  public int get_points_size() {
+    return (this.points == null) ? 0 : this.points.size();
+  }
+
+  public java.util.Iterator<Long> get_points_iterator() {
+    return (this.points == null) ? null : this.points.iterator();
+  }
+
+  public void add_to_points(long elem) {
+    if (this.points == null) {
+      this.points = new ArrayList<Long>();
+    }
+    this.points.add(elem);
+  }
+
+  public List<Long> get_points() {
+    return this.points;
+  }
+
+  public void set_points(List<Long> points) {
+    this.points = points;
+  }
+
+  public void unset_points() {
+    this.points = null;
+  }
+
+  /** Returns true if field points is set (has been assigned a value) and false otherwise */
+  public boolean is_set_points() {
+    return this.points != null;
+  }
+
+  public void set_points_isSet(boolean value) {
+    if (!value) {
+      this.points = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case METRIC_ID:
+      if (value == null) {
+        unset_metricId();
+      } else {
+        set_metricId((Long)value);
+      }
+      break;
+
+    case TS:
+      if (value == null) {
+        unset_ts();
+      } else {
+        set_ts((Long)value);
+      }
+      break;
+
+    case METRIC_TYPE:
+      if (value == null) {
+        unset_metricType();
+      } else {
+        set_metricType((Integer)value);
+      }
+      break;
+
+    case LONG_VALUE:
+      if (value == null) {
+        unset_longValue();
+      } else {
+        set_longValue((Long)value);
+      }
+      break;
+
+    case DOUBLE_VALUE:
+      if (value == null) {
+        unset_doubleValue();
+      } else {
+        set_doubleValue((Double)value);
+      }
+      break;
+
+    case M1:
+      if (value == null) {
+        unset_m1();
+      } else {
+        set_m1((Double)value);
+      }
+      break;
+
+    case M5:
+      if (value == null) {
+        unset_m5();
+      } else {
+        set_m5((Double)value);
+      }
+      break;
+
+    case M15:
+      if (value == null) {
+        unset_m15();
+      } else {
+        set_m15((Double)value);
+      }
+      break;
+
+    case MEAN:
+      if (value == null) {
+        unset_mean();
+      } else {
+        set_mean((Double)value);
+      }
+      break;
+
+    case MIN:
+      if (value == null) {
+        unset_min();
+      } else {
+        set_min((Long)value);
+      }
+      break;
+
+    case MAX:
+      if (value == null) {
+        unset_max();
+      } else {
+        set_max((Long)value);
+      }
+      break;
+
+    case P50:
+      if (value == null) {
+        unset_p50();
+      } else {
+        set_p50((Double)value);
+      }
+      break;
+
+    case P75:
+      if (value == null) {
+        unset_p75();
+      } else {
+        set_p75((Double)value);
+      }
+      break;
+
+    case P95:
+      if (value == null) {
+        unset_p95();
+      } else {
+        set_p95((Double)value);
+      }
+      break;
+
+    case P98:
+      if (value == null) {
+        unset_p98();
+      } else {
+        set_p98((Double)value);
+      }
+      break;
+
+    case P99:
+      if (value == null) {
+        unset_p99();
+      } else {
+        set_p99((Double)value);
+      }
+      break;
+
+    case P999:
+      if (value == null) {
+        unset_p999();
+      } else {
+        set_p999((Double)value);
+      }
+      break;
+
+    case STDDEV:
+      if (value == null) {
+        unset_stddev();
+      } else {
+        set_stddev((Double)value);
+      }
+      break;
+
+    case POINTS:
+      if (value == null) {
+        unset_points();
+      } else {
+        set_points((List<Long>)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case METRIC_ID:
+      return Long.valueOf(get_metricId());
+
+    case TS:
+      return Long.valueOf(get_ts());
+
+    case METRIC_TYPE:
+      return Integer.valueOf(get_metricType());
+
+    case LONG_VALUE:
+      return Long.valueOf(get_longValue());
+
+    case DOUBLE_VALUE:
+      return Double.valueOf(get_doubleValue());
+
+    case M1:
+      return Double.valueOf(get_m1());
+
+    case M5:
+      return Double.valueOf(get_m5());
+
+    case M15:
+      return Double.valueOf(get_m15());
+
+    case MEAN:
+      return Double.valueOf(get_mean());
+
+    case MIN:
+      return Long.valueOf(get_min());
+
+    case MAX:
+      return Long.valueOf(get_max());
+
+    case P50:
+      return Double.valueOf(get_p50());
+
+    case P75:
+      return Double.valueOf(get_p75());
+
+    case P95:
+      return Double.valueOf(get_p95());
+
+    case P98:
+      return Double.valueOf(get_p98());
+
+    case P99:
+      return Double.valueOf(get_p99());
+
+    case P999:
+      return Double.valueOf(get_p999());
+
+    case STDDEV:
+      return Double.valueOf(get_stddev());
+
+    case POINTS:
+      return get_points();
+
+    }
+    throw new IllegalStateException();
+  }
+
+  /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  public boolean isSet(_Fields field) {
+    if (field == null) {
+      throw new IllegalArgumentException();
+    }
+
+    switch (field) {
+    case METRIC_ID:
+      return is_set_metricId();
+    case TS:
+      return is_set_ts();
+    case METRIC_TYPE:
+      return is_set_metricType();
+    case LONG_VALUE:
+      return is_set_longValue();
+    case DOUBLE_VALUE:
+      return is_set_doubleValue();
+    case M1:
+      return is_set_m1();
+    case M5:
+      return is_set_m5();
+    case M15:
+      return is_set_m15();
+    case MEAN:
+      return is_set_mean();
+    case MIN:
+      return is_set_min();
+    case MAX:
+      return is_set_max();
+    case P50:
+      return is_set_p50();
+    case P75:
+      return is_set_p75();
+    case P95:
+      return is_set_p95();
+    case P98:
+      return is_set_p98();
+    case P99:
+      return is_set_p99();
+    case P999:
+      return is_set_p999();
+    case STDDEV:
+      return is_set_stddev();
+    case POINTS:
+      return is_set_points();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof MetricSnapshot)
+      return this.equals((MetricSnapshot)that);
+    return false;
+  }
+
+  public boolean equals(MetricSnapshot that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_metricId = true;
+    boolean that_present_metricId = true;
+    if (this_present_metricId || that_present_metricId) {
+      if (!(this_present_metricId && that_present_metricId))
+        return false;
+      if (this.metricId != that.metricId)
+        return false;
+    }
+
+    boolean this_present_ts = true;
+    boolean that_present_ts = true;
+    if (this_present_ts || that_present_ts) {
+      if (!(this_present_ts && that_present_ts))
+        return false;
+      if (this.ts != that.ts)
+        return false;
+    }
+
+    boolean this_present_metricType = true;
+    boolean that_present_metricType = true;
+    if (this_present_metricType || that_present_metricType) {
+      if (!(this_present_metricType && that_present_metricType))
+        return false;
+      if (this.metricType != that.metricType)
+        return false;
+    }
+
+    boolean this_present_longValue = true && this.is_set_longValue();
+    boolean that_present_longValue = true && that.is_set_longValue();
+    if (this_present_longValue || that_present_longValue) {
+      if (!(this_present_longValue && that_present_longValue))
+        return false;
+      if (this.longValue != that.longValue)
+        return false;
+    }
+
+    boolean this_present_doubleValue = true && this.is_set_doubleValue();
+    boolean that_present_doubleValue = true && that.is_set_doubleValue();
+    if (this_present_doubleValue || that_present_doubleValue) {
+      if (!(this_present_doubleValue && that_present_doubleValue))
+        return false;
+      if (this.doubleValue != that.doubleValue)
+        return false;
+    }
+
+    boolean this_present_m1 = true && this.is_set_m1();
+    boolean that_present_m1 = true && that.is_set_m1();
+    if (this_present_m1 || that_present_m1) {
+      if (!(this_present_m1 && that_present_m1))
+        return false;
+      if (this.m1 != that.m1)
+        return false;
+    }
+
+    boolean this_present_m5 = true && this.is_set_m5();
+    boolean that_present_m5 = true && that.is_set_m5();
+    if (this_present_m5 || that_present_m5) {
+      if (!(this_present_m5 && that_present_m5))
+        return false;
+      if (this.m5 != that.m5)
+        return false;
+    }
+
+    boolean this_present_m15 = true && this.is_set_m15();
+    boolean that_present_m15 = true && that.is_set_m15();
+    if (this_present_m15 || that_present_m15) {
+      if (!(this_present_m15 && that_present_m15))
+        return false;
+      if (this.m15 != that.m15)
+        return false;
+    }
+
+    boolean this_present_mean = true && this.is_set_mean();
+    boolean that_present_mean = true && that.is_set_mean();
+    if (this_present_mean || that_present_mean) {
+      if (!(this_present_mean && that_present_mean))
+        return false;
+      if (this.mean != that.mean)
+        return false;
+    }
+
+    boolean this_present_min = true && this.is_set_min();
+    boolean that_present_min = true && that.is_set_min();
+    if (this_present_min || that_present_min) {
+      if (!(this_present_min && that_present_min))
+        return false;
+      if (this.min != that.min)
+        return false;
+    }
+
+    boolean this_present_max = true && this.is_set_max();
+    boolean that_present_max = true && that.is_set_max();
+    if (this_present_max || that_present_max) {
+      if (!(this_present_max && that_present_max))
+        return false;
+      if (this.max != that.max)
+        return false;
+    }
+
+    boolean this_present_p50 = true && this.is_set_p50();
+    boolean that_present_p50 = true && that.is_set_p50();
+    if (this_present_p50 || that_present_p50) {
+      if (!(this_present_p50 && that_present_p50))
+        return false;
+      if (this.p50 != that.p50)
+        return false;
+    }
+
+    boolean this_present_p75 = true && this.is_set_p75();
+    boolean that_present_p75 = true && that.is_set_p75();
+    if (this_present_p75 || that_present_p75) {
+      if (!(this_present_p75 && that_present_p75))
+        return false;
+      if (this.p75 != that.p75)
+        return false;
+    }
+
+    boolean this_present_p95 = true && this.is_set_p95();
+    boolean that_present_p95 = true && that.is_set_p95();
+    if (this_present_p95 || that_present_p95) {
+      if (!(this_present_p95 && that_present_p95))
+        return false;
+      if (this.p95 != that.p95)
+        return false;
+    }
+
+    boolean this_present_p98 = true && this.is_set_p98();
+    boolean that_present_p98 = true && that.is_set_p98();
+    if (this_present_p98 || that_present_p98) {
+      if (!(this_present_p98 && that_present_p98))
+        return false;
+      if (this.p98 != that.p98)
+        return false;
+    }
+
+    boolean this_present_p99 = true && this.is_set_p99();
+    boolean that_present_p99 = true && that.is_set_p99();
+    if (this_present_p99 || that_present_p99) {
+      if (!(this_present_p99 && that_present_p99))
+        return false;
+      if (this.p99 != that.p99)
+        return false;
+    }
+
+    boolean this_present_p999 = true && this.is_set_p999();
+    boolean that_present_p999 = true && that.is_set_p999();
+    if (this_present_p999 || that_present_p999) {
+      if (!(this_present_p999 && that_present_p999))
+        return false;
+      if (this.p999 != that.p999)
+        return false;
+    }
+
+    boolean this_present_stddev = true && this.is_set_stddev();
+    boolean that_present_stddev = true && that.is_set_stddev();
+    if (this_present_stddev || that_present_stddev) {
+      if (!(this_present_stddev && that_present_stddev))
+        return false;
+      if (this.stddev != that.stddev)
+        return false;
+    }
+
+    boolean this_present_points = true && this.is_set_points();
+    boolean that_present_points = true && that.is_set_points();
+    if (this_present_points || that_present_points) {
+      if (!(this_present_points && that_present_points))
+        return false;
+      if (!this.points.equals(that.points))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    List<Object> list = new ArrayList<Object>();
+
+    boolean present_metricId = true;
+    list.add(present_metricId);
+    if (present_metricId)
+      list.add(metricId);
+
+    boolean present_ts = true;
+    list.add(present_ts);
+    if (present_ts)
+      list.add(ts);
+
+    boolean present_metricType = true;
+    list.add(present_metricType);
+    if (present_metricType)
+      list.add(metricType);
+
+    boolean present_longValue = true && (is_set_longValue());
+    list.add(present_longValue);
+    if (present_longValue)
+      list.add(longValue);
+
+    boolean present_doubleValue = true && (is_set_doubleValue());
+    list.add(present_doubleValue);
+    if (present_doubleValue)
+      list.add(doubleValue);
+
+    boolean present_m1 = true && (is_set_m1());
+    list.add(present_m1);
+    if (present_m1)
+      list.add(m1);
+
+    boolean present_m5 = true && (is_set_m5());
+    list.add(present_m5);
+    if (present_m5)
+      list.add(m5);
+
+    boolean present_m15 = true && (is_set_m15());
+    list.add(present_m15);
+    if (present_m15)
+      list.add(m15);
+
+    boolean present_mean = true && (is_set_mean());
+    list.add(present_mean);
+    if (present_mean)
+      list.add(mean);
+
+    boolean present_min = true && (is_set_min());
+    list.add(present_min);
+    if (present_min)
+      list.add(min);
+
+    boolean present_max = true && (is_set_max());
+    list.add(present_max);
+    if (present_max)
+      list.add(max);
+
+    boolean present_p50 = true && (is_set_p50());
+    list.add(present_p50);
+    if (present_p50)
+      list.add(p50);
+
+    boolean present_p75 = true && (is_set_p75());
+    list.add(present_p75);
+    if (present_p75)
+      list.add(p75);
+
+    boolean present_p95 = true && (is_set_p95());
+    list.add(present_p95);
+    if (present_p95)
+      list.add(p95);
+
+    boolean present_p98 = true && (is_set_p98());
+    list.add(present_p98);
+    if (present_p98)
+      list.add(p98);
+
+    boolean present_p99 = true && (is_set_p99());
+    list.add(present_p99);
+    if (present_p99)
+      list.add(p99);
+
+    boolean present_p999 = true && (is_set_p999());
+    list.add(present_p999);
+    if (present_p999)
+      list.add(p999);
+
+    boolean present_stddev = true && (is_set_stddev());
+    list.add(present_stddev);
+    if (present_stddev)
+      list.add(stddev);
+
+    boolean present_points = true && (is_set_points());
+    list.add(present_points);
+    if (present_points)
+      list.add(points);
+
+    return list.hashCode();
+  }
+
+  @Override
+  public int compareTo(MetricSnapshot other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(is_set_metricId()).compareTo(other.is_set_metricId());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_metricId()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.metricId, other.metricId);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(is_set_ts()).compareTo(other.is_set_ts());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_ts()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ts, other.ts);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(is_set_metricType()).compareTo(other.is_set_metricType());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_metricType()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.metricType, other.metricType);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(is_set_longValue()).compareTo(other.is_set_longValue());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_longValue()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.longValue, other.longValue);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(is_set_doubleValue()).compareTo(other.is_set_doubleValue());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_doubleValue()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.doubleValue, other.doubleValue);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(is_set_m1()).compareTo(other.is_set_m1());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_m1()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.m1, other.m1);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(is_set_m5()).compareTo(other.is_set_m5());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_m5()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.m5, other.m5);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(is_set_m15()).compareTo(other.is_set_m15());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_m15()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.m15, other.m15);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(is_set_mean()).compareTo(other.is_set_mean());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_mean()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.mean, other.mean);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(is_set_min()).compareTo(other.is_set_min());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_min()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.min, other.min);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(is_set_max()).compareTo(other.is_set_max());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_max()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.max, other.max);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(is_set_p50()).compareTo(other.is_set_p50());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_p50()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.p50, other.p50);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(is_set_p75()).compareTo(other.is_set_p75());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_p75()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.p75, other.p75);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(is_set_p95()).compareTo(other.is_set_p95());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_p95()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.p95, other.p95);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(is_set_p98()).compareTo(other.is_set_p98());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_p98()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.p98, other.p98);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(is_set_p99()).compareTo(other.is_set_p99());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_p99()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.p99, other.p99);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(is_set_p999()).compareTo(other.is_set_p999());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_p999()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.p999, other.p999);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(is_set_stddev()).compareTo(other.is_set_stddev());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_stddev()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.stddev, other.stddev);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(is_set_points()).compareTo(other.is_set_points());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_points()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.points, other.points);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    return 0;
+  }
+
+  public _Fields fieldForId(int fieldId) {
+    return _Fields.findByThriftId(fieldId);
+  }
+
+  public void read(org.apache.thrift.protocol.TProtocol iprot) throws TException {
+    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+  }
+
+  public void write(org.apache.thrift.protocol.TProtocol oprot) throws TException {
+    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+  }
+
+  @Override
+  public String toString() {
+    StringBuilder sb = new StringBuilder("MetricSnapshot(");
+    boolean first = true;
+
+    sb.append("metricId:");
+    sb.append(this.metricId);
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("ts:");
+    sb.append(this.ts);
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("metricType:");
+    sb.append(this.metricType);
+    first = false;
+    if (is_set_longValue()) {
+      if (!first) sb.append(", ");
+      sb.append("longValue:");
+      sb.append(this.longValue);
+      first = false;
+    }
+    if (is_set_doubleValue()) {
+      if (!first) sb.append(", ");
+      sb.append("doubleValue:");
+      sb.append(this.doubleValue);
+      first = false;
+    }
+    if (is_set_m1()) {
+      if (!first) sb.append(", ");
+      sb.append("m1:");
+      sb.append(this.m1);
+      first = false;
+    }
+    if (is_set_m5()) {
+      if (!first) sb.append(", ");
+      sb.append("m5:");
+      sb.append(this.m5);
+      first = false;
+    }
+    if (is_set_m15()) {
+      if (!first) sb.append(", ");
+      sb.append("m15:");
+      sb.append(this.m15);
+      first = false;
+    }
+    if (is_set_mean()) {
+      if (!first) sb.append(", ");
+      sb.append("mean:");
+      sb.append(this.mean);
+      first = false;
+    }
+    if (is_set_min()) {
+      if (!first) sb.append(", ");
+      sb.append("min:");
+      sb.append(this.min);
+      first = false;
+    }
+    if (is_set_max()) {
+      if (!first) sb.append(", ");
+      sb.append("max:");
+      sb.append(this.max);
+      first = false;
+    }
+    if (is_set_p50()) {
+      if (!first) sb.append(", ");
+      sb.append("p50:");
+      sb.append(this.p50);
+      first = false;
+    }
+    if (is_set_p75()) {
+      if (!first) sb.append(", ");
+      sb.append("p75:");
+      sb.append(this.p75);
+      first = false;
+    }
+    if (is_set_p95()) {
+      if (!first) sb.append(", ");
+      sb.append("p95:");
+      sb.append(this.p95);
+      first = false;
+    }
+    if (is_set_p98()) {
+      if (!first) sb.append(", ");
+      sb.append("p98:");
+      sb.append(this.p98);
+      first = false;
+    }
+    if (is_set_p99()) {
+      if (!first) sb.append(", ");
+      sb.append("p99:");
+      sb.append(this.p99);
+      first = false;
+    }
+    if (is_set_p999()) {
+      if (!first) sb.append(", ");
+      sb.append("p999:");
+      sb.append(this.p999);
+      first = false;
+    }
+    if (is_set_stddev()) {
+      if (!first) sb.append(", ");
+      sb.append("stddev:");
+      sb.append(this.stddev);
+      first = false;
+    }
+    if (is_set_points()) {
+      if (!first) sb.append(", ");
+      sb.append("points:");
+      if (this.points == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.points);
+      }
+      first = false;
+    }
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws TException {
+    // check for required fields
+    if (!is_set_metricId()) {
+      throw new TProtocolException("Required field 'metricId' is unset! Struct:" + toString());
+    }
+
+    if (!is_set_ts()) {
+      throw new TProtocolException("Required field 'ts' is unset! Struct:" + toString());
+    }
+
+    if (!is_set_metricType()) {
+      throw new TProtocolException("Required field 'metricType' is unset! Struct:" + toString());
+    }
+
+    // check for sub-struct validity
+  }
+
+  private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+    try {
+      write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+    } catch (TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+    try {
+      // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
+      __isset_bitfield = 0;
+      read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+    } catch (TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private static class MetricSnapshotStandardSchemeFactory implements SchemeFactory {
+    public MetricSnapshotStandardScheme getScheme() {
+      return new MetricSnapshotStandardScheme();
+    }
+  }
+
+  private static class MetricSnapshotStandardScheme extends StandardScheme<MetricSnapshot> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, MetricSnapshot struct) throws TException {
+      org.apache.thrift.protocol.TField schemeField;
+      iprot.readStructBegin();
+      while (true)
+      {
+        schemeField = iprot.readFieldBegin();
+        if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+          break;
+        }
+        switch (schemeField.id) {
+          case 1: // METRIC_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
+              struct.metricId = iprot.readI64();
+              struct.set_metricId_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // TS
+            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
+              struct.ts = iprot.readI64();
+              struct.set_ts_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 3: // METRIC_TYPE
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.metricType = iprot.readI32();
+              struct.set_metricType_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 4: // LONG_VALUE
+            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
+              struct.longValue = iprot.readI64();
+              struct.set_longValue_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 5: // DOUBLE_VALUE
+            if (schemeField.type == org.apache.thrift.protocol.TType.DOUBLE) {
+              struct.doubleValue = iprot.readDouble();
+              struct.set_doubleValue_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 6: // M1
+            if (schemeField.type == org.apache.thrift.protocol.TType.DOUBLE) {
+              struct.m1 = iprot.readDouble();
+              struct.set_m1_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 7: // M5
+            if (schemeField.type == org.apache.thrift.protocol.TType.DOUBLE) {
+              struct.m5 = iprot.readDouble();
+              struct.set_m5_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 8: // M15
+            if (schemeField.type == org.apache.thrift.protocol.TType.DOUBLE) {
+              struct.m15 = iprot.readDouble();
+              struct.set_m15_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 9: // MEAN
+            if (schemeField.type == org.apache.thrift.protocol.TType.DOUBLE) {
+              struct.mean = iprot.readDouble();
+              struct.set_mean_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 10: // MIN
+            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
+              struct.min = iprot.readI64();
+              struct.set_min_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 11: // MAX
+            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
+              struct.max = iprot.readI64();
+              struct.set_max_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 12: // P50
+            if (schemeField.type == org.apache.thrift.protocol.TType.DOUBLE) {
+              struct.p50 = iprot.readDouble();
+              struct.set_p50_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 13: // P75
+            if (schemeField.type == org.apache.thrift.protocol.TType.DOUBLE) {
+              struct.p75 = iprot.readDouble();
+              struct.set_p75_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 14: // P95
+            if (schemeField.type == org.apache.thrift.protocol.TType.DOUBLE) {
+              struct.p95 = iprot.readDouble();
+              struct.set_p95_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 15: // P98
+            if (schemeField.type == org.apache.thrift.protocol.TType.DOUBLE) {
+              struct.p98 = iprot.readDouble();
+              struct.set_p98_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 16: // P99
+            if (schemeField.type == org.apache.thrift.protocol.TType.DOUBLE) {
+              struct.p99 = iprot.readDouble();
+              struct.set_p99_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 17: // P999
+            if (schemeField.type == org.apache.thrift.protocol.TType.DOUBLE) {
+              struct.p999 = iprot.readDouble();
+              struct.set_p999_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 18: // STDDEV
+            if (schemeField.type == org.apache.thrift.protocol.TType.DOUBLE) {
+              struct.stddev = iprot.readDouble();
+              struct.set_stddev_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 19: // POINTS
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list116 = iprot.readListBegin();
+                struct.points = new ArrayList<Long>(_list116.size);
+                long _elem117;
+                for (int _i118 = 0; _i118 < _list116.size; ++_i118)
+                {
+                  _elem117 = iprot.readI64();
+                  struct.points.add(_elem117);
+                }
+                iprot.readListEnd();
+              }
+              struct.set_points_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          default:
+            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+        }
+        iprot.readFieldEnd();
+      }
+      iprot.readStructEnd();
+      struct.validate();
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot, MetricSnapshot struct) throws TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      oprot.writeFieldBegin(METRIC_ID_FIELD_DESC);
+      oprot.writeI64(struct.metricId);
+      oprot.writeFieldEnd();
+      oprot.writeFieldBegin(TS_FIELD_DESC);
+      oprot.writeI64(struct.ts);
+      oprot.writeFieldEnd();
+      oprot.writeFieldBegin(METRIC_TYPE_FIELD_DESC);
+      oprot.writeI32(struct.metricType);
+      oprot.writeFieldEnd();
+      if (struct.is_set_longValue()) {
+        oprot.writeFieldBegin(LONG_VALUE_FIELD_DESC);
+        oprot.writeI64(struct.longValue);
+        oprot.writeFieldEnd();
+      }
+      if (struct.is_set_doubleValue()) {
+        oprot.writeFieldBegin(DOUBLE_VALUE_FIELD_DESC);
+        oprot.writeDouble(struct.doubleValue);
+        oprot.writeFieldEnd();
+      }
+      if (struct.is_set_m1()) {
+        oprot.writeFieldBegin(M1_FIELD_DESC);
+        oprot.writeDouble(struct.m1);
+        oprot.writeFieldEnd();
+      }
+      if (struct.is_set_m5()) {
+        oprot.writeFieldBegin(M5_FIELD_DESC);
+        oprot.writeDouble(struct.m5);
+        oprot.writeFieldEnd();
+      }
+      if (struct.is_set_m15()) {
+        oprot.writeFieldBegin(M15_FIELD_DESC);
+        oprot.writeDouble(struct.m15);
+        oprot.writeFieldEnd();
+      }
+      if (struct.is_set_mean()) {
+        oprot.writeFieldBegin(MEAN_FIELD_DESC);
+        oprot.writeDouble(struct.mean);
+        oprot.writeFieldEnd();
+      }
+      if (struct.is_set_min()) {
+        oprot.writeFieldBegin(MIN_FIELD_DESC);
+        oprot.writeI64(struct.min);
+        oprot.writeFieldEnd();
+      }
+      if (struct.is_set_max()) {
+        oprot.writeFieldBegin(MAX_FIELD_DESC);
+        oprot.writeI64(struct.max);
+        oprot.writeFieldEnd();
+      }
+      if (struct.is_set_p50()) {
+        oprot.writeFieldBegin(P50_FIELD_DESC);
+        oprot.writeDouble(struct.p50);
+        oprot.writeFieldEnd();
+      }
+      if (struct.is_set_p75()) {
+        oprot.writeFieldBegin(P75_FIELD_DESC);
+        oprot.writeDouble(struct.p75);
+        oprot.writeFieldEnd();
+      }
+      if (struct.is_set_p95()) {
+        oprot.writeFieldBegin(P95_FIELD_DESC);
+        oprot.writeDouble(struct.p95);
+        oprot.writeFieldEnd();
+      }
+      if (struct.is_set_p98()) {
+        oprot.writeFieldBegin(P98_FIELD_DESC);
+        oprot.writeDouble(struct.p98);
+        oprot.writeFieldEnd();
+      }
+      if (struct.is_set_p99()) {
+        oprot.writeFieldBegin(P99_FIELD_DESC);
+        oprot.writeDouble(struct.p99);
+        oprot.writeFieldEnd();
+      }
+      if (struct.is_set_p999()) {
+        oprot.writeFieldBegin(P999_FIELD_DESC);
+        oprot.writeDouble(struct.p999);
+        oprot.writeFieldEnd();
+      }
+      if (struct.is_set_stddev()) {
+        oprot.writeFieldBegin(STDDEV_FIELD_DESC);
+        oprot.writeDouble(struct.stddev);
+        oprot.writeFieldEnd();
+      }
+      if (struct.points != null) {
+        if (struct.is_set_points()) {
+          oprot.writeFieldBegin(POINTS_FIELD_DESC);
+          {
+            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, struct.points.size()));
+            for (long _iter119 : struct.points)
+            {
+              oprot.writeI64(_iter119);
+            }
+            oprot.writeListEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class MetricSnapshotTupleSchemeFactory implements SchemeFactory {
+    public MetricSnapshotTupleScheme getScheme() {
+      return new MetricSnapshotTupleScheme();
+    }
+  }
+
+  private static class MetricSnapshotTupleScheme extends TupleScheme<MetricSnapshot> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, MetricSnapshot struct) throws TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      oprot.writeI64(struct.metricId);
+      oprot.writeI64(struct.ts);
+      oprot.writeI32(struct.metricType);
+      BitSet optionals = new BitSet();
+      if (struct.is_set_longValue()) {
+        optionals.set(0);
+      }
+      if (struct.is_set_doubleValue()) {
+        optionals.set(1);
+      }
+      if (struct.is_set_m1()) {
+        optionals.set(2);
+      }
+      if (struct.is_set_m5()) {
+        optionals.set(3);
+      }
+      if (struct.is_set_m15()) {
+        optionals.set(4);
+      }
+      if (struct.is_set_mean()) {
+        optionals.set(5);
+      }
+      if (struct.is_set_min()) {
+        optionals.set(6);
+      }
+      if (struct.is_set_max()) {
+        optionals.set(7);
+      }
+      if (struct.is_set_p50()) {
+        optionals.set(8);
+      }
+      if (struct.is_set_p75()) {
+        optionals.set(9);
+      }
+      if (struct.is_set_p95()) {
+        optionals.set(10);
+      }
+      if (struct.is_set_p98()) {
+        optionals.set(11);
+      }
+      if (struct.is_set_p99()) {
+        optionals.set(12);
+      }
+      if (struct.is_set_p999()) {
+        optionals.set(13);
+      }
+      if (struct.is_set_stddev()) {
+        optionals.set(14);
+      }
+      if (struct.is_set_points()) {
+        optionals.set(15);
+      }
+      oprot.writeBitSet(optionals, 16);
+      if (struct.is_set_longValue()) {
+        oprot.writeI64(struct.longValue);
+      }
+      if (struct.is_set_doubleValue()) {
+        oprot.writeDouble(struct.doubleValue);
+      }
+      if (struct.is_set_m1()) {
+        oprot.writeDouble(struct.m1);
+      }
+      if (struct.is_set_m5()) {
+        oprot.writeDouble(struct.m5);
+      }
+      if (struct.is_set_m15()) {
+        oprot.writeDouble(struct.m15);
+      }
+      if (struct.is_set_mean()) {
+        oprot.writeDouble(struct.mean);
+      }
+      if (struct.is_set_min()) {
+        oprot.writeI64(struct.min);
+      }
+      if (struct.is_set_max()) {
+        oprot.writeI64(struct.max);
+      }
+      if (struct.is_set_p50()) {
+        oprot.writeDouble(struct.p50);
+      }
+      if (struct.is_set_p75()) {
+        oprot.writeDouble(struct.p75);
+      }
+      if (struct.is_set_p95()) {
+        oprot.writeDouble(struct.p95);
+      }
+      if (struct.is_set_p98()) {
+        oprot.writeDouble(struct.p98);
+      }
+      if (struct.is_set_p99()) {
+        oprot.writeDouble(struct.p99);
+      }
+      if (struct.is_set_p999()) {
+        oprot.writeDouble(struct.p999);
+      }
+      if (struct.is_set_stddev()) {
+        oprot.writeDouble(struct.stddev);
+      }
+      if (struct.is_set_points()) {
+        {
+          oprot.writeI32(struct.points.size());
+          for (long _iter120 : struct.points)
+          {
+            oprot.writeI64(_iter120);
+          }
+        }
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, MetricSnapshot struct) throws TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      struct.metricId = iprot.readI64();
+      struct.set_metricId_isSet(true);
+      struct.ts = iprot.readI64();
+      struct.set_ts_isSet(true);
+      struct.metricType = iprot.readI32();
+      struct.set_metricType_isSet(true);
+      BitSet incoming = iprot.readBitSet(16);
+      if (incoming.get(0)) {
+        struct.longValue = iprot.readI64();
+        struct.set_longValue_isSet(true);
+      }
+      if (incoming.get(1)) {
+        struct.doubleValue = iprot.readDouble();
+        struct.set_doubleValue_isSet(true);
+      }
+      if (incoming.get(2)) {
+        struct.m1 = iprot.readDouble();
+        struct.set_m1_isSet(true);
+      }
+      if (incoming.get(3)) {
+        struct.m5 = iprot.readDouble();
+        struct.set_m5_isSet(true);
+      }
+      if (incoming.get(4)) {
+        struct.m15 = iprot.readDouble();
+        struct.set_m15_isSet(true);
+      }
+      if (incoming.get(5)) {
+        struct.mean = iprot.readDouble();
+        struct.set_mean_isSet(true);
+      }
+      if (incoming.get(6)) {
+        struct.min = iprot.readI64();
+        struct.set_min_isSet(true);
+      }
+      if (incoming.get(7)) {
+        struct.max = iprot.readI64();
+        struct.set_max_isSet(true);
+      }
+      if (incoming.get(8)) {
+        struct.p50 = iprot.readDouble();
+        struct.set_p50_isSet(true);
+      }
+      if (incoming.get(9)) {
+        struct.p75 = iprot.readDouble();
+        struct.set_p75_isSet(true);
+      }
+      if (incoming.get(10)) {
+        struct.p95 = iprot.readDouble();
+        struct.set_p95_isSet(true);
+      }
+      if (incoming.get(11)) {
+        struct.p98 = iprot.readDouble();
+        struct.set_p98_isSet(true);
+      }
+      if (incoming.get(12)) {
+        struct.p99 = iprot.readDouble();
+        struct.set_p99_isSet(true);
+      }
+      if (incoming.get(13)) {
+        struct.p999 = iprot.readDouble();
+        struct.set_p999_isSet(true);
+      }
+      if (incoming.get(14)) {
+        struct.stddev = iprot.readDouble();
+        struct.set_stddev_isSet(true);
+      }
+      if (incoming.get(15)) {
+        {
+          org.apache.thrift.protocol.TList _list121 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, iprot.readI32());
+          struct.points = new ArrayList<Long>(_list121.size);
+          long _elem122;
+          for (int _i123 = 0; _i123 < _list121.size; ++_i123)
+          {
+            _elem122 = iprot.readI64();
+            struct.points.add(_elem122);
+          }
+        }
+        struct.set_points_isSet(true);
+      }
+    }
+  }
+
+}
+

http://git-wip-us.apache.org/repos/asf/storm/blob/7eaf0651/jstorm-core/src/main/java/backtype/storm/generated/MetricWindow.java
----------------------------------------------------------------------
diff --git a/jstorm-core/src/main/java/backtype/storm/generated/MetricWindow.java b/jstorm-core/src/main/java/backtype/storm/generated/MetricWindow.java
index 73faddd..b117a21 100644
--- a/jstorm-core/src/main/java/backtype/storm/generated/MetricWindow.java
+++ b/jstorm-core/src/main/java/backtype/storm/generated/MetricWindow.java
@@ -34,7 +34,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-27")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-20")
 public class MetricWindow implements org.apache.thrift.TBase<MetricWindow, MetricWindow._Fields>, java.io.Serializable, Cloneable, Comparable<MetricWindow> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("MetricWindow");
 
@@ -278,11 +278,11 @@ public class MetricWindow implements org.apache.thrift.TBase<MetricWindow, Metri
     return _Fields.findByThriftId(fieldId);
   }
 
-  public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+  public void read(org.apache.thrift.protocol.TProtocol iprot) throws TException {
     schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
   }
 
-  public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+  public void write(org.apache.thrift.protocol.TProtocol oprot) throws TException {
     schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
   }
 
@@ -302,10 +302,10 @@ public class MetricWindow implements org.apache.thrift.TBase<MetricWindow, Metri
     return sb.toString();
   }
 
-  public void validate() throws org.apache.thrift.TException {
+  public void validate() throws TException {
     // check for required fields
     if (!is_set_metricWindow()) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'metricWindow' is unset! Struct:" + toString());
+      throw new TProtocolException("Required field 'metricWindow' is unset! Struct:" + toString());
     }
 
     // check for sub-struct validity
@@ -314,7 +314,7 @@ public class MetricWindow implements org.apache.thrift.TBase<MetricWindow, Metri
   private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
     try {
       write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
-    } catch (org.apache.thrift.TException te) {
+    } catch (TException te) {
       throw new java.io.IOException(te);
     }
   }
@@ -322,7 +322,7 @@ public class MetricWindow implements org.apache.thrift.TBase<MetricWindow, Metri
   private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
     try {
       read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
-    } catch (org.apache.thrift.TException te) {
+    } catch (TException te) {
       throw new java.io.IOException(te);
     }
   }
@@ -335,7 +335,7 @@ public class MetricWindow implements org.apache.thrift.TBase<MetricWindow, Metri
 
   private static class MetricWindowStandardScheme extends StandardScheme<MetricWindow> {
 
-    public void read(org.apache.thrift.protocol.TProtocol iprot, MetricWindow struct) throws org.apache.thrift.TException {
+    public void read(org.apache.thrift.protocol.TProtocol iprot, MetricWindow struct) throws TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
       while (true)
@@ -374,7 +374,7 @@ public class MetricWindow implements org.apache.thrift.TBase<MetricWindow, Metri
       struct.validate();
     }
 
-    public void write(org.apache.thrift.protocol.TProtocol oprot, MetricWindow struct) throws org.apache.thrift.TException {
+    public void write(org.apache.thrift.protocol.TProtocol oprot, MetricWindow struct) throws TException {
       struct.validate();
 
       oprot.writeStructBegin(STRUCT_DESC);
@@ -406,7 +406,7 @@ public class MetricWindow implements org.apache.thrift.TBase<MetricWindow, Metri
   private static class MetricWindowTupleScheme extends TupleScheme<MetricWindow> {
 
     @Override
-    public void write(org.apache.thrift.protocol.TProtocol prot, MetricWindow struct) throws org.apache.thrift.TException {
+    public void write(org.apache.thrift.protocol.TProtocol prot, MetricWindow struct) throws TException {
       TTupleProtocol oprot = (TTupleProtocol) prot;
       {
         oprot.writeI32(struct.metricWindow.size());
@@ -419,7 +419,7 @@ public class MetricWindow implements org.apache.thrift.TBase<MetricWindow, Metri
     }
 
     @Override
-    public void read(org.apache.thrift.protocol.TProtocol prot, MetricWindow struct) throws org.apache.thrift.TException {
+    public void read(org.apache.thrift.protocol.TProtocol prot, MetricWindow struct) throws TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
       {
         org.apache.thrift.protocol.TMap _map112 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I32, org.apache.thrift.protocol.TType.DOUBLE, iprot.readI32());

http://git-wip-us.apache.org/repos/asf/storm/blob/7eaf0651/jstorm-core/src/main/java/backtype/storm/generated/MonitorOptions.java
----------------------------------------------------------------------
diff --git a/jstorm-core/src/main/java/backtype/storm/generated/MonitorOptions.java b/jstorm-core/src/main/java/backtype/storm/generated/MonitorOptions.java
index 9b80b78..ec4f6b7 100644
--- a/jstorm-core/src/main/java/backtype/storm/generated/MonitorOptions.java
+++ b/jstorm-core/src/main/java/backtype/storm/generated/MonitorOptions.java
@@ -34,7 +34,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-7-27")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-20")
 public class MonitorOptions implements org.apache.thrift.TBase<MonitorOptions, MonitorOptions._Fields>, java.io.Serializable, Cloneable, Comparable<MonitorOptions> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("MonitorOptions");
 
@@ -259,11 +259,11 @@ public class MonitorOptions implements org.apache.thrift.TBase<MonitorOptions, M
     return _Fields.findByThriftId(fieldId);
   }
 
-  public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+  public void read(org.apache.thrift.protocol.TProtocol iprot) throws TException {
     schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
   }
 
-  public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+  public void write(org.apache.thrift.protocol.TProtocol oprot) throws TException {
     schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
   }
 
@@ -281,7 +281,7 @@ public class MonitorOptions implements org.apache.thrift.TBase<MonitorOptions, M
     return sb.toString();
   }
 
-  public void validate() throws org.apache.thrift.TException {
+  public void validate() throws TException {
     // check for required fields
     // check for sub-struct validity
   }
@@ -289,7 +289,7 @@ public class MonitorOptions implements org.apache.thrift.TBase<MonitorOptions, M
   private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
     try {
       write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
-    } catch (org.apache.thrift.TException te) {
+    } catch (TException te) {
       throw new java.io.IOException(te);
     }
   }
@@ -299,7 +299,7 @@ public class MonitorOptions implements org.apache.thrift.TBase<MonitorOptions, M
       // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
       __isset_bitfield = 0;
       read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
-    } catch (org.apache.thrift.TException te) {
+    } catch (TException te) {
       throw new java.io.IOException(te);
     }
   }
@@ -312,7 +312,7 @@ public class MonitorOptions implements org.apache.thrift.TBase<MonitorOptions, M
 
   private static class MonitorOptionsStandardScheme extends StandardScheme<MonitorOptions> {
 
-    public void read(org.apache.thrift.protocol.TProtocol iprot, MonitorOptions struct) throws org.apache.thrift.TException {
+    public void read(org.apache.thrift.protocol.TProtocol iprot, MonitorOptions struct) throws TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
       while (true)
@@ -339,7 +339,7 @@ public class MonitorOptions implements org.apache.thrift.TBase<MonitorOptions, M
       struct.validate();
     }
 
-    public void write(org.apache.thrift.protocol.TProtocol oprot, MonitorOptions struct) throws org.apache.thrift.TException {
+    public void write(org.apache.thrift.protocol.TProtocol oprot, MonitorOptions struct) throws TException {
       struct.validate();
 
       oprot.writeStructBegin(STRUCT_DESC);
@@ -363,7 +363,7 @@ public class MonitorOptions implements org.apache.thrift.TBase<MonitorOptions, M
   private static class MonitorOptionsTupleScheme extends TupleScheme<MonitorOptions> {
 
     @Override
-    public void write(org.apache.thrift.protocol.TProtocol prot, MonitorOptions struct) throws org.apache.thrift.TException {
+    public void write(org.apache.thrift.protocol.TProtocol prot, MonitorOptions struct) throws TException {
       TTupleProtocol oprot = (TTupleProtocol) prot;
       BitSet optionals = new BitSet();
       if (struct.is_set_isEnable()) {
@@ -376,7 +376,7 @@ public class MonitorOptions implements org.apache.thrift.TBase<MonitorOptions, M
     }
 
     @Override
-    public void read(org.apache.thrift.protocol.TProtocol prot, MonitorOptions struct) throws org.apache.thrift.TException {
+    public void read(org.apache.thrift.protocol.TProtocol prot, MonitorOptions struct) throws TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
       BitSet incoming = iprot.readBitSet(1);
       if (incoming.get(0)) {