You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@drill.apache.org by ja...@apache.org on 2014/05/22 03:14:43 UTC

[06/24] status changes

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/5472140a/protocol/src/main/java/org/apache/drill/exec/proto/UserBitShared.java
----------------------------------------------------------------------
diff --git a/protocol/src/main/java/org/apache/drill/exec/proto/UserBitShared.java b/protocol/src/main/java/org/apache/drill/exec/proto/UserBitShared.java
index 0631f6a..26c74a1 100644
--- a/protocol/src/main/java/org/apache/drill/exec/proto/UserBitShared.java
+++ b/protocol/src/main/java/org/apache/drill/exec/proto/UserBitShared.java
@@ -116,6 +116,440 @@ public final class UserBitShared {
     // @@protoc_insertion_point(enum_scope:exec.shared.RpcChannel)
   }
 
+  /**
+   * Protobuf enum {@code exec.shared.QueryType}
+   */
+  public enum QueryType
+      implements com.google.protobuf.ProtocolMessageEnum {
+    /**
+     * <code>SQL = 1;</code>
+     */
+    SQL(0, 1),
+    /**
+     * <code>LOGICAL = 2;</code>
+     */
+    LOGICAL(1, 2),
+    /**
+     * <code>PHYSICAL = 3;</code>
+     */
+    PHYSICAL(2, 3),
+    ;
+
+    /**
+     * <code>SQL = 1;</code>
+     */
+    public static final int SQL_VALUE = 1;
+    /**
+     * <code>LOGICAL = 2;</code>
+     */
+    public static final int LOGICAL_VALUE = 2;
+    /**
+     * <code>PHYSICAL = 3;</code>
+     */
+    public static final int PHYSICAL_VALUE = 3;
+
+
+    public final int getNumber() { return value; }
+
+    public static QueryType valueOf(int value) {
+      switch (value) {
+        case 1: return SQL;
+        case 2: return LOGICAL;
+        case 3: return PHYSICAL;
+        default: return null;
+      }
+    }
+
+    public static com.google.protobuf.Internal.EnumLiteMap<QueryType>
+        internalGetValueMap() {
+      return internalValueMap;
+    }
+    private static com.google.protobuf.Internal.EnumLiteMap<QueryType>
+        internalValueMap =
+          new com.google.protobuf.Internal.EnumLiteMap<QueryType>() {
+            public QueryType findValueByNumber(int number) {
+              return QueryType.valueOf(number);
+            }
+          };
+
+    public final com.google.protobuf.Descriptors.EnumValueDescriptor
+        getValueDescriptor() {
+      return getDescriptor().getValues().get(index);
+    }
+    public final com.google.protobuf.Descriptors.EnumDescriptor
+        getDescriptorForType() {
+      return getDescriptor();
+    }
+    public static final com.google.protobuf.Descriptors.EnumDescriptor
+        getDescriptor() {
+      return org.apache.drill.exec.proto.UserBitShared.getDescriptor().getEnumTypes().get(1);
+    }
+
+    private static final QueryType[] VALUES = values();
+
+    public static QueryType valueOf(
+        com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
+      if (desc.getType() != getDescriptor()) {
+        throw new java.lang.IllegalArgumentException(
+          "EnumValueDescriptor is not for this type.");
+      }
+      return VALUES[desc.getIndex()];
+    }
+
+    private final int index;
+    private final int value;
+
+    private QueryType(int index, int value) {
+      this.index = index;
+      this.value = value;
+    }
+
+    // @@protoc_insertion_point(enum_scope:exec.shared.QueryType)
+  }
+
+  /**
+   * Protobuf enum {@code exec.shared.CoreOperatorType}
+   */
+  public enum CoreOperatorType
+      implements com.google.protobuf.ProtocolMessageEnum {
+    /**
+     * <code>SINGLE_SENDER = 0;</code>
+     */
+    SINGLE_SENDER(0, 0),
+    /**
+     * <code>BROADCAST_SENDER = 1;</code>
+     */
+    BROADCAST_SENDER(1, 1),
+    /**
+     * <code>FILTER = 2;</code>
+     */
+    FILTER(2, 2),
+    /**
+     * <code>HASH_AGGREGATE = 3;</code>
+     */
+    HASH_AGGREGATE(3, 3),
+    /**
+     * <code>HASH_JOIN = 4;</code>
+     */
+    HASH_JOIN(4, 4),
+    /**
+     * <code>MERGE_JOIN = 5;</code>
+     */
+    MERGE_JOIN(5, 5),
+    /**
+     * <code>HASH_PARTITION_SENDER = 6;</code>
+     */
+    HASH_PARTITION_SENDER(6, 6),
+    /**
+     * <code>LIMIT = 7;</code>
+     */
+    LIMIT(7, 7),
+    /**
+     * <code>MERGING_RECEIVER = 8;</code>
+     */
+    MERGING_RECEIVER(8, 8),
+    /**
+     * <code>ORDERED_PARTITION_SENDER = 9;</code>
+     */
+    ORDERED_PARTITION_SENDER(9, 9),
+    /**
+     * <code>PROJECT = 10;</code>
+     */
+    PROJECT(10, 10),
+    /**
+     * <code>RANDOM_RECEIVER = 11;</code>
+     */
+    RANDOM_RECEIVER(11, 11),
+    /**
+     * <code>RANGE_SENDER = 12;</code>
+     */
+    RANGE_SENDER(12, 12),
+    /**
+     * <code>SCREEN = 13;</code>
+     */
+    SCREEN(13, 13),
+    /**
+     * <code>SELECTION_VECTOR_REMOVER = 14;</code>
+     */
+    SELECTION_VECTOR_REMOVER(14, 14),
+    /**
+     * <code>STREAMING_AGGREGATE = 15;</code>
+     */
+    STREAMING_AGGREGATE(15, 15),
+    /**
+     * <code>TOP_N_SORT = 16;</code>
+     */
+    TOP_N_SORT(16, 16),
+    /**
+     * <code>EXTERNAL_SORT = 17;</code>
+     */
+    EXTERNAL_SORT(17, 17),
+    /**
+     * <code>TRACE = 18;</code>
+     */
+    TRACE(18, 18),
+    /**
+     * <code>UNION = 19;</code>
+     */
+    UNION(19, 19),
+    /**
+     * <code>OLD_SORT = 20;</code>
+     */
+    OLD_SORT(20, 20),
+    /**
+     * <code>PARQUET_ROW_GROUP_SCAN = 21;</code>
+     */
+    PARQUET_ROW_GROUP_SCAN(21, 21),
+    /**
+     * <code>HIVE_SUB_SCAN = 22;</code>
+     */
+    HIVE_SUB_SCAN(22, 22),
+    /**
+     * <code>SYSTEM_TABLE_SCAN = 23;</code>
+     */
+    SYSTEM_TABLE_SCAN(23, 23),
+    /**
+     * <code>MOCK_SUB_SCAN = 24;</code>
+     */
+    MOCK_SUB_SCAN(24, 24),
+    /**
+     * <code>PARQUET_WRITER = 25;</code>
+     */
+    PARQUET_WRITER(25, 25),
+    /**
+     * <code>DIRECT_SUB_SCAN = 26;</code>
+     */
+    DIRECT_SUB_SCAN(26, 26),
+    /**
+     * <code>TEXT_WRITER = 27;</code>
+     */
+    TEXT_WRITER(27, 27),
+    /**
+     * <code>TEXT_SUB_SCAN = 28;</code>
+     */
+    TEXT_SUB_SCAN(28, 28),
+    /**
+     * <code>JSON_SUB_SCAN = 29;</code>
+     */
+    JSON_SUB_SCAN(29, 29),
+    /**
+     * <code>INFO_SCHEMA_SUB_SCAN = 30;</code>
+     */
+    INFO_SCHEMA_SUB_SCAN(30, 30),
+    ;
+
+    /**
+     * <code>SINGLE_SENDER = 0;</code>
+     */
+    public static final int SINGLE_SENDER_VALUE = 0;
+    /**
+     * <code>BROADCAST_SENDER = 1;</code>
+     */
+    public static final int BROADCAST_SENDER_VALUE = 1;
+    /**
+     * <code>FILTER = 2;</code>
+     */
+    public static final int FILTER_VALUE = 2;
+    /**
+     * <code>HASH_AGGREGATE = 3;</code>
+     */
+    public static final int HASH_AGGREGATE_VALUE = 3;
+    /**
+     * <code>HASH_JOIN = 4;</code>
+     */
+    public static final int HASH_JOIN_VALUE = 4;
+    /**
+     * <code>MERGE_JOIN = 5;</code>
+     */
+    public static final int MERGE_JOIN_VALUE = 5;
+    /**
+     * <code>HASH_PARTITION_SENDER = 6;</code>
+     */
+    public static final int HASH_PARTITION_SENDER_VALUE = 6;
+    /**
+     * <code>LIMIT = 7;</code>
+     */
+    public static final int LIMIT_VALUE = 7;
+    /**
+     * <code>MERGING_RECEIVER = 8;</code>
+     */
+    public static final int MERGING_RECEIVER_VALUE = 8;
+    /**
+     * <code>ORDERED_PARTITION_SENDER = 9;</code>
+     */
+    public static final int ORDERED_PARTITION_SENDER_VALUE = 9;
+    /**
+     * <code>PROJECT = 10;</code>
+     */
+    public static final int PROJECT_VALUE = 10;
+    /**
+     * <code>RANDOM_RECEIVER = 11;</code>
+     */
+    public static final int RANDOM_RECEIVER_VALUE = 11;
+    /**
+     * <code>RANGE_SENDER = 12;</code>
+     */
+    public static final int RANGE_SENDER_VALUE = 12;
+    /**
+     * <code>SCREEN = 13;</code>
+     */
+    public static final int SCREEN_VALUE = 13;
+    /**
+     * <code>SELECTION_VECTOR_REMOVER = 14;</code>
+     */
+    public static final int SELECTION_VECTOR_REMOVER_VALUE = 14;
+    /**
+     * <code>STREAMING_AGGREGATE = 15;</code>
+     */
+    public static final int STREAMING_AGGREGATE_VALUE = 15;
+    /**
+     * <code>TOP_N_SORT = 16;</code>
+     */
+    public static final int TOP_N_SORT_VALUE = 16;
+    /**
+     * <code>EXTERNAL_SORT = 17;</code>
+     */
+    public static final int EXTERNAL_SORT_VALUE = 17;
+    /**
+     * <code>TRACE = 18;</code>
+     */
+    public static final int TRACE_VALUE = 18;
+    /**
+     * <code>UNION = 19;</code>
+     */
+    public static final int UNION_VALUE = 19;
+    /**
+     * <code>OLD_SORT = 20;</code>
+     */
+    public static final int OLD_SORT_VALUE = 20;
+    /**
+     * <code>PARQUET_ROW_GROUP_SCAN = 21;</code>
+     */
+    public static final int PARQUET_ROW_GROUP_SCAN_VALUE = 21;
+    /**
+     * <code>HIVE_SUB_SCAN = 22;</code>
+     */
+    public static final int HIVE_SUB_SCAN_VALUE = 22;
+    /**
+     * <code>SYSTEM_TABLE_SCAN = 23;</code>
+     */
+    public static final int SYSTEM_TABLE_SCAN_VALUE = 23;
+    /**
+     * <code>MOCK_SUB_SCAN = 24;</code>
+     */
+    public static final int MOCK_SUB_SCAN_VALUE = 24;
+    /**
+     * <code>PARQUET_WRITER = 25;</code>
+     */
+    public static final int PARQUET_WRITER_VALUE = 25;
+    /**
+     * <code>DIRECT_SUB_SCAN = 26;</code>
+     */
+    public static final int DIRECT_SUB_SCAN_VALUE = 26;
+    /**
+     * <code>TEXT_WRITER = 27;</code>
+     */
+    public static final int TEXT_WRITER_VALUE = 27;
+    /**
+     * <code>TEXT_SUB_SCAN = 28;</code>
+     */
+    public static final int TEXT_SUB_SCAN_VALUE = 28;
+    /**
+     * <code>JSON_SUB_SCAN = 29;</code>
+     */
+    public static final int JSON_SUB_SCAN_VALUE = 29;
+    /**
+     * <code>INFO_SCHEMA_SUB_SCAN = 30;</code>
+     */
+    public static final int INFO_SCHEMA_SUB_SCAN_VALUE = 30;
+
+
+    public final int getNumber() { return value; }
+
+    public static CoreOperatorType valueOf(int value) {
+      switch (value) {
+        case 0: return SINGLE_SENDER;
+        case 1: return BROADCAST_SENDER;
+        case 2: return FILTER;
+        case 3: return HASH_AGGREGATE;
+        case 4: return HASH_JOIN;
+        case 5: return MERGE_JOIN;
+        case 6: return HASH_PARTITION_SENDER;
+        case 7: return LIMIT;
+        case 8: return MERGING_RECEIVER;
+        case 9: return ORDERED_PARTITION_SENDER;
+        case 10: return PROJECT;
+        case 11: return RANDOM_RECEIVER;
+        case 12: return RANGE_SENDER;
+        case 13: return SCREEN;
+        case 14: return SELECTION_VECTOR_REMOVER;
+        case 15: return STREAMING_AGGREGATE;
+        case 16: return TOP_N_SORT;
+        case 17: return EXTERNAL_SORT;
+        case 18: return TRACE;
+        case 19: return UNION;
+        case 20: return OLD_SORT;
+        case 21: return PARQUET_ROW_GROUP_SCAN;
+        case 22: return HIVE_SUB_SCAN;
+        case 23: return SYSTEM_TABLE_SCAN;
+        case 24: return MOCK_SUB_SCAN;
+        case 25: return PARQUET_WRITER;
+        case 26: return DIRECT_SUB_SCAN;
+        case 27: return TEXT_WRITER;
+        case 28: return TEXT_SUB_SCAN;
+        case 29: return JSON_SUB_SCAN;
+        case 30: return INFO_SCHEMA_SUB_SCAN;
+        default: return null;
+      }
+    }
+
+    public static com.google.protobuf.Internal.EnumLiteMap<CoreOperatorType>
+        internalGetValueMap() {
+      return internalValueMap;
+    }
+    private static com.google.protobuf.Internal.EnumLiteMap<CoreOperatorType>
+        internalValueMap =
+          new com.google.protobuf.Internal.EnumLiteMap<CoreOperatorType>() {
+            public CoreOperatorType findValueByNumber(int number) {
+              return CoreOperatorType.valueOf(number);
+            }
+          };
+
+    public final com.google.protobuf.Descriptors.EnumValueDescriptor
+        getValueDescriptor() {
+      return getDescriptor().getValues().get(index);
+    }
+    public final com.google.protobuf.Descriptors.EnumDescriptor
+        getDescriptorForType() {
+      return getDescriptor();
+    }
+    public static final com.google.protobuf.Descriptors.EnumDescriptor
+        getDescriptor() {
+      return org.apache.drill.exec.proto.UserBitShared.getDescriptor().getEnumTypes().get(2);
+    }
+
+    private static final CoreOperatorType[] VALUES = values();
+
+    public static CoreOperatorType valueOf(
+        com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
+      if (desc.getType() != getDescriptor()) {
+        throw new java.lang.IllegalArgumentException(
+          "EnumValueDescriptor is not for this type.");
+      }
+      return VALUES[desc.getIndex()];
+    }
+
+    private final int index;
+    private final int value;
+
+    private CoreOperatorType(int index, int value) {
+      this.index = index;
+      this.value = value;
+    }
+
+    // @@protoc_insertion_point(enum_scope:exec.shared.CoreOperatorType)
+  }
+
   public interface UserCredentialsOrBuilder
       extends com.google.protobuf.MessageOrBuilder {
 
@@ -6388,24 +6822,5731 @@ public final class UserBitShared {
     // @@protoc_insertion_point(class_scope:exec.shared.SerializedField)
   }
 
-  private static com.google.protobuf.Descriptors.Descriptor
-    internal_static_exec_shared_UserCredentials_descriptor;
-  private static
-    com.google.protobuf.GeneratedMessage.FieldAccessorTable
-      internal_static_exec_shared_UserCredentials_fieldAccessorTable;
-  private static com.google.protobuf.Descriptors.Descriptor
-    internal_static_exec_shared_QueryId_descriptor;
-  private static
-    com.google.protobuf.GeneratedMessage.FieldAccessorTable
-      internal_static_exec_shared_QueryId_fieldAccessorTable;
-  private static com.google.protobuf.Descriptors.Descriptor
-    internal_static_exec_shared_DrillPBError_descriptor;
-  private static
-    com.google.protobuf.GeneratedMessage.FieldAccessorTable
-      internal_static_exec_shared_DrillPBError_fieldAccessorTable;
-  private static com.google.protobuf.Descriptors.Descriptor
-    internal_static_exec_shared_ParsingError_descriptor;
-  private static
+  public interface QueryProfileOrBuilder
+      extends com.google.protobuf.MessageOrBuilder {
+
+    // optional .exec.shared.QueryId id = 1;
+    /**
+     * <code>optional .exec.shared.QueryId id = 1;</code>
+     */
+    boolean hasId();
+    /**
+     * <code>optional .exec.shared.QueryId id = 1;</code>
+     */
+    org.apache.drill.exec.proto.UserBitShared.QueryId getId();
+    /**
+     * <code>optional .exec.shared.QueryId id = 1;</code>
+     */
+    org.apache.drill.exec.proto.UserBitShared.QueryIdOrBuilder getIdOrBuilder();
+
+    // optional .exec.shared.QueryType type = 2;
+    /**
+     * <code>optional .exec.shared.QueryType type = 2;</code>
+     */
+    boolean hasType();
+    /**
+     * <code>optional .exec.shared.QueryType type = 2;</code>
+     */
+    org.apache.drill.exec.proto.UserBitShared.QueryType getType();
+
+    // optional int64 start = 3;
+    /**
+     * <code>optional int64 start = 3;</code>
+     */
+    boolean hasStart();
+    /**
+     * <code>optional int64 start = 3;</code>
+     */
+    long getStart();
+
+    // optional int64 end = 4;
+    /**
+     * <code>optional int64 end = 4;</code>
+     */
+    boolean hasEnd();
+    /**
+     * <code>optional int64 end = 4;</code>
+     */
+    long getEnd();
+
+    // optional string query = 5;
+    /**
+     * <code>optional string query = 5;</code>
+     */
+    boolean hasQuery();
+    /**
+     * <code>optional string query = 5;</code>
+     */
+    java.lang.String getQuery();
+    /**
+     * <code>optional string query = 5;</code>
+     */
+    com.google.protobuf.ByteString
+        getQueryBytes();
+
+    // repeated .exec.shared.MajorFragmentProfile fragment_profile = 6;
+    /**
+     * <code>repeated .exec.shared.MajorFragmentProfile fragment_profile = 6;</code>
+     */
+    java.util.List<org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile> 
+        getFragmentProfileList();
+    /**
+     * <code>repeated .exec.shared.MajorFragmentProfile fragment_profile = 6;</code>
+     */
+    org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile getFragmentProfile(int index);
+    /**
+     * <code>repeated .exec.shared.MajorFragmentProfile fragment_profile = 6;</code>
+     */
+    int getFragmentProfileCount();
+    /**
+     * <code>repeated .exec.shared.MajorFragmentProfile fragment_profile = 6;</code>
+     */
+    java.util.List<? extends org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfileOrBuilder> 
+        getFragmentProfileOrBuilderList();
+    /**
+     * <code>repeated .exec.shared.MajorFragmentProfile fragment_profile = 6;</code>
+     */
+    org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfileOrBuilder getFragmentProfileOrBuilder(
+        int index);
+  }
+  /**
+   * Protobuf type {@code exec.shared.QueryProfile}
+   */
+  public static final class QueryProfile extends
+      com.google.protobuf.GeneratedMessage
+      implements QueryProfileOrBuilder {
+    // Use QueryProfile.newBuilder() to construct.
+    private QueryProfile(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
+      super(builder);
+      this.unknownFields = builder.getUnknownFields();
+    }
+    private QueryProfile(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
+
+    private static final QueryProfile defaultInstance;
+    public static QueryProfile getDefaultInstance() {
+      return defaultInstance;
+    }
+
+    public QueryProfile getDefaultInstanceForType() {
+      return defaultInstance;
+    }
+
+    private final com.google.protobuf.UnknownFieldSet unknownFields;
+    @java.lang.Override
+    public final com.google.protobuf.UnknownFieldSet
+        getUnknownFields() {
+      return this.unknownFields;
+    }
+    private QueryProfile(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      initFields();
+      int mutable_bitField0_ = 0;
+      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+          com.google.protobuf.UnknownFieldSet.newBuilder();
+      try {
+        boolean done = false;
+        while (!done) {
+          int tag = input.readTag();
+          switch (tag) {
+            case 0:
+              done = true;
+              break;
+            default: {
+              if (!parseUnknownField(input, unknownFields,
+                                     extensionRegistry, tag)) {
+                done = true;
+              }
+              break;
+            }
+            case 10: {
+              org.apache.drill.exec.proto.UserBitShared.QueryId.Builder subBuilder = null;
+              if (((bitField0_ & 0x00000001) == 0x00000001)) {
+                subBuilder = id_.toBuilder();
+              }
+              id_ = input.readMessage(org.apache.drill.exec.proto.UserBitShared.QueryId.PARSER, extensionRegistry);
+              if (subBuilder != null) {
+                subBuilder.mergeFrom(id_);
+                id_ = subBuilder.buildPartial();
+              }
+              bitField0_ |= 0x00000001;
+              break;
+            }
+            case 16: {
+              int rawValue = input.readEnum();
+              org.apache.drill.exec.proto.UserBitShared.QueryType value = org.apache.drill.exec.proto.UserBitShared.QueryType.valueOf(rawValue);
+              if (value == null) {
+                unknownFields.mergeVarintField(2, rawValue);
+              } else {
+                bitField0_ |= 0x00000002;
+                type_ = value;
+              }
+              break;
+            }
+            case 24: {
+              bitField0_ |= 0x00000004;
+              start_ = input.readInt64();
+              break;
+            }
+            case 32: {
+              bitField0_ |= 0x00000008;
+              end_ = input.readInt64();
+              break;
+            }
+            case 42: {
+              bitField0_ |= 0x00000010;
+              query_ = input.readBytes();
+              break;
+            }
+            case 50: {
+              if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
+                fragmentProfile_ = new java.util.ArrayList<org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile>();
+                mutable_bitField0_ |= 0x00000020;
+              }
+              fragmentProfile_.add(input.readMessage(org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile.PARSER, extensionRegistry));
+              break;
+            }
+          }
+        }
+      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+        throw e.setUnfinishedMessage(this);
+      } catch (java.io.IOException e) {
+        throw new com.google.protobuf.InvalidProtocolBufferException(
+            e.getMessage()).setUnfinishedMessage(this);
+      } finally {
+        if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
+          fragmentProfile_ = java.util.Collections.unmodifiableList(fragmentProfile_);
+        }
+        this.unknownFields = unknownFields.build();
+        makeExtensionsImmutable();
+      }
+    }
+    public static final com.google.protobuf.Descriptors.Descriptor
+        getDescriptor() {
+      return org.apache.drill.exec.proto.UserBitShared.internal_static_exec_shared_QueryProfile_descriptor;
+    }
+
+    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+        internalGetFieldAccessorTable() {
+      return org.apache.drill.exec.proto.UserBitShared.internal_static_exec_shared_QueryProfile_fieldAccessorTable
+          .ensureFieldAccessorsInitialized(
+              org.apache.drill.exec.proto.UserBitShared.QueryProfile.class, org.apache.drill.exec.proto.UserBitShared.QueryProfile.Builder.class);
+    }
+
+    public static com.google.protobuf.Parser<QueryProfile> PARSER =
+        new com.google.protobuf.AbstractParser<QueryProfile>() {
+      public QueryProfile parsePartialFrom(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return new QueryProfile(input, extensionRegistry);
+      }
+    };
+
+    @java.lang.Override
+    public com.google.protobuf.Parser<QueryProfile> getParserForType() {
+      return PARSER;
+    }
+
+    private int bitField0_;
+    // optional .exec.shared.QueryId id = 1;
+    public static final int ID_FIELD_NUMBER = 1;
+    private org.apache.drill.exec.proto.UserBitShared.QueryId id_;
+    /**
+     * <code>optional .exec.shared.QueryId id = 1;</code>
+     */
+    public boolean hasId() {
+      return ((bitField0_ & 0x00000001) == 0x00000001);
+    }
+    /**
+     * <code>optional .exec.shared.QueryId id = 1;</code>
+     */
+    public org.apache.drill.exec.proto.UserBitShared.QueryId getId() {
+      return id_;
+    }
+    /**
+     * <code>optional .exec.shared.QueryId id = 1;</code>
+     */
+    public org.apache.drill.exec.proto.UserBitShared.QueryIdOrBuilder getIdOrBuilder() {
+      return id_;
+    }
+
+    // optional .exec.shared.QueryType type = 2;
+    public static final int TYPE_FIELD_NUMBER = 2;
+    private org.apache.drill.exec.proto.UserBitShared.QueryType type_;
+    /**
+     * <code>optional .exec.shared.QueryType type = 2;</code>
+     */
+    public boolean hasType() {
+      return ((bitField0_ & 0x00000002) == 0x00000002);
+    }
+    /**
+     * <code>optional .exec.shared.QueryType type = 2;</code>
+     */
+    public org.apache.drill.exec.proto.UserBitShared.QueryType getType() {
+      return type_;
+    }
+
+    // optional int64 start = 3;
+    public static final int START_FIELD_NUMBER = 3;
+    private long start_;
+    /**
+     * <code>optional int64 start = 3;</code>
+     */
+    public boolean hasStart() {
+      return ((bitField0_ & 0x00000004) == 0x00000004);
+    }
+    /**
+     * <code>optional int64 start = 3;</code>
+     */
+    public long getStart() {
+      return start_;
+    }
+
+    // optional int64 end = 4;
+    public static final int END_FIELD_NUMBER = 4;
+    private long end_;
+    /**
+     * <code>optional int64 end = 4;</code>
+     */
+    public boolean hasEnd() {
+      return ((bitField0_ & 0x00000008) == 0x00000008);
+    }
+    /**
+     * <code>optional int64 end = 4;</code>
+     */
+    public long getEnd() {
+      return end_;
+    }
+
+    // optional string query = 5;
+    public static final int QUERY_FIELD_NUMBER = 5;
+    private java.lang.Object query_;
+    /**
+     * <code>optional string query = 5;</code>
+     */
+    public boolean hasQuery() {
+      return ((bitField0_ & 0x00000010) == 0x00000010);
+    }
+    /**
+     * <code>optional string query = 5;</code>
+     */
+    public java.lang.String getQuery() {
+      java.lang.Object ref = query_;
+      if (ref instanceof java.lang.String) {
+        return (java.lang.String) ref;
+      } else {
+        com.google.protobuf.ByteString bs = 
+            (com.google.protobuf.ByteString) ref;
+        java.lang.String s = bs.toStringUtf8();
+        if (bs.isValidUtf8()) {
+          query_ = s;
+        }
+        return s;
+      }
+    }
+    /**
+     * <code>optional string query = 5;</code>
+     */
+    public com.google.protobuf.ByteString
+        getQueryBytes() {
+      java.lang.Object ref = query_;
+      if (ref instanceof java.lang.String) {
+        com.google.protobuf.ByteString b = 
+            com.google.protobuf.ByteString.copyFromUtf8(
+                (java.lang.String) ref);
+        query_ = b;
+        return b;
+      } else {
+        return (com.google.protobuf.ByteString) ref;
+      }
+    }
+
+    // repeated .exec.shared.MajorFragmentProfile fragment_profile = 6;
+    public static final int FRAGMENT_PROFILE_FIELD_NUMBER = 6;
+    private java.util.List<org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile> fragmentProfile_;
+    /**
+     * <code>repeated .exec.shared.MajorFragmentProfile fragment_profile = 6;</code>
+     */
+    public java.util.List<org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile> getFragmentProfileList() {
+      return fragmentProfile_;
+    }
+    /**
+     * <code>repeated .exec.shared.MajorFragmentProfile fragment_profile = 6;</code>
+     */
+    public java.util.List<? extends org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfileOrBuilder> 
+        getFragmentProfileOrBuilderList() {
+      return fragmentProfile_;
+    }
+    /**
+     * <code>repeated .exec.shared.MajorFragmentProfile fragment_profile = 6;</code>
+     */
+    public int getFragmentProfileCount() {
+      return fragmentProfile_.size();
+    }
+    /**
+     * <code>repeated .exec.shared.MajorFragmentProfile fragment_profile = 6;</code>
+     */
+    public org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile getFragmentProfile(int index) {
+      return fragmentProfile_.get(index);
+    }
+    /**
+     * <code>repeated .exec.shared.MajorFragmentProfile fragment_profile = 6;</code>
+     */
+    public org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfileOrBuilder getFragmentProfileOrBuilder(
+        int index) {
+      return fragmentProfile_.get(index);
+    }
+
+    private void initFields() {
+      id_ = org.apache.drill.exec.proto.UserBitShared.QueryId.getDefaultInstance();
+      type_ = org.apache.drill.exec.proto.UserBitShared.QueryType.SQL;
+      start_ = 0L;
+      end_ = 0L;
+      query_ = "";
+      fragmentProfile_ = java.util.Collections.emptyList();
+    }
+    private byte memoizedIsInitialized = -1;
+    public final boolean isInitialized() {
+      byte isInitialized = memoizedIsInitialized;
+      if (isInitialized != -1) return isInitialized == 1;
+
+      memoizedIsInitialized = 1;
+      return true;
+    }
+
+    public void writeTo(com.google.protobuf.CodedOutputStream output)
+                        throws java.io.IOException {
+      getSerializedSize();
+      if (((bitField0_ & 0x00000001) == 0x00000001)) {
+        output.writeMessage(1, id_);
+      }
+      if (((bitField0_ & 0x00000002) == 0x00000002)) {
+        output.writeEnum(2, type_.getNumber());
+      }
+      if (((bitField0_ & 0x00000004) == 0x00000004)) {
+        output.writeInt64(3, start_);
+      }
+      if (((bitField0_ & 0x00000008) == 0x00000008)) {
+        output.writeInt64(4, end_);
+      }
+      if (((bitField0_ & 0x00000010) == 0x00000010)) {
+        output.writeBytes(5, getQueryBytes());
+      }
+      for (int i = 0; i < fragmentProfile_.size(); i++) {
+        output.writeMessage(6, fragmentProfile_.get(i));
+      }
+      getUnknownFields().writeTo(output);
+    }
+
+    private int memoizedSerializedSize = -1;
+    public int getSerializedSize() {
+      int size = memoizedSerializedSize;
+      if (size != -1) return size;
+
+      size = 0;
+      if (((bitField0_ & 0x00000001) == 0x00000001)) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeMessageSize(1, id_);
+      }
+      if (((bitField0_ & 0x00000002) == 0x00000002)) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeEnumSize(2, type_.getNumber());
+      }
+      if (((bitField0_ & 0x00000004) == 0x00000004)) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeInt64Size(3, start_);
+      }
+      if (((bitField0_ & 0x00000008) == 0x00000008)) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeInt64Size(4, end_);
+      }
+      if (((bitField0_ & 0x00000010) == 0x00000010)) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeBytesSize(5, getQueryBytes());
+      }
+      for (int i = 0; i < fragmentProfile_.size(); i++) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeMessageSize(6, fragmentProfile_.get(i));
+      }
+      size += getUnknownFields().getSerializedSize();
+      memoizedSerializedSize = size;
+      return size;
+    }
+
+    private static final long serialVersionUID = 0L;
+    @java.lang.Override
+    protected java.lang.Object writeReplace()
+        throws java.io.ObjectStreamException {
+      return super.writeReplace();
+    }
+
+    public static org.apache.drill.exec.proto.UserBitShared.QueryProfile parseFrom(
+        com.google.protobuf.ByteString data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data);
+    }
+    public static org.apache.drill.exec.proto.UserBitShared.QueryProfile parseFrom(
+        com.google.protobuf.ByteString data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data, extensionRegistry);
+    }
+    public static org.apache.drill.exec.proto.UserBitShared.QueryProfile parseFrom(byte[] data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data);
+    }
+    public static org.apache.drill.exec.proto.UserBitShared.QueryProfile parseFrom(
+        byte[] data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data, extensionRegistry);
+    }
+    public static org.apache.drill.exec.proto.UserBitShared.QueryProfile parseFrom(java.io.InputStream input)
+        throws java.io.IOException {
+      return PARSER.parseFrom(input);
+    }
+    public static org.apache.drill.exec.proto.UserBitShared.QueryProfile parseFrom(
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
+      return PARSER.parseFrom(input, extensionRegistry);
+    }
+    public static org.apache.drill.exec.proto.UserBitShared.QueryProfile parseDelimitedFrom(java.io.InputStream input)
+        throws java.io.IOException {
+      return PARSER.parseDelimitedFrom(input);
+    }
+    public static org.apache.drill.exec.proto.UserBitShared.QueryProfile parseDelimitedFrom(
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
+      return PARSER.parseDelimitedFrom(input, extensionRegistry);
+    }
+    public static org.apache.drill.exec.proto.UserBitShared.QueryProfile parseFrom(
+        com.google.protobuf.CodedInputStream input)
+        throws java.io.IOException {
+      return PARSER.parseFrom(input);
+    }
+    public static org.apache.drill.exec.proto.UserBitShared.QueryProfile parseFrom(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
+      return PARSER.parseFrom(input, extensionRegistry);
+    }
+
+    public static Builder newBuilder() { return Builder.create(); }
+    public Builder newBuilderForType() { return newBuilder(); }
+    public static Builder newBuilder(org.apache.drill.exec.proto.UserBitShared.QueryProfile prototype) {
+      return newBuilder().mergeFrom(prototype);
+    }
+    public Builder toBuilder() { return newBuilder(this); }
+
+    @java.lang.Override
+    protected Builder newBuilderForType(
+        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+      Builder builder = new Builder(parent);
+      return builder;
+    }
+    /**
+     * Protobuf type {@code exec.shared.QueryProfile}
+     */
+    public static final class Builder extends
+        com.google.protobuf.GeneratedMessage.Builder<Builder>
+       implements org.apache.drill.exec.proto.UserBitShared.QueryProfileOrBuilder {
+      public static final com.google.protobuf.Descriptors.Descriptor
+          getDescriptor() {
+        return org.apache.drill.exec.proto.UserBitShared.internal_static_exec_shared_QueryProfile_descriptor;
+      }
+
+      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+          internalGetFieldAccessorTable() {
+        return org.apache.drill.exec.proto.UserBitShared.internal_static_exec_shared_QueryProfile_fieldAccessorTable
+            .ensureFieldAccessorsInitialized(
+                org.apache.drill.exec.proto.UserBitShared.QueryProfile.class, org.apache.drill.exec.proto.UserBitShared.QueryProfile.Builder.class);
+      }
+
+      // Construct using org.apache.drill.exec.proto.UserBitShared.QueryProfile.newBuilder()
+      private Builder() {
+        maybeForceBuilderInitialization();
+      }
+
+      private Builder(
+          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+        super(parent);
+        maybeForceBuilderInitialization();
+      }
+      private void maybeForceBuilderInitialization() {
+        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
+          getIdFieldBuilder();
+          getFragmentProfileFieldBuilder();
+        }
+      }
+      private static Builder create() {
+        return new Builder();
+      }
+
+      public Builder clear() {
+        super.clear();
+        if (idBuilder_ == null) {
+          id_ = org.apache.drill.exec.proto.UserBitShared.QueryId.getDefaultInstance();
+        } else {
+          idBuilder_.clear();
+        }
+        bitField0_ = (bitField0_ & ~0x00000001);
+        type_ = org.apache.drill.exec.proto.UserBitShared.QueryType.SQL;
+        bitField0_ = (bitField0_ & ~0x00000002);
+        start_ = 0L;
+        bitField0_ = (bitField0_ & ~0x00000004);
+        end_ = 0L;
+        bitField0_ = (bitField0_ & ~0x00000008);
+        query_ = "";
+        bitField0_ = (bitField0_ & ~0x00000010);
+        if (fragmentProfileBuilder_ == null) {
+          fragmentProfile_ = java.util.Collections.emptyList();
+          bitField0_ = (bitField0_ & ~0x00000020);
+        } else {
+          fragmentProfileBuilder_.clear();
+        }
+        return this;
+      }
+
+      public Builder clone() {
+        return create().mergeFrom(buildPartial());
+      }
+
+      public com.google.protobuf.Descriptors.Descriptor
+          getDescriptorForType() {
+        return org.apache.drill.exec.proto.UserBitShared.internal_static_exec_shared_QueryProfile_descriptor;
+      }
+
+      public org.apache.drill.exec.proto.UserBitShared.QueryProfile getDefaultInstanceForType() {
+        return org.apache.drill.exec.proto.UserBitShared.QueryProfile.getDefaultInstance();
+      }
+
+      public org.apache.drill.exec.proto.UserBitShared.QueryProfile build() {
+        org.apache.drill.exec.proto.UserBitShared.QueryProfile result = buildPartial();
+        if (!result.isInitialized()) {
+          throw newUninitializedMessageException(result);
+        }
+        return result;
+      }
+
+      public org.apache.drill.exec.proto.UserBitShared.QueryProfile buildPartial() {
+        org.apache.drill.exec.proto.UserBitShared.QueryProfile result = new org.apache.drill.exec.proto.UserBitShared.QueryProfile(this);
+        int from_bitField0_ = bitField0_;
+        int to_bitField0_ = 0;
+        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
+          to_bitField0_ |= 0x00000001;
+        }
+        if (idBuilder_ == null) {
+          result.id_ = id_;
+        } else {
+          result.id_ = idBuilder_.build();
+        }
+        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
+          to_bitField0_ |= 0x00000002;
+        }
+        result.type_ = type_;
+        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
+          to_bitField0_ |= 0x00000004;
+        }
+        result.start_ = start_;
+        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
+          to_bitField0_ |= 0x00000008;
+        }
+        result.end_ = end_;
+        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
+          to_bitField0_ |= 0x00000010;
+        }
+        result.query_ = query_;
+        if (fragmentProfileBuilder_ == null) {
+          if (((bitField0_ & 0x00000020) == 0x00000020)) {
+            fragmentProfile_ = java.util.Collections.unmodifiableList(fragmentProfile_);
+            bitField0_ = (bitField0_ & ~0x00000020);
+          }
+          result.fragmentProfile_ = fragmentProfile_;
+        } else {
+          result.fragmentProfile_ = fragmentProfileBuilder_.build();
+        }
+        result.bitField0_ = to_bitField0_;
+        onBuilt();
+        return result;
+      }
+
+      public Builder mergeFrom(com.google.protobuf.Message other) {
+        if (other instanceof org.apache.drill.exec.proto.UserBitShared.QueryProfile) {
+          return mergeFrom((org.apache.drill.exec.proto.UserBitShared.QueryProfile)other);
+        } else {
+          super.mergeFrom(other);
+          return this;
+        }
+      }
+
+      public Builder mergeFrom(org.apache.drill.exec.proto.UserBitShared.QueryProfile other) {
+        if (other == org.apache.drill.exec.proto.UserBitShared.QueryProfile.getDefaultInstance()) return this;
+        if (other.hasId()) {
+          mergeId(other.getId());
+        }
+        if (other.hasType()) {
+          setType(other.getType());
+        }
+        if (other.hasStart()) {
+          setStart(other.getStart());
+        }
+        if (other.hasEnd()) {
+          setEnd(other.getEnd());
+        }
+        if (other.hasQuery()) {
+          bitField0_ |= 0x00000010;
+          query_ = other.query_;
+          onChanged();
+        }
+        if (fragmentProfileBuilder_ == null) {
+          if (!other.fragmentProfile_.isEmpty()) {
+            if (fragmentProfile_.isEmpty()) {
+              fragmentProfile_ = other.fragmentProfile_;
+              bitField0_ = (bitField0_ & ~0x00000020);
+            } else {
+              ensureFragmentProfileIsMutable();
+              fragmentProfile_.addAll(other.fragmentProfile_);
+            }
+            onChanged();
+          }
+        } else {
+          if (!other.fragmentProfile_.isEmpty()) {
+            if (fragmentProfileBuilder_.isEmpty()) {
+              fragmentProfileBuilder_.dispose();
+              fragmentProfileBuilder_ = null;
+              fragmentProfile_ = other.fragmentProfile_;
+              bitField0_ = (bitField0_ & ~0x00000020);
+              fragmentProfileBuilder_ = 
+                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
+                   getFragmentProfileFieldBuilder() : null;
+            } else {
+              fragmentProfileBuilder_.addAllMessages(other.fragmentProfile_);
+            }
+          }
+        }
+        this.mergeUnknownFields(other.getUnknownFields());
+        return this;
+      }
+
+      public final boolean isInitialized() {
+        return true;
+      }
+
+      public Builder mergeFrom(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws java.io.IOException {
+        org.apache.drill.exec.proto.UserBitShared.QueryProfile parsedMessage = null;
+        try {
+          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+          parsedMessage = (org.apache.drill.exec.proto.UserBitShared.QueryProfile) e.getUnfinishedMessage();
+          throw e;
+        } finally {
+          if (parsedMessage != null) {
+            mergeFrom(parsedMessage);
+          }
+        }
+        return this;
+      }
+      private int bitField0_;
+
+      // optional .exec.shared.QueryId id = 1;
+      private org.apache.drill.exec.proto.UserBitShared.QueryId id_ = org.apache.drill.exec.proto.UserBitShared.QueryId.getDefaultInstance();
+      private com.google.protobuf.SingleFieldBuilder<
+          org.apache.drill.exec.proto.UserBitShared.QueryId, org.apache.drill.exec.proto.UserBitShared.QueryId.Builder, org.apache.drill.exec.proto.UserBitShared.QueryIdOrBuilder> idBuilder_;
+      /**
+       * <code>optional .exec.shared.QueryId id = 1;</code>
+       */
+      public boolean hasId() {
+        return ((bitField0_ & 0x00000001) == 0x00000001);
+      }
+      /**
+       * <code>optional .exec.shared.QueryId id = 1;</code>
+       */
+      public org.apache.drill.exec.proto.UserBitShared.QueryId getId() {
+        if (idBuilder_ == null) {
+          return id_;
+        } else {
+          return idBuilder_.getMessage();
+        }
+      }
+      /**
+       * <code>optional .exec.shared.QueryId id = 1;</code>
+       */
+      public Builder setId(org.apache.drill.exec.proto.UserBitShared.QueryId value) {
+        if (idBuilder_ == null) {
+          if (value == null) {
+            throw new NullPointerException();
+          }
+          id_ = value;
+          onChanged();
+        } else {
+          idBuilder_.setMessage(value);
+        }
+        bitField0_ |= 0x00000001;
+        return this;
+      }
+      /**
+       * <code>optional .exec.shared.QueryId id = 1;</code>
+       */
+      public Builder setId(
+          org.apache.drill.exec.proto.UserBitShared.QueryId.Builder builderForValue) {
+        if (idBuilder_ == null) {
+          id_ = builderForValue.build();
+          onChanged();
+        } else {
+          idBuilder_.setMessage(builderForValue.build());
+        }
+        bitField0_ |= 0x00000001;
+        return this;
+      }
+      /**
+       * <code>optional .exec.shared.QueryId id = 1;</code>
+       */
+      public Builder mergeId(org.apache.drill.exec.proto.UserBitShared.QueryId value) {
+        if (idBuilder_ == null) {
+          if (((bitField0_ & 0x00000001) == 0x00000001) &&
+              id_ != org.apache.drill.exec.proto.UserBitShared.QueryId.getDefaultInstance()) {
+            id_ =
+              org.apache.drill.exec.proto.UserBitShared.QueryId.newBuilder(id_).mergeFrom(value).buildPartial();
+          } else {
+            id_ = value;
+          }
+          onChanged();
+        } else {
+          idBuilder_.mergeFrom(value);
+        }
+        bitField0_ |= 0x00000001;
+        return this;
+      }
+      /**
+       * <code>optional .exec.shared.QueryId id = 1;</code>
+       */
+      public Builder clearId() {
+        if (idBuilder_ == null) {
+          id_ = org.apache.drill.exec.proto.UserBitShared.QueryId.getDefaultInstance();
+          onChanged();
+        } else {
+          idBuilder_.clear();
+        }
+        bitField0_ = (bitField0_ & ~0x00000001);
+        return this;
+      }
+      /**
+       * <code>optional .exec.shared.QueryId id = 1;</code>
+       */
+      public org.apache.drill.exec.proto.UserBitShared.QueryId.Builder getIdBuilder() {
+        bitField0_ |= 0x00000001;
+        onChanged();
+        return getIdFieldBuilder().getBuilder();
+      }
+      /**
+       * <code>optional .exec.shared.QueryId id = 1;</code>
+       */
+      public org.apache.drill.exec.proto.UserBitShared.QueryIdOrBuilder getIdOrBuilder() {
+        if (idBuilder_ != null) {
+          return idBuilder_.getMessageOrBuilder();
+        } else {
+          return id_;
+        }
+      }
+      /**
+       * <code>optional .exec.shared.QueryId id = 1;</code>
+       */
+      private com.google.protobuf.SingleFieldBuilder<
+          org.apache.drill.exec.proto.UserBitShared.QueryId, org.apache.drill.exec.proto.UserBitShared.QueryId.Builder, org.apache.drill.exec.proto.UserBitShared.QueryIdOrBuilder> 
+          getIdFieldBuilder() {
+        if (idBuilder_ == null) {
+          idBuilder_ = new com.google.protobuf.SingleFieldBuilder<
+              org.apache.drill.exec.proto.UserBitShared.QueryId, org.apache.drill.exec.proto.UserBitShared.QueryId.Builder, org.apache.drill.exec.proto.UserBitShared.QueryIdOrBuilder>(
+                  id_,
+                  getParentForChildren(),
+                  isClean());
+          id_ = null;
+        }
+        return idBuilder_;
+      }
+
+      // optional .exec.shared.QueryType type = 2;
+      private org.apache.drill.exec.proto.UserBitShared.QueryType type_ = org.apache.drill.exec.proto.UserBitShared.QueryType.SQL;
+      /**
+       * <code>optional .exec.shared.QueryType type = 2;</code>
+       */
+      public boolean hasType() {
+        return ((bitField0_ & 0x00000002) == 0x00000002);
+      }
+      /**
+       * <code>optional .exec.shared.QueryType type = 2;</code>
+       */
+      public org.apache.drill.exec.proto.UserBitShared.QueryType getType() {
+        return type_;
+      }
+      /**
+       * <code>optional .exec.shared.QueryType type = 2;</code>
+       */
+      public Builder setType(org.apache.drill.exec.proto.UserBitShared.QueryType value) {
+        if (value == null) {
+          throw new NullPointerException();
+        }
+        bitField0_ |= 0x00000002;
+        type_ = value;
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>optional .exec.shared.QueryType type = 2;</code>
+       */
+      public Builder clearType() {
+        bitField0_ = (bitField0_ & ~0x00000002);
+        type_ = org.apache.drill.exec.proto.UserBitShared.QueryType.SQL;
+        onChanged();
+        return this;
+      }
+
+      // optional int64 start = 3;
+      private long start_ ;
+      /**
+       * <code>optional int64 start = 3;</code>
+       */
+      public boolean hasStart() {
+        return ((bitField0_ & 0x00000004) == 0x00000004);
+      }
+      /**
+       * <code>optional int64 start = 3;</code>
+       */
+      public long getStart() {
+        return start_;
+      }
+      /**
+       * <code>optional int64 start = 3;</code>
+       */
+      public Builder setStart(long value) {
+        bitField0_ |= 0x00000004;
+        start_ = value;
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>optional int64 start = 3;</code>
+       */
+      public Builder clearStart() {
+        bitField0_ = (bitField0_ & ~0x00000004);
+        start_ = 0L;
+        onChanged();
+        return this;
+      }
+
+      // optional int64 end = 4;
+      private long end_ ;
+      /**
+       * <code>optional int64 end = 4;</code>
+       */
+      public boolean hasEnd() {
+        return ((bitField0_ & 0x00000008) == 0x00000008);
+      }
+      /**
+       * <code>optional int64 end = 4;</code>
+       */
+      public long getEnd() {
+        return end_;
+      }
+      /**
+       * <code>optional int64 end = 4;</code>
+       */
+      public Builder setEnd(long value) {
+        bitField0_ |= 0x00000008;
+        end_ = value;
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>optional int64 end = 4;</code>
+       */
+      public Builder clearEnd() {
+        bitField0_ = (bitField0_ & ~0x00000008);
+        end_ = 0L;
+        onChanged();
+        return this;
+      }
+
+      // optional string query = 5;
+      private java.lang.Object query_ = "";
+      /**
+       * <code>optional string query = 5;</code>
+       */
+      public boolean hasQuery() {
+        return ((bitField0_ & 0x00000010) == 0x00000010);
+      }
+      /**
+       * <code>optional string query = 5;</code>
+       */
+      public java.lang.String getQuery() {
+        java.lang.Object ref = query_;
+        if (!(ref instanceof java.lang.String)) {
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          query_ = s;
+          return s;
+        } else {
+          return (java.lang.String) ref;
+        }
+      }
+      /**
+       * <code>optional string query = 5;</code>
+       */
+      public com.google.protobuf.ByteString
+          getQueryBytes() {
+        java.lang.Object ref = query_;
+        if (ref instanceof String) {
+          com.google.protobuf.ByteString b = 
+              com.google.protobuf.ByteString.copyFromUtf8(
+                  (java.lang.String) ref);
+          query_ = b;
+          return b;
+        } else {
+          return (com.google.protobuf.ByteString) ref;
+        }
+      }
+      /**
+       * <code>optional string query = 5;</code>
+       */
+      public Builder setQuery(
+          java.lang.String value) {
+        if (value == null) {
+    throw new NullPointerException();
+  }
+  bitField0_ |= 0x00000010;
+        query_ = value;
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>optional string query = 5;</code>
+       */
+      public Builder clearQuery() {
+        bitField0_ = (bitField0_ & ~0x00000010);
+        query_ = getDefaultInstance().getQuery();
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>optional string query = 5;</code>
+       */
+      public Builder setQueryBytes(
+          com.google.protobuf.ByteString value) {
+        if (value == null) {
+    throw new NullPointerException();
+  }
+  bitField0_ |= 0x00000010;
+        query_ = value;
+        onChanged();
+        return this;
+      }
+
+      // repeated .exec.shared.MajorFragmentProfile fragment_profile = 6;
+      private java.util.List<org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile> fragmentProfile_ =
+        java.util.Collections.emptyList();
+      private void ensureFragmentProfileIsMutable() {
+        if (!((bitField0_ & 0x00000020) == 0x00000020)) {
+          fragmentProfile_ = new java.util.ArrayList<org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile>(fragmentProfile_);
+          bitField0_ |= 0x00000020;
+         }
+      }
+
+      private com.google.protobuf.RepeatedFieldBuilder<
+          org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile, org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile.Builder, org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfileOrBuilder> fragmentProfileBuilder_;
+
+      /**
+       * <code>repeated .exec.shared.MajorFragmentProfile fragment_profile = 6;</code>
+       */
+      public java.util.List<org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile> getFragmentProfileList() {
+        if (fragmentProfileBuilder_ == null) {
+          return java.util.Collections.unmodifiableList(fragmentProfile_);
+        } else {
+          return fragmentProfileBuilder_.getMessageList();
+        }
+      }
+      /**
+       * <code>repeated .exec.shared.MajorFragmentProfile fragment_profile = 6;</code>
+       */
+      public int getFragmentProfileCount() {
+        if (fragmentProfileBuilder_ == null) {
+          return fragmentProfile_.size();
+        } else {
+          return fragmentProfileBuilder_.getCount();
+        }
+      }
+      /**
+       * <code>repeated .exec.shared.MajorFragmentProfile fragment_profile = 6;</code>
+       */
+      public org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile getFragmentProfile(int index) {
+        if (fragmentProfileBuilder_ == null) {
+          return fragmentProfile_.get(index);
+        } else {
+          return fragmentProfileBuilder_.getMessage(index);
+        }
+      }
+      /**
+       * <code>repeated .exec.shared.MajorFragmentProfile fragment_profile = 6;</code>
+       */
+      public Builder setFragmentProfile(
+          int index, org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile value) {
+        if (fragmentProfileBuilder_ == null) {
+          if (value == null) {
+            throw new NullPointerException();
+          }
+          ensureFragmentProfileIsMutable();
+          fragmentProfile_.set(index, value);
+          onChanged();
+        } else {
+          fragmentProfileBuilder_.setMessage(index, value);
+        }
+        return this;
+      }
+      /**
+       * <code>repeated .exec.shared.MajorFragmentProfile fragment_profile = 6;</code>
+       */
+      public Builder setFragmentProfile(
+          int index, org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile.Builder builderForValue) {
+        if (fragmentProfileBuilder_ == null) {
+          ensureFragmentProfileIsMutable();
+          fragmentProfile_.set(index, builderForValue.build());
+          onChanged();
+        } else {
+          fragmentProfileBuilder_.setMessage(index, builderForValue.build());
+        }
+        return this;
+      }
+      /**
+       * <code>repeated .exec.shared.MajorFragmentProfile fragment_profile = 6;</code>
+       */
+      public Builder addFragmentProfile(org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile value) {
+        if (fragmentProfileBuilder_ == null) {
+          if (value == null) {
+            throw new NullPointerException();
+          }
+          ensureFragmentProfileIsMutable();
+          fragmentProfile_.add(value);
+          onChanged();
+        } else {
+          fragmentProfileBuilder_.addMessage(value);
+        }
+        return this;
+      }
+      /**
+       * <code>repeated .exec.shared.MajorFragmentProfile fragment_profile = 6;</code>
+       */
+      public Builder addFragmentProfile(
+          int index, org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile value) {
+        if (fragmentProfileBuilder_ == null) {
+          if (value == null) {
+            throw new NullPointerException();
+          }
+          ensureFragmentProfileIsMutable();
+          fragmentProfile_.add(index, value);
+          onChanged();
+        } else {
+          fragmentProfileBuilder_.addMessage(index, value);
+        }
+        return this;
+      }
+      /**
+       * <code>repeated .exec.shared.MajorFragmentProfile fragment_profile = 6;</code>
+       */
+      public Builder addFragmentProfile(
+          org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile.Builder builderForValue) {
+        if (fragmentProfileBuilder_ == null) {
+          ensureFragmentProfileIsMutable();
+          fragmentProfile_.add(builderForValue.build());
+          onChanged();
+        } else {
+          fragmentProfileBuilder_.addMessage(builderForValue.build());
+        }
+        return this;
+      }
+      /**
+       * <code>repeated .exec.shared.MajorFragmentProfile fragment_profile = 6;</code>
+       */
+      public Builder addFragmentProfile(
+          int index, org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile.Builder builderForValue) {
+        if (fragmentProfileBuilder_ == null) {
+          ensureFragmentProfileIsMutable();
+          fragmentProfile_.add(index, builderForValue.build());
+          onChanged();
+        } else {
+          fragmentProfileBuilder_.addMessage(index, builderForValue.build());
+        }
+        return this;
+      }
+      /**
+       * <code>repeated .exec.shared.MajorFragmentProfile fragment_profile = 6;</code>
+       */
+      public Builder addAllFragmentProfile(
+          java.lang.Iterable<? extends org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile> values) {
+        if (fragmentProfileBuilder_ == null) {
+          ensureFragmentProfileIsMutable();
+          super.addAll(values, fragmentProfile_);
+          onChanged();
+        } else {
+          fragmentProfileBuilder_.addAllMessages(values);
+        }
+        return this;
+      }
+      /**
+       * <code>repeated .exec.shared.MajorFragmentProfile fragment_profile = 6;</code>
+       */
+      public Builder clearFragmentProfile() {
+        if (fragmentProfileBuilder_ == null) {
+          fragmentProfile_ = java.util.Collections.emptyList();
+          bitField0_ = (bitField0_ & ~0x00000020);
+          onChanged();
+        } else {
+          fragmentProfileBuilder_.clear();
+        }
+        return this;
+      }
+      /**
+       * <code>repeated .exec.shared.MajorFragmentProfile fragment_profile = 6;</code>
+       */
+      public Builder removeFragmentProfile(int index) {
+        if (fragmentProfileBuilder_ == null) {
+          ensureFragmentProfileIsMutable();
+          fragmentProfile_.remove(index);
+          onChanged();
+        } else {
+          fragmentProfileBuilder_.remove(index);
+        }
+        return this;
+      }
+      /**
+       * <code>repeated .exec.shared.MajorFragmentProfile fragment_profile = 6;</code>
+       */
+      public org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile.Builder getFragmentProfileBuilder(
+          int index) {
+        return getFragmentProfileFieldBuilder().getBuilder(index);
+      }
+      /**
+       * <code>repeated .exec.shared.MajorFragmentProfile fragment_profile = 6;</code>
+       */
+      public org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfileOrBuilder getFragmentProfileOrBuilder(
+          int index) {
+        if (fragmentProfileBuilder_ == null) {
+          return fragmentProfile_.get(index);  } else {
+          return fragmentProfileBuilder_.getMessageOrBuilder(index);
+        }
+      }
+      /**
+       * <code>repeated .exec.shared.MajorFragmentProfile fragment_profile = 6;</code>
+       */
+      public java.util.List<? extends org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfileOrBuilder> 
+           getFragmentProfileOrBuilderList() {
+        if (fragmentProfileBuilder_ != null) {
+          return fragmentProfileBuilder_.getMessageOrBuilderList();
+        } else {
+          return java.util.Collections.unmodifiableList(fragmentProfile_);
+        }
+      }
+      /**
+       * <code>repeated .exec.shared.MajorFragmentProfile fragment_profile = 6;</code>
+       */
+      public org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile.Builder addFragmentProfileBuilder() {
+        return getFragmentProfileFieldBuilder().addBuilder(
+            org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile.getDefaultInstance());
+      }
+      /**
+       * <code>repeated .exec.shared.MajorFragmentProfile fragment_profile = 6;</code>
+       */
+      public org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile.Builder addFragmentProfileBuilder(
+          int index) {
+        return getFragmentProfileFieldBuilder().addBuilder(
+            index, org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile.getDefaultInstance());
+      }
+      /**
+       * <code>repeated .exec.shared.MajorFragmentProfile fragment_profile = 6;</code>
+       */
+      public java.util.List<org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile.Builder> 
+           getFragmentProfileBuilderList() {
+        return getFragmentProfileFieldBuilder().getBuilderList();
+      }
+      private com.google.protobuf.RepeatedFieldBuilder<
+          org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile, org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile.Builder, org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfileOrBuilder> 
+          getFragmentProfileFieldBuilder() {
+        if (fragmentProfileBuilder_ == null) {
+          fragmentProfileBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
+              org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile, org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile.Builder, org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfileOrBuilder>(
+                  fragmentProfile_,
+                  ((bitField0_ & 0x00000020) == 0x00000020),
+                  getParentForChildren(),
+                  isClean());
+          fragmentProfile_ = null;
+        }
+        return fragmentProfileBuilder_;
+      }
+
+      // @@protoc_insertion_point(builder_scope:exec.shared.QueryProfile)
+    }
+
+    static {
+      defaultInstance = new QueryProfile(true);
+      defaultInstance.initFields();
+    }
+
+    // @@protoc_insertion_point(class_scope:exec.shared.QueryProfile)
+  }
+
+  public interface MajorFragmentProfileOrBuilder
+      extends com.google.protobuf.MessageOrBuilder {
+
+    // optional int32 major_fragment_id = 1;
+    /**
+     * <code>optional int32 major_fragment_id = 1;</code>
+     */
+    boolean hasMajorFragmentId();
+    /**
+     * <code>optional int32 major_fragment_id = 1;</code>
+     */
+    int getMajorFragmentId();
+
+    // repeated .exec.shared.MinorFragmentProfile minor_fragment_profile = 2;
+    /**
+     * <code>repeated .exec.shared.MinorFragmentProfile minor_fragment_profile = 2;</code>
+     */
+    java.util.List<org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile> 
+        getMinorFragmentProfileList();
+    /**
+     * <code>repeated .exec.shared.MinorFragmentProfile minor_fragment_profile = 2;</code>
+     */
+    org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile getMinorFragmentProfile(int index);
+    /**
+     * <code>repeated .exec.shared.MinorFragmentProfile minor_fragment_profile = 2;</code>
+     */
+    int getMinorFragmentProfileCount();
+    /**
+     * <code>repeated .exec.shared.MinorFragmentProfile minor_fragment_profile = 2;</code>
+     */
+    java.util.List<? extends org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfileOrBuilder> 
+        getMinorFragmentProfileOrBuilderList();
+    /**
+     * <code>repeated .exec.shared.MinorFragmentProfile minor_fragment_profile = 2;</code>
+     */
+    org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfileOrBuilder getMinorFragmentProfileOrBuilder(
+        int index);
+  }
+  /**
+   * Protobuf type {@code exec.shared.MajorFragmentProfile}
+   */
+  public static final class MajorFragmentProfile extends
+      com.google.protobuf.GeneratedMessage
+      implements MajorFragmentProfileOrBuilder {
+    // Use MajorFragmentProfile.newBuilder() to construct.
+    private MajorFragmentProfile(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
+      super(builder);
+      this.unknownFields = builder.getUnknownFields();
+    }
+    private MajorFragmentProfile(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
+
+    private static final MajorFragmentProfile defaultInstance;
+    public static MajorFragmentProfile getDefaultInstance() {
+      return defaultInstance;
+    }
+
+    public MajorFragmentProfile getDefaultInstanceForType() {
+      return defaultInstance;
+    }
+
+    private final com.google.protobuf.UnknownFieldSet unknownFields;
+    @java.lang.Override
+    public final com.google.protobuf.UnknownFieldSet
+        getUnknownFields() {
+      return this.unknownFields;
+    }
+    private MajorFragmentProfile(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      initFields();
+      int mutable_bitField0_ = 0;
+      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+          com.google.protobuf.UnknownFieldSet.newBuilder();
+      try {
+        boolean done = false;
+        while (!done) {
+          int tag = input.readTag();
+          switch (tag) {
+            case 0:
+              done = true;
+              break;
+            default: {
+              if (!parseUnknownField(input, unknownFields,
+                                     extensionRegistry, tag)) {
+                done = true;
+              }
+              break;
+            }
+            case 8: {
+              bitField0_ |= 0x00000001;
+              majorFragmentId_ = input.readInt32();
+              break;
+            }
+            case 18: {
+              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
+                minorFragmentProfile_ = new java.util.ArrayList<org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile>();
+                mutable_bitField0_ |= 0x00000002;
+              }
+              minorFragmentProfile_.add(input.readMessage(org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile.PARSER, extensionRegistry));
+              break;
+            }
+          }
+        }
+      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+        throw e.setUnfinishedMessage(this);
+      } catch (java.io.IOException e) {
+        throw new com.google.protobuf.InvalidProtocolBufferException(
+            e.getMessage()).setUnfinishedMessage(this);
+      } finally {
+        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
+          minorFragmentProfile_ = java.util.Collections.unmodifiableList(minorFragmentProfile_);
+        }
+        this.unknownFields = unknownFields.build();
+        makeExtensionsImmutable();
+      }
+    }
+    public static final com.google.protobuf.Descriptors.Descriptor
+        getDescriptor() {
+      return org.apache.drill.exec.proto.UserBitShared.internal_static_exec_shared_MajorFragmentProfile_descriptor;
+    }
+
+    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+        internalGetFieldAccessorTable() {
+      return org.apache.drill.exec.proto.UserBitShared.internal_static_exec_shared_MajorFragmentProfile_fieldAccessorTable
+          .ensureFieldAccessorsInitialized(
+              org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile.class, org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile.Builder.class);
+    }
+
+    public static com.google.protobuf.Parser<MajorFragmentProfile> PARSER =
+        new com.google.protobuf.AbstractParser<MajorFragmentProfile>() {
+      public MajorFragmentProfile parsePartialFrom(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return new MajorFragmentProfile(input, extensionRegistry);
+      }
+    };
+
+    @java.lang.Override
+    public com.google.protobuf.Parser<MajorFragmentProfile> getParserForType() {
+      return PARSER;
+    }
+
+    private int bitField0_;
+    // optional int32 major_fragment_id = 1;
+    public static final int MAJOR_FRAGMENT_ID_FIELD_NUMBER = 1;
+    private int majorFragmentId_;
+    /**
+     * <code>optional int32 major_fragment_id = 1;</code>
+     */
+    public boolean hasMajorFragmentId() {
+      return ((bitField0_ & 0x00000001) == 0x00000001);
+    }
+    /**
+     * <code>optional int32 major_fragment_id = 1;</code>
+     */
+    public int getMajorFragmentId() {
+      return majorFragmentId_;
+    }
+
+    // repeated .exec.shared.MinorFragmentProfile minor_fragment_profile = 2;
+    public static final int MINOR_FRAGMENT_PROFILE_FIELD_NUMBER = 2;
+    private java.util.List<org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile> minorFragmentProfile_;
+    /**
+     * <code>repeated .exec.shared.MinorFragmentProfile minor_fragment_profile = 2;</code>
+     */
+    public java.util.List<org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile> getMinorFragmentProfileList() {
+      return minorFragmentProfile_;
+    }
+    /**
+     * <code>repeated .exec.shared.MinorFragmentProfile minor_fragment_profile = 2;</code>
+     */
+    public java.util.List<? extends org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfileOrBuilder> 
+        getMinorFragmentProfileOrBuilderList() {
+      return minorFragmentProfile_;
+    }
+    /**
+     * <code>repeated .exec.shared.MinorFragmentProfile minor_fragment_profile = 2;</code>
+     */
+    public int getMinorFragmentProfileCount() {
+      return minorFragmentProfile_.size();
+    }
+    /**
+     * <code>repeated .exec.shared.MinorFragmentProfile minor_fragment_profile = 2;</code>
+     */
+    public org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile getMinorFragmentProfile(int index) {
+      return minorFragmentProfile_.get(index);
+    }
+    /**
+     * <code>repeated .exec.shared.MinorFragmentProfile minor_fragment_profile = 2;</code>
+     */
+    public org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfileOrBuilder getMinorFragmentProfileOrBuilder(
+        int index) {
+      return minorFragmentProfile_.get(index);
+    }
+
+    private void initFields() {
+      majorFragmentId_ = 0;
+      minorFragmentProfile_ = java.util.Collections.emptyList();
+    }
+    private byte memoizedIsInitialized = -1;
+    public final boolean isInitialized() {
+      byte isInitialized = memoizedIsInitialized;
+      if (isInitialized != -1) return isInitialized == 1;
+
+      memoizedIsInitialized = 1;
+      return true;
+    }
+
+    public void writeTo(com.google.protobuf.CodedOutputStream output)
+                        throws java.io.IOException {
+      getSerializedSize();
+      if (((bitField0_ & 0x00000001) == 0x00000001)) {
+        output.writeInt32(1, majorFragmentId_);
+      }
+      for (int i = 0; i < minorFragmentProfile_.size(); i++) {
+        output.writeMessage(2, minorFragmentProfile_.get(i));
+      }
+      getUnknownFields().writeTo(output);
+    }
+
+    private int memoizedSerializedSize = -1;
+    public int getSerializedSize() {
+      int size = memoizedSerializedSize;
+      if (size != -1) return size;
+
+      size = 0;
+      if (((bitField0_ & 0x00000001) == 0x00000001)) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeInt32Size(1, majorFragmentId_);
+      }
+      for (int i = 0; i < minorFragmentProfile_.size(); i++) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeMessageSize(2, minorFragmentProfile_.get(i));
+      }
+      size += getUnknownFields().getSerializedSize();
+      memoizedSerializedSize = size;
+      return size;
+    }
+
+    private static final long serialVersionUID = 0L;
+    @java.lang.Override
+    protected java.lang.Object writeReplace()
+        throws java.io.ObjectStreamException {
+      return super.writeReplace();
+    }
+
+    public static org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile parseFrom(
+        com.google.protobuf.ByteString data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data);
+    }
+    public static org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile parseFrom(
+        com.google.protobuf.ByteString data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data, extensionRegistry);
+    }
+    public static org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile parseFrom(byte[] data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data);
+    }
+    public static org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile parseFrom(
+        byte[] data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data, extensionRegistry);
+    }
+    public static org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile parseFrom(java.io.InputStream input)
+        throws java.io.IOException {
+      return PARSER.parseFrom(input);
+    }
+    public static org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile parseFrom(
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
+      return PARSER.parseFrom(input, extensionRegistry);
+    }
+    public static org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile parseDelimitedFrom(java.io.InputStream input)
+        throws java.io.IOException {
+      return PARSER.parseDelimitedFrom(input);
+    }
+    public static org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile parseDelimitedFrom(
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
+      return PARSER.parseDelimitedFrom(input, extensionRegistry);
+    }
+    public static org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile parseFrom(
+        com.google.protobuf.CodedInputStream input)
+        throws java.io.IOException {
+      return PARSER.parseFrom(input);
+    }
+    public static org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile parseFrom(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
+      return PARSER.parseFrom(input, extensionRegistry);
+    }
+
+    public static Builder newBuilder() { return Builder.create(); }
+    public Builder newBuilderForType() { return newBuilder(); }
+    public static Builder newBuilder(org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile prototype) {
+      return newBuilder().mergeFrom(prototype);
+    }
+    public Builder toBuilder() { return newBuilder(this); }
+
+    @java.lang.Override
+    protected Builder newBuilderForType(
+        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+      Builder builder = new Builder(parent);
+      return builder;
+    }
+    /**
+     * Protobuf type {@code exec.shared.MajorFragmentProfile}
+     */
+    public static final class Builder extends
+        com.google.protobuf.GeneratedMessage.Builder<Builder>
+       implements org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfileOrBuilder {
+      public static final com.google.protobuf.Descriptors.Descriptor
+          getDescriptor() {
+        return org.apache.drill.exec.proto.UserBitShared.internal_static_exec_shared_MajorFragmentProfile_descriptor;
+      }
+
+      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+          internalGetFieldAccessorTable() {
+        return org.apache.drill.exec.proto.UserBitShared.internal_static_exec_shared_MajorFragmentProfile_fieldAccessorTable
+            .ensureFieldAccessorsInitialized(
+                org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile.class, org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile.Builder.class);
+      }
+
+      // Construct using org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile.newBuilder()
+      private Builder() {
+        maybeForceBuilderInitialization();
+      }
+
+      private Builder(
+          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+        super(parent);
+        maybeForceBuilderInitialization();
+      }
+      private void maybeForceBuilderInitialization() {
+        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
+          getMinorFragmentProfileFieldBuilder();
+        }
+      }
+      private static Builder create() {
+        return new Builder();
+      }
+
+      public Builder clear() {
+        super.clear();
+        majorFragmentId_ = 0;
+        bitField0_ = (bitField0_ & ~0x00000001);
+        if (minorFragmentProfileBuilder_ == null) {
+          minorFragmentProfile_ = java.util.Collections.emptyList();
+          bitField0_ = (bitField0_ & ~0x00000002);
+        } else {
+          minorFragmentProfileBuilder_.clear();
+        }
+        return this;
+      }
+
+      public Builder clone() {
+        return create().mergeFrom(buildPartial());
+      }
+
+      public com.google.protobuf.Descriptors.Descriptor
+          getDescriptorForType() {
+        return org.apache.drill.exec.proto.UserBitShared.internal_static_exec_shared_MajorFragmentProfile_descriptor;
+      }
+
+      public org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile getDefaultInstanceForType() {
+        return org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile.getDefaultInstance();
+      }
+
+      public org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile build() {
+        org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile result = buildPartial();
+        if (!result.isInitialized()) {
+          throw newUninitializedMessageException(result);
+        }
+        return result;
+      }
+
+      public org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile buildPartial() {
+        org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile result = new org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile(this);
+        int from_bitField0_ = bitField0_;
+        int to_bitField0_ = 0;
+        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
+          to_bitField0_ |= 0x00000001;
+        }
+        result.majorFragmentId_ = majorFragmentId_;
+        if (minorFragmentProfileBuilder_ == null) {
+          if (((bitField0_ & 0x00000002) == 0x00000002)) {
+            minorFragmentProfile_ = java.util.Collections.unmodifiableList(minorFragmentProfile_);
+            bitField0_ = (bitField0_ & ~0x00000002);
+          }
+          result.minorFragmentProfile_ = minorFragmentProfile_;
+        } else {
+          result.minorFragmentProfile_ = minorFragmentProfileBuilder_.build();
+        }
+        result.bitField0_ = to_bitField0_;
+        onBuilt();
+        return result;
+      }
+
+      public Builder mergeFrom(com.google.protobuf.Message other) {
+        if (other instanceof org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile) {
+          return mergeFrom((org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile)other);
+        } else {
+          super.mergeFrom(other);
+          return this;
+        }
+      }
+
+      public Builder mergeFrom(org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile other) {
+        if (other == org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile.getDefaultInstance()) return this;
+        if (other.hasMajorFragmentId()) {
+          setMajorFragmentId(other.getMajorFragmentId());
+        }
+        if (minorFragmentProfileBuilder_ == null) {
+          if (!other.minorFragmentProfile_.isEmpty()) {
+            if (minorFragmentProfile_.isEmpty()) {
+              minorFragmentProfile_ = other.minorFragmentProfile_;
+              bitField0_ = (bitField0_ & ~0x00000002);
+            } else {
+              ensureMinorFragmentProfileIsMutable();
+              minorFragmentProfile_.addAll(other.minorFragmentProfile_);
+            }
+            onChanged();
+          }
+        } else {
+          if (!other.minorFragmentProfile_.isEmpty()) {
+            if (minorFragmentProfileBuilder_.isEmpty()) {
+              minorFragmentProfileBuilder_.dispose();
+              minorFragmentProfileBuilder_ = null;
+              minorFragmentProfile_ = other.minorFragmentProfile_;
+              bitField0_ = (bitField0_ & ~0x00000002);
+              minorFragmentProfileBuilder_ = 
+                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
+                   getMinorFragmentProfileFieldBuilder() : null;
+            } else {
+              minorFragmentProfileBuilder_.addAllMessages(other.minorFragmentProfile_);
+            }
+          }
+        }
+        this.mergeUnknownFields(other.getUnknownFields());
+        return this;
+      }
+
+      public final boolean isInitialized() {
+        return true;
+      }
+
+      public Builder mergeFrom(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws java.io.IOException {
+        org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile parsedMessage = null;
+        try {
+          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+          parsedMessage = (org.apache.drill.exec.proto.UserBitShared.MajorFragmentProfile) e.getUnfinishedMessage();
+          throw e;
+        } finally {
+          if (parsedMessage != null) {
+            mergeFrom(parsedMessage);
+          }
+        }
+        return this;
+      }
+      private int bitField0_;
+
+      // optional int32 major_fragment_id = 1;
+      private int majorFragmentId_ ;
+      /**
+       * <code>optional int32 major_fragment_id = 1;</code>
+       */
+      public boolean hasMajorFragmentId() {
+        return ((bitField0_ & 0x00000001) == 0x00000001);
+      }
+      /**
+       * <code>optional int32 major_fragment_id = 1;</code>
+       */
+      public int getMajorFragmentId() {
+        return majorFragmentId_;
+      }
+      /**
+       * <code>optional int32 major_fragment_id = 1;</code>
+       */
+      public Builder setMajorFragmentId(int value) {
+        bitField0_ |= 0x00000001;
+        majorFragmentId_ = value;
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>optional int32 major_fragment_id = 1;</code>
+       */
+      public Builder clearMajorFragmentId() {
+        bitField0_ = (bitField0_ & ~0x00000001);
+        majorFragmentId_ = 0;
+        onChanged();
+        return this;
+      }
+
+      // repeated .exec.shared.MinorFragmentProfile minor_fragment_profile = 2;
+      private java.util.List<org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile> minorFragmentProfile_ =
+        java.util.Collections.emptyList();
+      private void ensureMinorFragmentProfileIsMutable() {
+        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
+          minorFragmentProfile_ = new java.util.ArrayList<org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile>(minorFragmentProfile_);
+          bitField0_ |= 0x00000002;
+         }
+      }
+
+      private com.google.protobuf.RepeatedFieldBuilder<
+          org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile, org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile.Builder, org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfileOrBuilder> minorFragmentProfileBuilder_;
+
+      /**
+       * <code>repeated .exec.shared.MinorFragmentProfile minor_fragment_profile = 2;</code>
+       */
+      public java.util.List<org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile> getMinorFragmentProfileList() {
+        if (minorFragmentProfileBuilder_ == null) {
+          return java.util.Collections.unmodifiableList(minorFragmentProfile_);
+        } else {
+          return minorFragmentProfileBuilder_.getMessageList();
+        }
+      }
+      /**
+       * <code>repeated .exec.shared.MinorFragmentProfile minor_fragment_profile = 2;</code>
+       */
+      public int getMinorFragmentProfileCount() {
+        if (minorFragmentProfileBuilder_ == null) {
+          return minorFragmentProfile_.size();
+        } else {
+          return minorFragmentProfileBuilder_.getCount();
+        }
+      }
+      /**
+       * <code>repeated .exec.shared.MinorFragmentProfile minor_fragment_profile = 2;</code>
+       */
+      public org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile getMinorFragmentProfile(int index) {
+        if (minorFragmentProfileBuilder_ == null) {
+          return minorFragmentProfile_.get(index);
+        } else {
+          return minorFragmentProfileBuilder_.getMessage(index);
+        }
+      }
+      /**
+       * <code>repeated .exec.shared.MinorFragmentProfile minor_fragment_profile = 2;</code>
+       */
+      public Builder setMinorFragmentProfile(
+          int index, org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile value) {
+        if (minorFragmentProfileBuilder_ == null) {
+          if (value == null) {
+            throw new NullPointerException();
+          }
+          ensureMinorFragmentProfileIsMutable();
+          minorFragmentProfile_.set(index, value);
+          onChanged();
+        } else {
+          minorFragmentProfileBuilder_.setMessage(index, value);
+        }
+        return this;
+      }
+      /**
+       * <code>repeated .exec.shared.MinorFragmentProfile minor_fragment_profile = 2;</code>
+       */
+      public Builder setMinorFragmentProfile(
+          int index, org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile.Builder builderForValue) {
+        if (minorFragmentProfileBuilder_ == null) {
+          ensureMinorFragmentProfileIsMutable();
+          minorFragmentProfile_.set(index, builderForValue.build());
+          onChanged();
+        } else {
+          minorFragmentProfileBuilder_.setMessage(index, builderForValue.build());
+        }
+        return this;
+      }
+      /**
+       * <code>repeated .exec.shared.MinorFragmentProfile minor_fragment_profile = 2;</code>
+       */
+      public Builder addMinorFragmentProfile(org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile value) {
+        if (minorFragmentProfileBuilder_ == null) {
+          if (value == null) {
+            throw new NullPointerException();
+          }
+          ensureMinorFragmentProfileIsMutable();
+          minorFragmentProfile_.add(value);
+          onChanged();
+        } else {
+          minorFragmentProfileBuilder_.addMessage(value);
+        }
+        return this;
+      }
+      /**
+       * <code>repeated .exec.shared.MinorFragmentProfile minor_fragment_profile = 2;</code>
+       */
+      public Builder addMinorFragmentProfile(
+          int index, org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile value) {
+        if (minorFragmentProfileBuilder_ == null) {
+          if (value == null) {
+            throw new NullPointerException();
+          }
+          ensureMinorFragmentProfileIsMutable();
+          minorFragmentProfile_.add(index, value);
+          onChanged();
+        } else {
+          minorFragmentProfileBuilder_.addMessage(index, value);
+        }
+        return this;
+      }
+      /**
+       * <code>repeated .exec.shared.MinorFragmentProfile minor_fragment_profile = 2;</code>
+       */
+      public Builder addMinorFragmentProfile(
+          org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile.Builder builderForValue) {
+        if (minorFragmentProfileBuilder_ == null) {
+          ensureMinorFragmentProfileIsMutable();
+          minorFragmentProfile_.add(builderForValue.build());
+          onChanged();
+        } else {
+          minorFragmentProfileBuilder_.addMessage(builderForValue.build());
+        }
+        return this;
+      }
+      /**
+       * <code>repeated .exec.shared.MinorFragmentProfile minor_fragment_profile = 2;</code>
+       */
+      public Builder addMinorFragmentProfile(
+          int index, org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile.Builder builderForValue) {
+        if (minorFragmentProfileBuilder_ == null) {
+          ensureMinorFragmentProfileIsMutable();
+          minorFragmentProfile_.add(index, builderForValue.build());
+          onChanged();
+        } else {
+          minorFragmentProfileBuilder_.addMessage(index, builderForValue.build());
+        }
+        return this;
+      }
+      /**
+       * <code>repeated .exec.shared.MinorFragmentProfile minor_fragment_profile = 2;</code>
+       */
+      public Builder addAllMinorFragmentProfile(
+          java.lang.Iterable<? extends org.apache.drill.exec.proto.UserBitShared.MinorFragmentProfile> values) {
+        if (minorFragmentProfileBuilder_ == null) {
+          ensureMinorFragmentProfileIsMutable();
+          super.addAll(values, minorFragmentProfile_);
+          onChanged();
+        } else {
+          minorFragmentProfileBuilder_.addAllMessages(values);
+        }
+        return this;
+      }
+      /**
+       * <code>repeated .exec.shared.MinorFragmentProfile minor_fragment_profile = 2;</code>
+       */
+      public Builder clearMinorFragmentProfile() {
+        if (minorFragmentProfileBuilder_ == null) {
+          minorFragmentProfile_ = java.util.Collections.emptyList();
+          bitField0_ = (bitField0_ & ~0x00000002);
+          onChanged();
+        } else {
+          minorFragmentProfileBuilder_.clear();
+        }
+     

<TRUNCATED>