RuntimeProfile.java

// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: runtime_profile.proto

package org.apache.doris.proto;

public final class RuntimeProfile {
  private RuntimeProfile() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  /**
   * <pre>
   * Counter unit types (equivalent to Metrics.TUnit)
   * </pre>
   *
   * Protobuf enum {@code doris.PProfileUnit}
   */
  public enum PProfileUnit
      implements com.google.protobuf.ProtocolMessageEnum {
    /**
     * <pre>
     * A dimensionless numerical quantity
     * </pre>
     *
     * <code>UNIT = 0;</code>
     */
    UNIT(0),
    /**
     * <pre>
     * Rate of a dimensionless numerical quantity
     * </pre>
     *
     * <code>UNIT_PER_SECOND = 1;</code>
     */
    UNIT_PER_SECOND(1),
    /**
     * <code>CPU_TICKS = 2;</code>
     */
    CPU_TICKS(2),
    /**
     * <code>BYTES = 3;</code>
     */
    BYTES(3),
    /**
     * <code>BYTES_PER_SECOND = 4;</code>
     */
    BYTES_PER_SECOND(4),
    /**
     * <code>TIME_NS = 5;</code>
     */
    TIME_NS(5),
    /**
     * <code>DOUBLE_VALUE = 6;</code>
     */
    DOUBLE_VALUE(6),
    /**
     * <pre>
     * No units at all, may not be a numerical quantity
     * It is used as a label now, so do not treat it as 
     * a real counter.
     * </pre>
     *
     * <code>NONE = 7;</code>
     */
    NONE(7),
    /**
     * <code>TIME_MS = 8;</code>
     */
    TIME_MS(8),
    /**
     * <code>TIME_S = 9;</code>
     */
    TIME_S(9),
    ;

    /**
     * <pre>
     * A dimensionless numerical quantity
     * </pre>
     *
     * <code>UNIT = 0;</code>
     */
    public static final int UNIT_VALUE = 0;
    /**
     * <pre>
     * Rate of a dimensionless numerical quantity
     * </pre>
     *
     * <code>UNIT_PER_SECOND = 1;</code>
     */
    public static final int UNIT_PER_SECOND_VALUE = 1;
    /**
     * <code>CPU_TICKS = 2;</code>
     */
    public static final int CPU_TICKS_VALUE = 2;
    /**
     * <code>BYTES = 3;</code>
     */
    public static final int BYTES_VALUE = 3;
    /**
     * <code>BYTES_PER_SECOND = 4;</code>
     */
    public static final int BYTES_PER_SECOND_VALUE = 4;
    /**
     * <code>TIME_NS = 5;</code>
     */
    public static final int TIME_NS_VALUE = 5;
    /**
     * <code>DOUBLE_VALUE = 6;</code>
     */
    public static final int DOUBLE_VALUE_VALUE = 6;
    /**
     * <pre>
     * No units at all, may not be a numerical quantity
     * It is used as a label now, so do not treat it as 
     * a real counter.
     * </pre>
     *
     * <code>NONE = 7;</code>
     */
    public static final int NONE_VALUE = 7;
    /**
     * <code>TIME_MS = 8;</code>
     */
    public static final int TIME_MS_VALUE = 8;
    /**
     * <code>TIME_S = 9;</code>
     */
    public static final int TIME_S_VALUE = 9;


    public final int getNumber() {
      return value;
    }

    /**
     * @param value The numeric wire value of the corresponding enum entry.
     * @return The enum associated with the given numeric wire value.
     * @deprecated Use {@link #forNumber(int)} instead.
     */
    @java.lang.Deprecated
    public static PProfileUnit valueOf(int value) {
      return forNumber(value);
    }

    /**
     * @param value The numeric wire value of the corresponding enum entry.
     * @return The enum associated with the given numeric wire value.
     */
    public static PProfileUnit forNumber(int value) {
      switch (value) {
        case 0: return UNIT;
        case 1: return UNIT_PER_SECOND;
        case 2: return CPU_TICKS;
        case 3: return BYTES;
        case 4: return BYTES_PER_SECOND;
        case 5: return TIME_NS;
        case 6: return DOUBLE_VALUE;
        case 7: return NONE;
        case 8: return TIME_MS;
        case 9: return TIME_S;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap<PProfileUnit>
        internalGetValueMap() {
      return internalValueMap;
    }
    private static final com.google.protobuf.Internal.EnumLiteMap<
        PProfileUnit> internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap<PProfileUnit>() {
            public PProfileUnit findValueByNumber(int number) {
              return PProfileUnit.forNumber(number);
            }
          };

    public final com.google.protobuf.Descriptors.EnumValueDescriptor
        getValueDescriptor() {
      return getDescriptor().getValues().get(ordinal());
    }
    public final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }
    public static final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptor() {
      return org.apache.doris.proto.RuntimeProfile.getDescriptor().getEnumTypes().get(0);
    }

    private static final PProfileUnit[] VALUES = values();

    public static PProfileUnit 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 value;

    private PProfileUnit(int value) {
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:doris.PProfileUnit)
  }

  public interface PProfileCounterOrBuilder extends
      // @@protoc_insertion_point(interface_extends:doris.PProfileCounter)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>required string name = 1;</code>
     * @return Whether the name field is set.
     */
    boolean hasName();
    /**
     * <code>required string name = 1;</code>
     * @return The name.
     */
    java.lang.String getName();
    /**
     * <code>required string name = 1;</code>
     * @return The bytes for name.
     */
    com.google.protobuf.ByteString
        getNameBytes();

    /**
     * <code>required .doris.PProfileUnit type = 2;</code>
     * @return Whether the type field is set.
     */
    boolean hasType();
    /**
     * <code>required .doris.PProfileUnit type = 2;</code>
     * @return The type.
     */
    org.apache.doris.proto.RuntimeProfile.PProfileUnit getType();

    /**
     * <code>required int64 value = 3;</code>
     * @return Whether the value field is set.
     */
    boolean hasValue();
    /**
     * <code>required int64 value = 3;</code>
     * @return The value.
     */
    long getValue();

    /**
     * <code>optional int64 level = 4;</code>
     * @return Whether the level field is set.
     */
    boolean hasLevel();
    /**
     * <code>optional int64 level = 4;</code>
     * @return The level.
     */
    long getLevel();

    /**
     * <code>optional string description = 5;</code>
     * @return Whether the description field is set.
     */
    boolean hasDescription();
    /**
     * <code>optional string description = 5;</code>
     * @return The description.
     */
    java.lang.String getDescription();
    /**
     * <code>optional string description = 5;</code>
     * @return The bytes for description.
     */
    com.google.protobuf.ByteString
        getDescriptionBytes();
  }
  /**
   * <pre>
   * A single performance counter
   * </pre>
   *
   * Protobuf type {@code doris.PProfileCounter}
   */
  public static final class PProfileCounter extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:doris.PProfileCounter)
      PProfileCounterOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PProfileCounter.newBuilder() to construct.
    private PProfileCounter(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private PProfileCounter() {
      name_ = "";
      type_ = 0;
      description_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new PProfileCounter();
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.doris.proto.RuntimeProfile.internal_static_doris_PProfileCounter_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.doris.proto.RuntimeProfile.internal_static_doris_PProfileCounter_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.doris.proto.RuntimeProfile.PProfileCounter.class, org.apache.doris.proto.RuntimeProfile.PProfileCounter.Builder.class);
    }

    private int bitField0_;
    public static final int NAME_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private volatile java.lang.Object name_ = "";
    /**
     * <code>required string name = 1;</code>
     * @return Whether the name field is set.
     */
    @java.lang.Override
    public boolean hasName() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required string name = 1;</code>
     * @return The name.
     */
    @java.lang.Override
    public java.lang.String getName() {
      java.lang.Object ref = name_;
      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()) {
          name_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string name = 1;</code>
     * @return The bytes for name.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getNameBytes() {
      java.lang.Object ref = name_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        name_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int TYPE_FIELD_NUMBER = 2;
    private int type_ = 0;
    /**
     * <code>required .doris.PProfileUnit type = 2;</code>
     * @return Whether the type field is set.
     */
    @java.lang.Override public boolean hasType() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>required .doris.PProfileUnit type = 2;</code>
     * @return The type.
     */
    @java.lang.Override public org.apache.doris.proto.RuntimeProfile.PProfileUnit getType() {
      org.apache.doris.proto.RuntimeProfile.PProfileUnit result = org.apache.doris.proto.RuntimeProfile.PProfileUnit.forNumber(type_);
      return result == null ? org.apache.doris.proto.RuntimeProfile.PProfileUnit.UNIT : result;
    }

    public static final int VALUE_FIELD_NUMBER = 3;
    private long value_ = 0L;
    /**
     * <code>required int64 value = 3;</code>
     * @return Whether the value field is set.
     */
    @java.lang.Override
    public boolean hasValue() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>required int64 value = 3;</code>
     * @return The value.
     */
    @java.lang.Override
    public long getValue() {
      return value_;
    }

    public static final int LEVEL_FIELD_NUMBER = 4;
    private long level_ = 0L;
    /**
     * <code>optional int64 level = 4;</code>
     * @return Whether the level field is set.
     */
    @java.lang.Override
    public boolean hasLevel() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * <code>optional int64 level = 4;</code>
     * @return The level.
     */
    @java.lang.Override
    public long getLevel() {
      return level_;
    }

    public static final int DESCRIPTION_FIELD_NUMBER = 5;
    @SuppressWarnings("serial")
    private volatile java.lang.Object description_ = "";
    /**
     * <code>optional string description = 5;</code>
     * @return Whether the description field is set.
     */
    @java.lang.Override
    public boolean hasDescription() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * <code>optional string description = 5;</code>
     * @return The description.
     */
    @java.lang.Override
    public java.lang.String getDescription() {
      java.lang.Object ref = description_;
      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()) {
          description_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string description = 5;</code>
     * @return The bytes for description.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getDescriptionBytes() {
      java.lang.Object ref = description_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        description_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      if (!hasName()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasType()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasValue()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeEnum(2, type_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeInt64(3, value_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        output.writeInt64(4, level_);
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 5, description_);
      }
      getUnknownFields().writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(2, type_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(3, value_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(4, level_);
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, description_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.apache.doris.proto.RuntimeProfile.PProfileCounter)) {
        return super.equals(obj);
      }
      org.apache.doris.proto.RuntimeProfile.PProfileCounter other = (org.apache.doris.proto.RuntimeProfile.PProfileCounter) obj;

      if (hasName() != other.hasName()) return false;
      if (hasName()) {
        if (!getName()
            .equals(other.getName())) return false;
      }
      if (hasType() != other.hasType()) return false;
      if (hasType()) {
        if (type_ != other.type_) return false;
      }
      if (hasValue() != other.hasValue()) return false;
      if (hasValue()) {
        if (getValue()
            != other.getValue()) return false;
      }
      if (hasLevel() != other.hasLevel()) return false;
      if (hasLevel()) {
        if (getLevel()
            != other.getLevel()) return false;
      }
      if (hasDescription() != other.hasDescription()) return false;
      if (hasDescription()) {
        if (!getDescription()
            .equals(other.getDescription())) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasName()) {
        hash = (37 * hash) + NAME_FIELD_NUMBER;
        hash = (53 * hash) + getName().hashCode();
      }
      if (hasType()) {
        hash = (37 * hash) + TYPE_FIELD_NUMBER;
        hash = (53 * hash) + type_;
      }
      if (hasValue()) {
        hash = (37 * hash) + VALUE_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getValue());
      }
      if (hasLevel()) {
        hash = (37 * hash) + LEVEL_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getLevel());
      }
      if (hasDescription()) {
        hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER;
        hash = (53 * hash) + getDescription().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.doris.proto.RuntimeProfile.PProfileCounter parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.doris.proto.RuntimeProfile.PProfileCounter parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.doris.proto.RuntimeProfile.PProfileCounter parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.doris.proto.RuntimeProfile.PProfileCounter 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.doris.proto.RuntimeProfile.PProfileCounter parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.doris.proto.RuntimeProfile.PProfileCounter parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.doris.proto.RuntimeProfile.PProfileCounter parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.doris.proto.RuntimeProfile.PProfileCounter parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static org.apache.doris.proto.RuntimeProfile.PProfileCounter parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static org.apache.doris.proto.RuntimeProfile.PProfileCounter parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.doris.proto.RuntimeProfile.PProfileCounter parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.doris.proto.RuntimeProfile.PProfileCounter parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(org.apache.doris.proto.RuntimeProfile.PProfileCounter prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * A single performance counter
     * </pre>
     *
     * Protobuf type {@code doris.PProfileCounter}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:doris.PProfileCounter)
        org.apache.doris.proto.RuntimeProfile.PProfileCounterOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.doris.proto.RuntimeProfile.internal_static_doris_PProfileCounter_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.doris.proto.RuntimeProfile.internal_static_doris_PProfileCounter_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.doris.proto.RuntimeProfile.PProfileCounter.class, org.apache.doris.proto.RuntimeProfile.PProfileCounter.Builder.class);
      }

      // Construct using org.apache.doris.proto.RuntimeProfile.PProfileCounter.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        name_ = "";
        type_ = 0;
        value_ = 0L;
        level_ = 0L;
        description_ = "";
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.doris.proto.RuntimeProfile.internal_static_doris_PProfileCounter_descriptor;
      }

      @java.lang.Override
      public org.apache.doris.proto.RuntimeProfile.PProfileCounter getDefaultInstanceForType() {
        return org.apache.doris.proto.RuntimeProfile.PProfileCounter.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.doris.proto.RuntimeProfile.PProfileCounter build() {
        org.apache.doris.proto.RuntimeProfile.PProfileCounter result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.doris.proto.RuntimeProfile.PProfileCounter buildPartial() {
        org.apache.doris.proto.RuntimeProfile.PProfileCounter result = new org.apache.doris.proto.RuntimeProfile.PProfileCounter(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(org.apache.doris.proto.RuntimeProfile.PProfileCounter result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.name_ = name_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.type_ = type_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.value_ = value_;
          to_bitField0_ |= 0x00000004;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.level_ = level_;
          to_bitField0_ |= 0x00000008;
        }
        if (((from_bitField0_ & 0x00000010) != 0)) {
          result.description_ = description_;
          to_bitField0_ |= 0x00000010;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.doris.proto.RuntimeProfile.PProfileCounter) {
          return mergeFrom((org.apache.doris.proto.RuntimeProfile.PProfileCounter)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.doris.proto.RuntimeProfile.PProfileCounter other) {
        if (other == org.apache.doris.proto.RuntimeProfile.PProfileCounter.getDefaultInstance()) return this;
        if (other.hasName()) {
          name_ = other.name_;
          bitField0_ |= 0x00000001;
          onChanged();
        }
        if (other.hasType()) {
          setType(other.getType());
        }
        if (other.hasValue()) {
          setValue(other.getValue());
        }
        if (other.hasLevel()) {
          setLevel(other.getLevel());
        }
        if (other.hasDescription()) {
          description_ = other.description_;
          bitField0_ |= 0x00000010;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasName()) {
          return false;
        }
        if (!hasType()) {
          return false;
        }
        if (!hasValue()) {
          return false;
        }
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                name_ = input.readBytes();
                bitField0_ |= 0x00000001;
                break;
              } // case 10
              case 16: {
                int tmpRaw = input.readEnum();
                org.apache.doris.proto.RuntimeProfile.PProfileUnit tmpValue =
                    org.apache.doris.proto.RuntimeProfile.PProfileUnit.forNumber(tmpRaw);
                if (tmpValue == null) {
                  mergeUnknownVarintField(2, tmpRaw);
                } else {
                  type_ = tmpRaw;
                  bitField0_ |= 0x00000002;
                }
                break;
              } // case 16
              case 24: {
                value_ = input.readInt64();
                bitField0_ |= 0x00000004;
                break;
              } // case 24
              case 32: {
                level_ = input.readInt64();
                bitField0_ |= 0x00000008;
                break;
              } // case 32
              case 42: {
                description_ = input.readBytes();
                bitField0_ |= 0x00000010;
                break;
              } // case 42
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      private int bitField0_;

      private java.lang.Object name_ = "";
      /**
       * <code>required string name = 1;</code>
       * @return Whether the name field is set.
       */
      public boolean hasName() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required string name = 1;</code>
       * @return The name.
       */
      public java.lang.String getName() {
        java.lang.Object ref = name_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            name_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string name = 1;</code>
       * @return The bytes for name.
       */
      public com.google.protobuf.ByteString
          getNameBytes() {
        java.lang.Object ref = name_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          name_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>required string name = 1;</code>
       * @param value The name to set.
       * @return This builder for chaining.
       */
      public Builder setName(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        name_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>required string name = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearName() {
        name_ = getDefaultInstance().getName();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      /**
       * <code>required string name = 1;</code>
       * @param value The bytes for name to set.
       * @return This builder for chaining.
       */
      public Builder setNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        name_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }

      private int type_ = 0;
      /**
       * <code>required .doris.PProfileUnit type = 2;</code>
       * @return Whether the type field is set.
       */
      @java.lang.Override public boolean hasType() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required .doris.PProfileUnit type = 2;</code>
       * @return The type.
       */
      @java.lang.Override
      public org.apache.doris.proto.RuntimeProfile.PProfileUnit getType() {
        org.apache.doris.proto.RuntimeProfile.PProfileUnit result = org.apache.doris.proto.RuntimeProfile.PProfileUnit.forNumber(type_);
        return result == null ? org.apache.doris.proto.RuntimeProfile.PProfileUnit.UNIT : result;
      }
      /**
       * <code>required .doris.PProfileUnit type = 2;</code>
       * @param value The type to set.
       * @return This builder for chaining.
       */
      public Builder setType(org.apache.doris.proto.RuntimeProfile.PProfileUnit value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000002;
        type_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * <code>required .doris.PProfileUnit type = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearType() {
        bitField0_ = (bitField0_ & ~0x00000002);
        type_ = 0;
        onChanged();
        return this;
      }

      private long value_ ;
      /**
       * <code>required int64 value = 3;</code>
       * @return Whether the value field is set.
       */
      @java.lang.Override
      public boolean hasValue() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>required int64 value = 3;</code>
       * @return The value.
       */
      @java.lang.Override
      public long getValue() {
        return value_;
      }
      /**
       * <code>required int64 value = 3;</code>
       * @param value The value to set.
       * @return This builder for chaining.
       */
      public Builder setValue(long value) {

        value_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * <code>required int64 value = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearValue() {
        bitField0_ = (bitField0_ & ~0x00000004);
        value_ = 0L;
        onChanged();
        return this;
      }

      private long level_ ;
      /**
       * <code>optional int64 level = 4;</code>
       * @return Whether the level field is set.
       */
      @java.lang.Override
      public boolean hasLevel() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * <code>optional int64 level = 4;</code>
       * @return The level.
       */
      @java.lang.Override
      public long getLevel() {
        return level_;
      }
      /**
       * <code>optional int64 level = 4;</code>
       * @param value The level to set.
       * @return This builder for chaining.
       */
      public Builder setLevel(long value) {

        level_ = value;
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * <code>optional int64 level = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearLevel() {
        bitField0_ = (bitField0_ & ~0x00000008);
        level_ = 0L;
        onChanged();
        return this;
      }

      private java.lang.Object description_ = "";
      /**
       * <code>optional string description = 5;</code>
       * @return Whether the description field is set.
       */
      public boolean hasDescription() {
        return ((bitField0_ & 0x00000010) != 0);
      }
      /**
       * <code>optional string description = 5;</code>
       * @return The description.
       */
      public java.lang.String getDescription() {
        java.lang.Object ref = description_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            description_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string description = 5;</code>
       * @return The bytes for description.
       */
      public com.google.protobuf.ByteString
          getDescriptionBytes() {
        java.lang.Object ref = description_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          description_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string description = 5;</code>
       * @param value The description to set.
       * @return This builder for chaining.
       */
      public Builder setDescription(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        description_ = value;
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }
      /**
       * <code>optional string description = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearDescription() {
        description_ = getDefaultInstance().getDescription();
        bitField0_ = (bitField0_ & ~0x00000010);
        onChanged();
        return this;
      }
      /**
       * <code>optional string description = 5;</code>
       * @param value The bytes for description to set.
       * @return This builder for chaining.
       */
      public Builder setDescriptionBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        description_ = value;
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:doris.PProfileCounter)
    }

    // @@protoc_insertion_point(class_scope:doris.PProfileCounter)
    private static final org.apache.doris.proto.RuntimeProfile.PProfileCounter DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.doris.proto.RuntimeProfile.PProfileCounter();
    }

    public static org.apache.doris.proto.RuntimeProfile.PProfileCounter getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser<PProfileCounter>
        PARSER = new com.google.protobuf.AbstractParser<PProfileCounter>() {
      @java.lang.Override
      public PProfileCounter parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (com.google.protobuf.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static com.google.protobuf.Parser<PProfileCounter> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<PProfileCounter> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public org.apache.doris.proto.RuntimeProfile.PProfileCounter getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PProfileChildCounterSetOrBuilder extends
      // @@protoc_insertion_point(interface_extends:doris.PProfileChildCounterSet)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>repeated string child_counters = 1;</code>
     * @return A list containing the childCounters.
     */
    java.util.List<java.lang.String>
        getChildCountersList();
    /**
     * <code>repeated string child_counters = 1;</code>
     * @return The count of childCounters.
     */
    int getChildCountersCount();
    /**
     * <code>repeated string child_counters = 1;</code>
     * @param index The index of the element to return.
     * @return The childCounters at the given index.
     */
    java.lang.String getChildCounters(int index);
    /**
     * <code>repeated string child_counters = 1;</code>
     * @param index The index of the value to return.
     * @return The bytes of the childCounters at the given index.
     */
    com.google.protobuf.ByteString
        getChildCountersBytes(int index);
  }
  /**
   * <pre>
   * A set of child counters (used in map&lt;string, set&lt;string&gt;&gt;)
   * </pre>
   *
   * Protobuf type {@code doris.PProfileChildCounterSet}
   */
  public static final class PProfileChildCounterSet extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:doris.PProfileChildCounterSet)
      PProfileChildCounterSetOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PProfileChildCounterSet.newBuilder() to construct.
    private PProfileChildCounterSet(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private PProfileChildCounterSet() {
      childCounters_ =
          com.google.protobuf.LazyStringArrayList.emptyList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new PProfileChildCounterSet();
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.doris.proto.RuntimeProfile.internal_static_doris_PProfileChildCounterSet_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.doris.proto.RuntimeProfile.internal_static_doris_PProfileChildCounterSet_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet.class, org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet.Builder.class);
    }

    public static final int CHILD_COUNTERS_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private com.google.protobuf.LazyStringArrayList childCounters_ =
        com.google.protobuf.LazyStringArrayList.emptyList();
    /**
     * <code>repeated string child_counters = 1;</code>
     * @return A list containing the childCounters.
     */
    public com.google.protobuf.ProtocolStringList
        getChildCountersList() {
      return childCounters_;
    }
    /**
     * <code>repeated string child_counters = 1;</code>
     * @return The count of childCounters.
     */
    public int getChildCountersCount() {
      return childCounters_.size();
    }
    /**
     * <code>repeated string child_counters = 1;</code>
     * @param index The index of the element to return.
     * @return The childCounters at the given index.
     */
    public java.lang.String getChildCounters(int index) {
      return childCounters_.get(index);
    }
    /**
     * <code>repeated string child_counters = 1;</code>
     * @param index The index of the value to return.
     * @return The bytes of the childCounters at the given index.
     */
    public com.google.protobuf.ByteString
        getChildCountersBytes(int index) {
      return childCounters_.getByteString(index);
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      for (int i = 0; i < childCounters_.size(); i++) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, childCounters_.getRaw(i));
      }
      getUnknownFields().writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      {
        int dataSize = 0;
        for (int i = 0; i < childCounters_.size(); i++) {
          dataSize += computeStringSizeNoTag(childCounters_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getChildCountersList().size();
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet)) {
        return super.equals(obj);
      }
      org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet other = (org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet) obj;

      if (!getChildCountersList()
          .equals(other.getChildCountersList())) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (getChildCountersCount() > 0) {
        hash = (37 * hash) + CHILD_COUNTERS_FIELD_NUMBER;
        hash = (53 * hash) + getChildCountersList().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet 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.doris.proto.RuntimeProfile.PProfileChildCounterSet parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * A set of child counters (used in map&lt;string, set&lt;string&gt;&gt;)
     * </pre>
     *
     * Protobuf type {@code doris.PProfileChildCounterSet}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:doris.PProfileChildCounterSet)
        org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSetOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.doris.proto.RuntimeProfile.internal_static_doris_PProfileChildCounterSet_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.doris.proto.RuntimeProfile.internal_static_doris_PProfileChildCounterSet_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet.class, org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet.Builder.class);
      }

      // Construct using org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        childCounters_ =
            com.google.protobuf.LazyStringArrayList.emptyList();
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.doris.proto.RuntimeProfile.internal_static_doris_PProfileChildCounterSet_descriptor;
      }

      @java.lang.Override
      public org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet getDefaultInstanceForType() {
        return org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet build() {
        org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet buildPartial() {
        org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet result = new org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet result) {
        int from_bitField0_ = bitField0_;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          childCounters_.makeImmutable();
          result.childCounters_ = childCounters_;
        }
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet) {
          return mergeFrom((org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet other) {
        if (other == org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet.getDefaultInstance()) return this;
        if (!other.childCounters_.isEmpty()) {
          if (childCounters_.isEmpty()) {
            childCounters_ = other.childCounters_;
            bitField0_ |= 0x00000001;
          } else {
            ensureChildCountersIsMutable();
            childCounters_.addAll(other.childCounters_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                com.google.protobuf.ByteString bs = input.readBytes();
                ensureChildCountersIsMutable();
                childCounters_.add(bs);
                break;
              } // case 10
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      private int bitField0_;

      private com.google.protobuf.LazyStringArrayList childCounters_ =
          com.google.protobuf.LazyStringArrayList.emptyList();
      private void ensureChildCountersIsMutable() {
        if (!childCounters_.isModifiable()) {
          childCounters_ = new com.google.protobuf.LazyStringArrayList(childCounters_);
        }
        bitField0_ |= 0x00000001;
      }
      /**
       * <code>repeated string child_counters = 1;</code>
       * @return A list containing the childCounters.
       */
      public com.google.protobuf.ProtocolStringList
          getChildCountersList() {
        childCounters_.makeImmutable();
        return childCounters_;
      }
      /**
       * <code>repeated string child_counters = 1;</code>
       * @return The count of childCounters.
       */
      public int getChildCountersCount() {
        return childCounters_.size();
      }
      /**
       * <code>repeated string child_counters = 1;</code>
       * @param index The index of the element to return.
       * @return The childCounters at the given index.
       */
      public java.lang.String getChildCounters(int index) {
        return childCounters_.get(index);
      }
      /**
       * <code>repeated string child_counters = 1;</code>
       * @param index The index of the value to return.
       * @return The bytes of the childCounters at the given index.
       */
      public com.google.protobuf.ByteString
          getChildCountersBytes(int index) {
        return childCounters_.getByteString(index);
      }
      /**
       * <code>repeated string child_counters = 1;</code>
       * @param index The index to set the value at.
       * @param value The childCounters to set.
       * @return This builder for chaining.
       */
      public Builder setChildCounters(
          int index, java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureChildCountersIsMutable();
        childCounters_.set(index, value);
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string child_counters = 1;</code>
       * @param value The childCounters to add.
       * @return This builder for chaining.
       */
      public Builder addChildCounters(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureChildCountersIsMutable();
        childCounters_.add(value);
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string child_counters = 1;</code>
       * @param values The childCounters to add.
       * @return This builder for chaining.
       */
      public Builder addAllChildCounters(
          java.lang.Iterable<java.lang.String> values) {
        ensureChildCountersIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, childCounters_);
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string child_counters = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearChildCounters() {
        childCounters_ =
          com.google.protobuf.LazyStringArrayList.emptyList();
        bitField0_ = (bitField0_ & ~0x00000001);;
        onChanged();
        return this;
      }
      /**
       * <code>repeated string child_counters = 1;</code>
       * @param value The bytes of the childCounters to add.
       * @return This builder for chaining.
       */
      public Builder addChildCountersBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        ensureChildCountersIsMutable();
        childCounters_.add(value);
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:doris.PProfileChildCounterSet)
    }

    // @@protoc_insertion_point(class_scope:doris.PProfileChildCounterSet)
    private static final org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet();
    }

    public static org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser<PProfileChildCounterSet>
        PARSER = new com.google.protobuf.AbstractParser<PProfileChildCounterSet>() {
      @java.lang.Override
      public PProfileChildCounterSet parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (com.google.protobuf.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static com.google.protobuf.Parser<PProfileChildCounterSet> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<PProfileChildCounterSet> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PRuntimeProfileNodeOrBuilder extends
      // @@protoc_insertion_point(interface_extends:doris.PRuntimeProfileNode)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>required string name = 1;</code>
     * @return Whether the name field is set.
     */
    boolean hasName();
    /**
     * <code>required string name = 1;</code>
     * @return The name.
     */
    java.lang.String getName();
    /**
     * <code>required string name = 1;</code>
     * @return The bytes for name.
     */
    com.google.protobuf.ByteString
        getNameBytes();

    /**
     * <code>required int32 num_children = 2;</code>
     * @return Whether the numChildren field is set.
     */
    boolean hasNumChildren();
    /**
     * <code>required int32 num_children = 2;</code>
     * @return The numChildren.
     */
    int getNumChildren();

    /**
     * <pre>
     * Flattened counters for this node and all its children
     * </pre>
     *
     * <code>repeated .doris.PProfileCounter counters = 3;</code>
     */
    java.util.List<org.apache.doris.proto.RuntimeProfile.PProfileCounter> 
        getCountersList();
    /**
     * <pre>
     * Flattened counters for this node and all its children
     * </pre>
     *
     * <code>repeated .doris.PProfileCounter counters = 3;</code>
     */
    org.apache.doris.proto.RuntimeProfile.PProfileCounter getCounters(int index);
    /**
     * <pre>
     * Flattened counters for this node and all its children
     * </pre>
     *
     * <code>repeated .doris.PProfileCounter counters = 3;</code>
     */
    int getCountersCount();
    /**
     * <pre>
     * Flattened counters for this node and all its children
     * </pre>
     *
     * <code>repeated .doris.PProfileCounter counters = 3;</code>
     */
    java.util.List<? extends org.apache.doris.proto.RuntimeProfile.PProfileCounterOrBuilder> 
        getCountersOrBuilderList();
    /**
     * <pre>
     * Flattened counters for this node and all its children
     * </pre>
     *
     * <code>repeated .doris.PProfileCounter counters = 3;</code>
     */
    org.apache.doris.proto.RuntimeProfile.PProfileCounterOrBuilder getCountersOrBuilder(
        int index);

    /**
     * <pre>
     * Node metadata (e.g., node id)
     * </pre>
     *
     * <code>required int64 metadata = 4;</code>
     * @return Whether the metadata field is set.
     */
    boolean hasMetadata();
    /**
     * <pre>
     * Node metadata (e.g., node id)
     * </pre>
     *
     * <code>required int64 metadata = 4;</code>
     * @return The metadata.
     */
    long getMetadata();

    /**
     * <pre>
     * Whether the child is indented
     * </pre>
     *
     * <code>required bool indent = 5;</code>
     * @return Whether the indent field is set.
     */
    boolean hasIndent();
    /**
     * <pre>
     * Whether the child is indented
     * </pre>
     *
     * <code>required bool indent = 5;</code>
     * @return The indent.
     */
    boolean getIndent();

    /**
     * <pre>
     * Key-value info strings describing additional metadata
     * </pre>
     *
     * <code>map&lt;string, string&gt; info_strings = 6;</code>
     */
    int getInfoStringsCount();
    /**
     * <pre>
     * Key-value info strings describing additional metadata
     * </pre>
     *
     * <code>map&lt;string, string&gt; info_strings = 6;</code>
     */
    boolean containsInfoStrings(
        java.lang.String key);
    /**
     * Use {@link #getInfoStringsMap()} instead.
     */
    @java.lang.Deprecated
    java.util.Map<java.lang.String, java.lang.String>
    getInfoStrings();
    /**
     * <pre>
     * Key-value info strings describing additional metadata
     * </pre>
     *
     * <code>map&lt;string, string&gt; info_strings = 6;</code>
     */
    java.util.Map<java.lang.String, java.lang.String>
    getInfoStringsMap();
    /**
     * <pre>
     * Key-value info strings describing additional metadata
     * </pre>
     *
     * <code>map&lt;string, string&gt; info_strings = 6;</code>
     */
    /* nullable */
java.lang.String getInfoStringsOrDefault(
        java.lang.String key,
        /* nullable */
java.lang.String defaultValue);
    /**
     * <pre>
     * Key-value info strings describing additional metadata
     * </pre>
     *
     * <code>map&lt;string, string&gt; info_strings = 6;</code>
     */
    java.lang.String getInfoStringsOrThrow(
        java.lang.String key);

    /**
     * <pre>
     * Order to display info strings
     * </pre>
     *
     * <code>repeated string info_strings_display_order = 7;</code>
     * @return A list containing the infoStringsDisplayOrder.
     */
    java.util.List<java.lang.String>
        getInfoStringsDisplayOrderList();
    /**
     * <pre>
     * Order to display info strings
     * </pre>
     *
     * <code>repeated string info_strings_display_order = 7;</code>
     * @return The count of infoStringsDisplayOrder.
     */
    int getInfoStringsDisplayOrderCount();
    /**
     * <pre>
     * Order to display info strings
     * </pre>
     *
     * <code>repeated string info_strings_display_order = 7;</code>
     * @param index The index of the element to return.
     * @return The infoStringsDisplayOrder at the given index.
     */
    java.lang.String getInfoStringsDisplayOrder(int index);
    /**
     * <pre>
     * Order to display info strings
     * </pre>
     *
     * <code>repeated string info_strings_display_order = 7;</code>
     * @param index The index of the value to return.
     * @return The bytes of the infoStringsDisplayOrder at the given index.
     */
    com.google.protobuf.ByteString
        getInfoStringsDisplayOrderBytes(int index);

    /**
     * <pre>
     * Map from parent counter name to a set of child counter names
     * </pre>
     *
     * <code>map&lt;string, .doris.PProfileChildCounterSet&gt; child_counters_map = 8;</code>
     */
    int getChildCountersMapCount();
    /**
     * <pre>
     * Map from parent counter name to a set of child counter names
     * </pre>
     *
     * <code>map&lt;string, .doris.PProfileChildCounterSet&gt; child_counters_map = 8;</code>
     */
    boolean containsChildCountersMap(
        java.lang.String key);
    /**
     * Use {@link #getChildCountersMapMap()} instead.
     */
    @java.lang.Deprecated
    java.util.Map<java.lang.String, org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet>
    getChildCountersMap();
    /**
     * <pre>
     * Map from parent counter name to a set of child counter names
     * </pre>
     *
     * <code>map&lt;string, .doris.PProfileChildCounterSet&gt; child_counters_map = 8;</code>
     */
    java.util.Map<java.lang.String, org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet>
    getChildCountersMapMap();
    /**
     * <pre>
     * Map from parent counter name to a set of child counter names
     * </pre>
     *
     * <code>map&lt;string, .doris.PProfileChildCounterSet&gt; child_counters_map = 8;</code>
     */
    /* nullable */
org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet getChildCountersMapOrDefault(
        java.lang.String key,
        /* nullable */
org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet defaultValue);
    /**
     * <pre>
     * Map from parent counter name to a set of child counter names
     * </pre>
     *
     * <code>map&lt;string, .doris.PProfileChildCounterSet&gt; child_counters_map = 8;</code>
     */
    org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet getChildCountersMapOrThrow(
        java.lang.String key);

    /**
     * <pre>
     * Timestamp for this node
     * </pre>
     *
     * <code>required int64 timestamp = 9;</code>
     * @return Whether the timestamp field is set.
     */
    boolean hasTimestamp();
    /**
     * <pre>
     * Timestamp for this node
     * </pre>
     *
     * <code>required int64 timestamp = 9;</code>
     * @return The timestamp.
     */
    long getTimestamp();

    /**
     * <pre>
     * Deprecated field
     * </pre>
     *
     * <code>optional bool deprecated_is_sink = 10;</code>
     * @return Whether the deprecatedIsSink field is set.
     */
    boolean hasDeprecatedIsSink();
    /**
     * <pre>
     * Deprecated field
     * </pre>
     *
     * <code>optional bool deprecated_is_sink = 10;</code>
     * @return The deprecatedIsSink.
     */
    boolean getDeprecatedIsSink();
  }
  /**
   * <pre>
   * A single runtime profile node
   * </pre>
   *
   * Protobuf type {@code doris.PRuntimeProfileNode}
   */
  public static final class PRuntimeProfileNode extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:doris.PRuntimeProfileNode)
      PRuntimeProfileNodeOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PRuntimeProfileNode.newBuilder() to construct.
    private PRuntimeProfileNode(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private PRuntimeProfileNode() {
      name_ = "";
      counters_ = java.util.Collections.emptyList();
      infoStringsDisplayOrder_ =
          com.google.protobuf.LazyStringArrayList.emptyList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new PRuntimeProfileNode();
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.doris.proto.RuntimeProfile.internal_static_doris_PRuntimeProfileNode_descriptor;
    }

    @SuppressWarnings({"rawtypes"})
    @java.lang.Override
    protected com.google.protobuf.MapField internalGetMapField(
        int number) {
      switch (number) {
        case 6:
          return internalGetInfoStrings();
        case 8:
          return internalGetChildCountersMap();
        default:
          throw new RuntimeException(
              "Invalid map field number: " + number);
      }
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.doris.proto.RuntimeProfile.internal_static_doris_PRuntimeProfileNode_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode.class, org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode.Builder.class);
    }

    private int bitField0_;
    public static final int NAME_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private volatile java.lang.Object name_ = "";
    /**
     * <code>required string name = 1;</code>
     * @return Whether the name field is set.
     */
    @java.lang.Override
    public boolean hasName() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required string name = 1;</code>
     * @return The name.
     */
    @java.lang.Override
    public java.lang.String getName() {
      java.lang.Object ref = name_;
      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()) {
          name_ = s;
        }
        return s;
      }
    }
    /**
     * <code>required string name = 1;</code>
     * @return The bytes for name.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getNameBytes() {
      java.lang.Object ref = name_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        name_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int NUM_CHILDREN_FIELD_NUMBER = 2;
    private int numChildren_ = 0;
    /**
     * <code>required int32 num_children = 2;</code>
     * @return Whether the numChildren field is set.
     */
    @java.lang.Override
    public boolean hasNumChildren() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>required int32 num_children = 2;</code>
     * @return The numChildren.
     */
    @java.lang.Override
    public int getNumChildren() {
      return numChildren_;
    }

    public static final int COUNTERS_FIELD_NUMBER = 3;
    @SuppressWarnings("serial")
    private java.util.List<org.apache.doris.proto.RuntimeProfile.PProfileCounter> counters_;
    /**
     * <pre>
     * Flattened counters for this node and all its children
     * </pre>
     *
     * <code>repeated .doris.PProfileCounter counters = 3;</code>
     */
    @java.lang.Override
    public java.util.List<org.apache.doris.proto.RuntimeProfile.PProfileCounter> getCountersList() {
      return counters_;
    }
    /**
     * <pre>
     * Flattened counters for this node and all its children
     * </pre>
     *
     * <code>repeated .doris.PProfileCounter counters = 3;</code>
     */
    @java.lang.Override
    public java.util.List<? extends org.apache.doris.proto.RuntimeProfile.PProfileCounterOrBuilder> 
        getCountersOrBuilderList() {
      return counters_;
    }
    /**
     * <pre>
     * Flattened counters for this node and all its children
     * </pre>
     *
     * <code>repeated .doris.PProfileCounter counters = 3;</code>
     */
    @java.lang.Override
    public int getCountersCount() {
      return counters_.size();
    }
    /**
     * <pre>
     * Flattened counters for this node and all its children
     * </pre>
     *
     * <code>repeated .doris.PProfileCounter counters = 3;</code>
     */
    @java.lang.Override
    public org.apache.doris.proto.RuntimeProfile.PProfileCounter getCounters(int index) {
      return counters_.get(index);
    }
    /**
     * <pre>
     * Flattened counters for this node and all its children
     * </pre>
     *
     * <code>repeated .doris.PProfileCounter counters = 3;</code>
     */
    @java.lang.Override
    public org.apache.doris.proto.RuntimeProfile.PProfileCounterOrBuilder getCountersOrBuilder(
        int index) {
      return counters_.get(index);
    }

    public static final int METADATA_FIELD_NUMBER = 4;
    private long metadata_ = 0L;
    /**
     * <pre>
     * Node metadata (e.g., node id)
     * </pre>
     *
     * <code>required int64 metadata = 4;</code>
     * @return Whether the metadata field is set.
     */
    @java.lang.Override
    public boolean hasMetadata() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <pre>
     * Node metadata (e.g., node id)
     * </pre>
     *
     * <code>required int64 metadata = 4;</code>
     * @return The metadata.
     */
    @java.lang.Override
    public long getMetadata() {
      return metadata_;
    }

    public static final int INDENT_FIELD_NUMBER = 5;
    private boolean indent_ = false;
    /**
     * <pre>
     * Whether the child is indented
     * </pre>
     *
     * <code>required bool indent = 5;</code>
     * @return Whether the indent field is set.
     */
    @java.lang.Override
    public boolean hasIndent() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * <pre>
     * Whether the child is indented
     * </pre>
     *
     * <code>required bool indent = 5;</code>
     * @return The indent.
     */
    @java.lang.Override
    public boolean getIndent() {
      return indent_;
    }

    public static final int INFO_STRINGS_FIELD_NUMBER = 6;
    private static final class InfoStringsDefaultEntryHolder {
      static final com.google.protobuf.MapEntry<
          java.lang.String, java.lang.String> defaultEntry =
              com.google.protobuf.MapEntry
              .<java.lang.String, java.lang.String>newDefaultInstance(
                  org.apache.doris.proto.RuntimeProfile.internal_static_doris_PRuntimeProfileNode_InfoStringsEntry_descriptor, 
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "",
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "");
    }
    @SuppressWarnings("serial")
    private com.google.protobuf.MapField<
        java.lang.String, java.lang.String> infoStrings_;
    private com.google.protobuf.MapField<java.lang.String, java.lang.String>
    internalGetInfoStrings() {
      if (infoStrings_ == null) {
        return com.google.protobuf.MapField.emptyMapField(
            InfoStringsDefaultEntryHolder.defaultEntry);
      }
      return infoStrings_;
    }
    public int getInfoStringsCount() {
      return internalGetInfoStrings().getMap().size();
    }
    /**
     * <pre>
     * Key-value info strings describing additional metadata
     * </pre>
     *
     * <code>map&lt;string, string&gt; info_strings = 6;</code>
     */
    @java.lang.Override
    public boolean containsInfoStrings(
        java.lang.String key) {
      if (key == null) { throw new NullPointerException("map key"); }
      return internalGetInfoStrings().getMap().containsKey(key);
    }
    /**
     * Use {@link #getInfoStringsMap()} instead.
     */
    @java.lang.Override
    @java.lang.Deprecated
    public java.util.Map<java.lang.String, java.lang.String> getInfoStrings() {
      return getInfoStringsMap();
    }
    /**
     * <pre>
     * Key-value info strings describing additional metadata
     * </pre>
     *
     * <code>map&lt;string, string&gt; info_strings = 6;</code>
     */
    @java.lang.Override
    public java.util.Map<java.lang.String, java.lang.String> getInfoStringsMap() {
      return internalGetInfoStrings().getMap();
    }
    /**
     * <pre>
     * Key-value info strings describing additional metadata
     * </pre>
     *
     * <code>map&lt;string, string&gt; info_strings = 6;</code>
     */
    @java.lang.Override
    public /* nullable */
java.lang.String getInfoStringsOrDefault(
        java.lang.String key,
        /* nullable */
java.lang.String defaultValue) {
      if (key == null) { throw new NullPointerException("map key"); }
      java.util.Map<java.lang.String, java.lang.String> map =
          internalGetInfoStrings().getMap();
      return map.containsKey(key) ? map.get(key) : defaultValue;
    }
    /**
     * <pre>
     * Key-value info strings describing additional metadata
     * </pre>
     *
     * <code>map&lt;string, string&gt; info_strings = 6;</code>
     */
    @java.lang.Override
    public java.lang.String getInfoStringsOrThrow(
        java.lang.String key) {
      if (key == null) { throw new NullPointerException("map key"); }
      java.util.Map<java.lang.String, java.lang.String> map =
          internalGetInfoStrings().getMap();
      if (!map.containsKey(key)) {
        throw new java.lang.IllegalArgumentException();
      }
      return map.get(key);
    }

    public static final int INFO_STRINGS_DISPLAY_ORDER_FIELD_NUMBER = 7;
    @SuppressWarnings("serial")
    private com.google.protobuf.LazyStringArrayList infoStringsDisplayOrder_ =
        com.google.protobuf.LazyStringArrayList.emptyList();
    /**
     * <pre>
     * Order to display info strings
     * </pre>
     *
     * <code>repeated string info_strings_display_order = 7;</code>
     * @return A list containing the infoStringsDisplayOrder.
     */
    public com.google.protobuf.ProtocolStringList
        getInfoStringsDisplayOrderList() {
      return infoStringsDisplayOrder_;
    }
    /**
     * <pre>
     * Order to display info strings
     * </pre>
     *
     * <code>repeated string info_strings_display_order = 7;</code>
     * @return The count of infoStringsDisplayOrder.
     */
    public int getInfoStringsDisplayOrderCount() {
      return infoStringsDisplayOrder_.size();
    }
    /**
     * <pre>
     * Order to display info strings
     * </pre>
     *
     * <code>repeated string info_strings_display_order = 7;</code>
     * @param index The index of the element to return.
     * @return The infoStringsDisplayOrder at the given index.
     */
    public java.lang.String getInfoStringsDisplayOrder(int index) {
      return infoStringsDisplayOrder_.get(index);
    }
    /**
     * <pre>
     * Order to display info strings
     * </pre>
     *
     * <code>repeated string info_strings_display_order = 7;</code>
     * @param index The index of the value to return.
     * @return The bytes of the infoStringsDisplayOrder at the given index.
     */
    public com.google.protobuf.ByteString
        getInfoStringsDisplayOrderBytes(int index) {
      return infoStringsDisplayOrder_.getByteString(index);
    }

    public static final int CHILD_COUNTERS_MAP_FIELD_NUMBER = 8;
    private static final class ChildCountersMapDefaultEntryHolder {
      static final com.google.protobuf.MapEntry<
          java.lang.String, org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet> defaultEntry =
              com.google.protobuf.MapEntry
              .<java.lang.String, org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet>newDefaultInstance(
                  org.apache.doris.proto.RuntimeProfile.internal_static_doris_PRuntimeProfileNode_ChildCountersMapEntry_descriptor, 
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "",
                  com.google.protobuf.WireFormat.FieldType.MESSAGE,
                  org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet.getDefaultInstance());
    }
    @SuppressWarnings("serial")
    private com.google.protobuf.MapField<
        java.lang.String, org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet> childCountersMap_;
    private com.google.protobuf.MapField<java.lang.String, org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet>
    internalGetChildCountersMap() {
      if (childCountersMap_ == null) {
        return com.google.protobuf.MapField.emptyMapField(
            ChildCountersMapDefaultEntryHolder.defaultEntry);
      }
      return childCountersMap_;
    }
    public int getChildCountersMapCount() {
      return internalGetChildCountersMap().getMap().size();
    }
    /**
     * <pre>
     * Map from parent counter name to a set of child counter names
     * </pre>
     *
     * <code>map&lt;string, .doris.PProfileChildCounterSet&gt; child_counters_map = 8;</code>
     */
    @java.lang.Override
    public boolean containsChildCountersMap(
        java.lang.String key) {
      if (key == null) { throw new NullPointerException("map key"); }
      return internalGetChildCountersMap().getMap().containsKey(key);
    }
    /**
     * Use {@link #getChildCountersMapMap()} instead.
     */
    @java.lang.Override
    @java.lang.Deprecated
    public java.util.Map<java.lang.String, org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet> getChildCountersMap() {
      return getChildCountersMapMap();
    }
    /**
     * <pre>
     * Map from parent counter name to a set of child counter names
     * </pre>
     *
     * <code>map&lt;string, .doris.PProfileChildCounterSet&gt; child_counters_map = 8;</code>
     */
    @java.lang.Override
    public java.util.Map<java.lang.String, org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet> getChildCountersMapMap() {
      return internalGetChildCountersMap().getMap();
    }
    /**
     * <pre>
     * Map from parent counter name to a set of child counter names
     * </pre>
     *
     * <code>map&lt;string, .doris.PProfileChildCounterSet&gt; child_counters_map = 8;</code>
     */
    @java.lang.Override
    public /* nullable */
org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet getChildCountersMapOrDefault(
        java.lang.String key,
        /* nullable */
org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet defaultValue) {
      if (key == null) { throw new NullPointerException("map key"); }
      java.util.Map<java.lang.String, org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet> map =
          internalGetChildCountersMap().getMap();
      return map.containsKey(key) ? map.get(key) : defaultValue;
    }
    /**
     * <pre>
     * Map from parent counter name to a set of child counter names
     * </pre>
     *
     * <code>map&lt;string, .doris.PProfileChildCounterSet&gt; child_counters_map = 8;</code>
     */
    @java.lang.Override
    public org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet getChildCountersMapOrThrow(
        java.lang.String key) {
      if (key == null) { throw new NullPointerException("map key"); }
      java.util.Map<java.lang.String, org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet> map =
          internalGetChildCountersMap().getMap();
      if (!map.containsKey(key)) {
        throw new java.lang.IllegalArgumentException();
      }
      return map.get(key);
    }

    public static final int TIMESTAMP_FIELD_NUMBER = 9;
    private long timestamp_ = 0L;
    /**
     * <pre>
     * Timestamp for this node
     * </pre>
     *
     * <code>required int64 timestamp = 9;</code>
     * @return Whether the timestamp field is set.
     */
    @java.lang.Override
    public boolean hasTimestamp() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * <pre>
     * Timestamp for this node
     * </pre>
     *
     * <code>required int64 timestamp = 9;</code>
     * @return The timestamp.
     */
    @java.lang.Override
    public long getTimestamp() {
      return timestamp_;
    }

    public static final int DEPRECATED_IS_SINK_FIELD_NUMBER = 10;
    private boolean deprecatedIsSink_ = false;
    /**
     * <pre>
     * Deprecated field
     * </pre>
     *
     * <code>optional bool deprecated_is_sink = 10;</code>
     * @return Whether the deprecatedIsSink field is set.
     */
    @java.lang.Override
    public boolean hasDeprecatedIsSink() {
      return ((bitField0_ & 0x00000020) != 0);
    }
    /**
     * <pre>
     * Deprecated field
     * </pre>
     *
     * <code>optional bool deprecated_is_sink = 10;</code>
     * @return The deprecatedIsSink.
     */
    @java.lang.Override
    public boolean getDeprecatedIsSink() {
      return deprecatedIsSink_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      if (!hasName()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasNumChildren()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasMetadata()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasIndent()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasTimestamp()) {
        memoizedIsInitialized = 0;
        return false;
      }
      for (int i = 0; i < getCountersCount(); i++) {
        if (!getCounters(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeInt32(2, numChildren_);
      }
      for (int i = 0; i < counters_.size(); i++) {
        output.writeMessage(3, counters_.get(i));
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeInt64(4, metadata_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        output.writeBool(5, indent_);
      }
      com.google.protobuf.GeneratedMessageV3
        .serializeStringMapTo(
          output,
          internalGetInfoStrings(),
          InfoStringsDefaultEntryHolder.defaultEntry,
          6);
      for (int i = 0; i < infoStringsDisplayOrder_.size(); i++) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 7, infoStringsDisplayOrder_.getRaw(i));
      }
      com.google.protobuf.GeneratedMessageV3
        .serializeStringMapTo(
          output,
          internalGetChildCountersMap(),
          ChildCountersMapDefaultEntryHolder.defaultEntry,
          8);
      if (((bitField0_ & 0x00000010) != 0)) {
        output.writeInt64(9, timestamp_);
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        output.writeBool(10, deprecatedIsSink_);
      }
      getUnknownFields().writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, numChildren_);
      }
      for (int i = 0; i < counters_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, counters_.get(i));
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(4, metadata_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(5, indent_);
      }
      for (java.util.Map.Entry<java.lang.String, java.lang.String> entry
           : internalGetInfoStrings().getMap().entrySet()) {
        com.google.protobuf.MapEntry<java.lang.String, java.lang.String>
        infoStrings__ = InfoStringsDefaultEntryHolder.defaultEntry.newBuilderForType()
            .setKey(entry.getKey())
            .setValue(entry.getValue())
            .build();
        size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(6, infoStrings__);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < infoStringsDisplayOrder_.size(); i++) {
          dataSize += computeStringSizeNoTag(infoStringsDisplayOrder_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getInfoStringsDisplayOrderList().size();
      }
      for (java.util.Map.Entry<java.lang.String, org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet> entry
           : internalGetChildCountersMap().getMap().entrySet()) {
        com.google.protobuf.MapEntry<java.lang.String, org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet>
        childCountersMap__ = ChildCountersMapDefaultEntryHolder.defaultEntry.newBuilderForType()
            .setKey(entry.getKey())
            .setValue(entry.getValue())
            .build();
        size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(8, childCountersMap__);
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(9, timestamp_);
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(10, deprecatedIsSink_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode)) {
        return super.equals(obj);
      }
      org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode other = (org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode) obj;

      if (hasName() != other.hasName()) return false;
      if (hasName()) {
        if (!getName()
            .equals(other.getName())) return false;
      }
      if (hasNumChildren() != other.hasNumChildren()) return false;
      if (hasNumChildren()) {
        if (getNumChildren()
            != other.getNumChildren()) return false;
      }
      if (!getCountersList()
          .equals(other.getCountersList())) return false;
      if (hasMetadata() != other.hasMetadata()) return false;
      if (hasMetadata()) {
        if (getMetadata()
            != other.getMetadata()) return false;
      }
      if (hasIndent() != other.hasIndent()) return false;
      if (hasIndent()) {
        if (getIndent()
            != other.getIndent()) return false;
      }
      if (!internalGetInfoStrings().equals(
          other.internalGetInfoStrings())) return false;
      if (!getInfoStringsDisplayOrderList()
          .equals(other.getInfoStringsDisplayOrderList())) return false;
      if (!internalGetChildCountersMap().equals(
          other.internalGetChildCountersMap())) return false;
      if (hasTimestamp() != other.hasTimestamp()) return false;
      if (hasTimestamp()) {
        if (getTimestamp()
            != other.getTimestamp()) return false;
      }
      if (hasDeprecatedIsSink() != other.hasDeprecatedIsSink()) return false;
      if (hasDeprecatedIsSink()) {
        if (getDeprecatedIsSink()
            != other.getDeprecatedIsSink()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasName()) {
        hash = (37 * hash) + NAME_FIELD_NUMBER;
        hash = (53 * hash) + getName().hashCode();
      }
      if (hasNumChildren()) {
        hash = (37 * hash) + NUM_CHILDREN_FIELD_NUMBER;
        hash = (53 * hash) + getNumChildren();
      }
      if (getCountersCount() > 0) {
        hash = (37 * hash) + COUNTERS_FIELD_NUMBER;
        hash = (53 * hash) + getCountersList().hashCode();
      }
      if (hasMetadata()) {
        hash = (37 * hash) + METADATA_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getMetadata());
      }
      if (hasIndent()) {
        hash = (37 * hash) + INDENT_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIndent());
      }
      if (!internalGetInfoStrings().getMap().isEmpty()) {
        hash = (37 * hash) + INFO_STRINGS_FIELD_NUMBER;
        hash = (53 * hash) + internalGetInfoStrings().hashCode();
      }
      if (getInfoStringsDisplayOrderCount() > 0) {
        hash = (37 * hash) + INFO_STRINGS_DISPLAY_ORDER_FIELD_NUMBER;
        hash = (53 * hash) + getInfoStringsDisplayOrderList().hashCode();
      }
      if (!internalGetChildCountersMap().getMap().isEmpty()) {
        hash = (37 * hash) + CHILD_COUNTERS_MAP_FIELD_NUMBER;
        hash = (53 * hash) + internalGetChildCountersMap().hashCode();
      }
      if (hasTimestamp()) {
        hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getTimestamp());
      }
      if (hasDeprecatedIsSink()) {
        hash = (37 * hash) + DEPRECATED_IS_SINK_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getDeprecatedIsSink());
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode 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.doris.proto.RuntimeProfile.PRuntimeProfileNode parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * A single runtime profile node
     * </pre>
     *
     * Protobuf type {@code doris.PRuntimeProfileNode}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:doris.PRuntimeProfileNode)
        org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNodeOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.doris.proto.RuntimeProfile.internal_static_doris_PRuntimeProfileNode_descriptor;
      }

      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMapField(
          int number) {
        switch (number) {
          case 6:
            return internalGetInfoStrings();
          case 8:
            return internalGetChildCountersMap();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMutableMapField(
          int number) {
        switch (number) {
          case 6:
            return internalGetMutableInfoStrings();
          case 8:
            return internalGetMutableChildCountersMap();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.doris.proto.RuntimeProfile.internal_static_doris_PRuntimeProfileNode_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode.class, org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode.Builder.class);
      }

      // Construct using org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        name_ = "";
        numChildren_ = 0;
        if (countersBuilder_ == null) {
          counters_ = java.util.Collections.emptyList();
        } else {
          counters_ = null;
          countersBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        metadata_ = 0L;
        indent_ = false;
        internalGetMutableInfoStrings().clear();
        infoStringsDisplayOrder_ =
            com.google.protobuf.LazyStringArrayList.emptyList();
        internalGetMutableChildCountersMap().clear();
        timestamp_ = 0L;
        deprecatedIsSink_ = false;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.doris.proto.RuntimeProfile.internal_static_doris_PRuntimeProfileNode_descriptor;
      }

      @java.lang.Override
      public org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode getDefaultInstanceForType() {
        return org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode build() {
        org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode buildPartial() {
        org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode result = new org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode(this);
        buildPartialRepeatedFields(result);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartialRepeatedFields(org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode result) {
        if (countersBuilder_ == null) {
          if (((bitField0_ & 0x00000004) != 0)) {
            counters_ = java.util.Collections.unmodifiableList(counters_);
            bitField0_ = (bitField0_ & ~0x00000004);
          }
          result.counters_ = counters_;
        } else {
          result.counters_ = countersBuilder_.build();
        }
      }

      private void buildPartial0(org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.name_ = name_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.numChildren_ = numChildren_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.metadata_ = metadata_;
          to_bitField0_ |= 0x00000004;
        }
        if (((from_bitField0_ & 0x00000010) != 0)) {
          result.indent_ = indent_;
          to_bitField0_ |= 0x00000008;
        }
        if (((from_bitField0_ & 0x00000020) != 0)) {
          result.infoStrings_ = internalGetInfoStrings();
          result.infoStrings_.makeImmutable();
        }
        if (((from_bitField0_ & 0x00000040) != 0)) {
          infoStringsDisplayOrder_.makeImmutable();
          result.infoStringsDisplayOrder_ = infoStringsDisplayOrder_;
        }
        if (((from_bitField0_ & 0x00000080) != 0)) {
          result.childCountersMap_ = internalGetChildCountersMap();
          result.childCountersMap_.makeImmutable();
        }
        if (((from_bitField0_ & 0x00000100) != 0)) {
          result.timestamp_ = timestamp_;
          to_bitField0_ |= 0x00000010;
        }
        if (((from_bitField0_ & 0x00000200) != 0)) {
          result.deprecatedIsSink_ = deprecatedIsSink_;
          to_bitField0_ |= 0x00000020;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode) {
          return mergeFrom((org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode other) {
        if (other == org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode.getDefaultInstance()) return this;
        if (other.hasName()) {
          name_ = other.name_;
          bitField0_ |= 0x00000001;
          onChanged();
        }
        if (other.hasNumChildren()) {
          setNumChildren(other.getNumChildren());
        }
        if (countersBuilder_ == null) {
          if (!other.counters_.isEmpty()) {
            if (counters_.isEmpty()) {
              counters_ = other.counters_;
              bitField0_ = (bitField0_ & ~0x00000004);
            } else {
              ensureCountersIsMutable();
              counters_.addAll(other.counters_);
            }
            onChanged();
          }
        } else {
          if (!other.counters_.isEmpty()) {
            if (countersBuilder_.isEmpty()) {
              countersBuilder_.dispose();
              countersBuilder_ = null;
              counters_ = other.counters_;
              bitField0_ = (bitField0_ & ~0x00000004);
              countersBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getCountersFieldBuilder() : null;
            } else {
              countersBuilder_.addAllMessages(other.counters_);
            }
          }
        }
        if (other.hasMetadata()) {
          setMetadata(other.getMetadata());
        }
        if (other.hasIndent()) {
          setIndent(other.getIndent());
        }
        internalGetMutableInfoStrings().mergeFrom(
            other.internalGetInfoStrings());
        bitField0_ |= 0x00000020;
        if (!other.infoStringsDisplayOrder_.isEmpty()) {
          if (infoStringsDisplayOrder_.isEmpty()) {
            infoStringsDisplayOrder_ = other.infoStringsDisplayOrder_;
            bitField0_ |= 0x00000040;
          } else {
            ensureInfoStringsDisplayOrderIsMutable();
            infoStringsDisplayOrder_.addAll(other.infoStringsDisplayOrder_);
          }
          onChanged();
        }
        internalGetMutableChildCountersMap().mergeFrom(
            other.internalGetChildCountersMap());
        bitField0_ |= 0x00000080;
        if (other.hasTimestamp()) {
          setTimestamp(other.getTimestamp());
        }
        if (other.hasDeprecatedIsSink()) {
          setDeprecatedIsSink(other.getDeprecatedIsSink());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasName()) {
          return false;
        }
        if (!hasNumChildren()) {
          return false;
        }
        if (!hasMetadata()) {
          return false;
        }
        if (!hasIndent()) {
          return false;
        }
        if (!hasTimestamp()) {
          return false;
        }
        for (int i = 0; i < getCountersCount(); i++) {
          if (!getCounters(i).isInitialized()) {
            return false;
          }
        }
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                name_ = input.readBytes();
                bitField0_ |= 0x00000001;
                break;
              } // case 10
              case 16: {
                numChildren_ = input.readInt32();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              case 26: {
                org.apache.doris.proto.RuntimeProfile.PProfileCounter m =
                    input.readMessage(
                        org.apache.doris.proto.RuntimeProfile.PProfileCounter.PARSER,
                        extensionRegistry);
                if (countersBuilder_ == null) {
                  ensureCountersIsMutable();
                  counters_.add(m);
                } else {
                  countersBuilder_.addMessage(m);
                }
                break;
              } // case 26
              case 32: {
                metadata_ = input.readInt64();
                bitField0_ |= 0x00000008;
                break;
              } // case 32
              case 40: {
                indent_ = input.readBool();
                bitField0_ |= 0x00000010;
                break;
              } // case 40
              case 50: {
                com.google.protobuf.MapEntry<java.lang.String, java.lang.String>
                infoStrings__ = input.readMessage(
                    InfoStringsDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
                internalGetMutableInfoStrings().getMutableMap().put(
                    infoStrings__.getKey(), infoStrings__.getValue());
                bitField0_ |= 0x00000020;
                break;
              } // case 50
              case 58: {
                com.google.protobuf.ByteString bs = input.readBytes();
                ensureInfoStringsDisplayOrderIsMutable();
                infoStringsDisplayOrder_.add(bs);
                break;
              } // case 58
              case 66: {
                com.google.protobuf.MapEntry<java.lang.String, org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet>
                childCountersMap__ = input.readMessage(
                    ChildCountersMapDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
                internalGetMutableChildCountersMap().getMutableMap().put(
                    childCountersMap__.getKey(), childCountersMap__.getValue());
                bitField0_ |= 0x00000080;
                break;
              } // case 66
              case 72: {
                timestamp_ = input.readInt64();
                bitField0_ |= 0x00000100;
                break;
              } // case 72
              case 80: {
                deprecatedIsSink_ = input.readBool();
                bitField0_ |= 0x00000200;
                break;
              } // case 80
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      private int bitField0_;

      private java.lang.Object name_ = "";
      /**
       * <code>required string name = 1;</code>
       * @return Whether the name field is set.
       */
      public boolean hasName() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>required string name = 1;</code>
       * @return The name.
       */
      public java.lang.String getName() {
        java.lang.Object ref = name_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            name_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>required string name = 1;</code>
       * @return The bytes for name.
       */
      public com.google.protobuf.ByteString
          getNameBytes() {
        java.lang.Object ref = name_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          name_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>required string name = 1;</code>
       * @param value The name to set.
       * @return This builder for chaining.
       */
      public Builder setName(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        name_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>required string name = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearName() {
        name_ = getDefaultInstance().getName();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      /**
       * <code>required string name = 1;</code>
       * @param value The bytes for name to set.
       * @return This builder for chaining.
       */
      public Builder setNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        name_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }

      private int numChildren_ ;
      /**
       * <code>required int32 num_children = 2;</code>
       * @return Whether the numChildren field is set.
       */
      @java.lang.Override
      public boolean hasNumChildren() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>required int32 num_children = 2;</code>
       * @return The numChildren.
       */
      @java.lang.Override
      public int getNumChildren() {
        return numChildren_;
      }
      /**
       * <code>required int32 num_children = 2;</code>
       * @param value The numChildren to set.
       * @return This builder for chaining.
       */
      public Builder setNumChildren(int value) {

        numChildren_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * <code>required int32 num_children = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearNumChildren() {
        bitField0_ = (bitField0_ & ~0x00000002);
        numChildren_ = 0;
        onChanged();
        return this;
      }

      private java.util.List<org.apache.doris.proto.RuntimeProfile.PProfileCounter> counters_ =
        java.util.Collections.emptyList();
      private void ensureCountersIsMutable() {
        if (!((bitField0_ & 0x00000004) != 0)) {
          counters_ = new java.util.ArrayList<org.apache.doris.proto.RuntimeProfile.PProfileCounter>(counters_);
          bitField0_ |= 0x00000004;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          org.apache.doris.proto.RuntimeProfile.PProfileCounter, org.apache.doris.proto.RuntimeProfile.PProfileCounter.Builder, org.apache.doris.proto.RuntimeProfile.PProfileCounterOrBuilder> countersBuilder_;

      /**
       * <pre>
       * Flattened counters for this node and all its children
       * </pre>
       *
       * <code>repeated .doris.PProfileCounter counters = 3;</code>
       */
      public java.util.List<org.apache.doris.proto.RuntimeProfile.PProfileCounter> getCountersList() {
        if (countersBuilder_ == null) {
          return java.util.Collections.unmodifiableList(counters_);
        } else {
          return countersBuilder_.getMessageList();
        }
      }
      /**
       * <pre>
       * Flattened counters for this node and all its children
       * </pre>
       *
       * <code>repeated .doris.PProfileCounter counters = 3;</code>
       */
      public int getCountersCount() {
        if (countersBuilder_ == null) {
          return counters_.size();
        } else {
          return countersBuilder_.getCount();
        }
      }
      /**
       * <pre>
       * Flattened counters for this node and all its children
       * </pre>
       *
       * <code>repeated .doris.PProfileCounter counters = 3;</code>
       */
      public org.apache.doris.proto.RuntimeProfile.PProfileCounter getCounters(int index) {
        if (countersBuilder_ == null) {
          return counters_.get(index);
        } else {
          return countersBuilder_.getMessage(index);
        }
      }
      /**
       * <pre>
       * Flattened counters for this node and all its children
       * </pre>
       *
       * <code>repeated .doris.PProfileCounter counters = 3;</code>
       */
      public Builder setCounters(
          int index, org.apache.doris.proto.RuntimeProfile.PProfileCounter value) {
        if (countersBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureCountersIsMutable();
          counters_.set(index, value);
          onChanged();
        } else {
          countersBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       * Flattened counters for this node and all its children
       * </pre>
       *
       * <code>repeated .doris.PProfileCounter counters = 3;</code>
       */
      public Builder setCounters(
          int index, org.apache.doris.proto.RuntimeProfile.PProfileCounter.Builder builderForValue) {
        if (countersBuilder_ == null) {
          ensureCountersIsMutable();
          counters_.set(index, builderForValue.build());
          onChanged();
        } else {
          countersBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       * Flattened counters for this node and all its children
       * </pre>
       *
       * <code>repeated .doris.PProfileCounter counters = 3;</code>
       */
      public Builder addCounters(org.apache.doris.proto.RuntimeProfile.PProfileCounter value) {
        if (countersBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureCountersIsMutable();
          counters_.add(value);
          onChanged();
        } else {
          countersBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <pre>
       * Flattened counters for this node and all its children
       * </pre>
       *
       * <code>repeated .doris.PProfileCounter counters = 3;</code>
       */
      public Builder addCounters(
          int index, org.apache.doris.proto.RuntimeProfile.PProfileCounter value) {
        if (countersBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureCountersIsMutable();
          counters_.add(index, value);
          onChanged();
        } else {
          countersBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       * Flattened counters for this node and all its children
       * </pre>
       *
       * <code>repeated .doris.PProfileCounter counters = 3;</code>
       */
      public Builder addCounters(
          org.apache.doris.proto.RuntimeProfile.PProfileCounter.Builder builderForValue) {
        if (countersBuilder_ == null) {
          ensureCountersIsMutable();
          counters_.add(builderForValue.build());
          onChanged();
        } else {
          countersBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       * Flattened counters for this node and all its children
       * </pre>
       *
       * <code>repeated .doris.PProfileCounter counters = 3;</code>
       */
      public Builder addCounters(
          int index, org.apache.doris.proto.RuntimeProfile.PProfileCounter.Builder builderForValue) {
        if (countersBuilder_ == null) {
          ensureCountersIsMutable();
          counters_.add(index, builderForValue.build());
          onChanged();
        } else {
          countersBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       * Flattened counters for this node and all its children
       * </pre>
       *
       * <code>repeated .doris.PProfileCounter counters = 3;</code>
       */
      public Builder addAllCounters(
          java.lang.Iterable<? extends org.apache.doris.proto.RuntimeProfile.PProfileCounter> values) {
        if (countersBuilder_ == null) {
          ensureCountersIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, counters_);
          onChanged();
        } else {
          countersBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <pre>
       * Flattened counters for this node and all its children
       * </pre>
       *
       * <code>repeated .doris.PProfileCounter counters = 3;</code>
       */
      public Builder clearCounters() {
        if (countersBuilder_ == null) {
          counters_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
          onChanged();
        } else {
          countersBuilder_.clear();
        }
        return this;
      }
      /**
       * <pre>
       * Flattened counters for this node and all its children
       * </pre>
       *
       * <code>repeated .doris.PProfileCounter counters = 3;</code>
       */
      public Builder removeCounters(int index) {
        if (countersBuilder_ == null) {
          ensureCountersIsMutable();
          counters_.remove(index);
          onChanged();
        } else {
          countersBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <pre>
       * Flattened counters for this node and all its children
       * </pre>
       *
       * <code>repeated .doris.PProfileCounter counters = 3;</code>
       */
      public org.apache.doris.proto.RuntimeProfile.PProfileCounter.Builder getCountersBuilder(
          int index) {
        return getCountersFieldBuilder().getBuilder(index);
      }
      /**
       * <pre>
       * Flattened counters for this node and all its children
       * </pre>
       *
       * <code>repeated .doris.PProfileCounter counters = 3;</code>
       */
      public org.apache.doris.proto.RuntimeProfile.PProfileCounterOrBuilder getCountersOrBuilder(
          int index) {
        if (countersBuilder_ == null) {
          return counters_.get(index);  } else {
          return countersBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <pre>
       * Flattened counters for this node and all its children
       * </pre>
       *
       * <code>repeated .doris.PProfileCounter counters = 3;</code>
       */
      public java.util.List<? extends org.apache.doris.proto.RuntimeProfile.PProfileCounterOrBuilder> 
           getCountersOrBuilderList() {
        if (countersBuilder_ != null) {
          return countersBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(counters_);
        }
      }
      /**
       * <pre>
       * Flattened counters for this node and all its children
       * </pre>
       *
       * <code>repeated .doris.PProfileCounter counters = 3;</code>
       */
      public org.apache.doris.proto.RuntimeProfile.PProfileCounter.Builder addCountersBuilder() {
        return getCountersFieldBuilder().addBuilder(
            org.apache.doris.proto.RuntimeProfile.PProfileCounter.getDefaultInstance());
      }
      /**
       * <pre>
       * Flattened counters for this node and all its children
       * </pre>
       *
       * <code>repeated .doris.PProfileCounter counters = 3;</code>
       */
      public org.apache.doris.proto.RuntimeProfile.PProfileCounter.Builder addCountersBuilder(
          int index) {
        return getCountersFieldBuilder().addBuilder(
            index, org.apache.doris.proto.RuntimeProfile.PProfileCounter.getDefaultInstance());
      }
      /**
       * <pre>
       * Flattened counters for this node and all its children
       * </pre>
       *
       * <code>repeated .doris.PProfileCounter counters = 3;</code>
       */
      public java.util.List<org.apache.doris.proto.RuntimeProfile.PProfileCounter.Builder> 
           getCountersBuilderList() {
        return getCountersFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          org.apache.doris.proto.RuntimeProfile.PProfileCounter, org.apache.doris.proto.RuntimeProfile.PProfileCounter.Builder, org.apache.doris.proto.RuntimeProfile.PProfileCounterOrBuilder> 
          getCountersFieldBuilder() {
        if (countersBuilder_ == null) {
          countersBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              org.apache.doris.proto.RuntimeProfile.PProfileCounter, org.apache.doris.proto.RuntimeProfile.PProfileCounter.Builder, org.apache.doris.proto.RuntimeProfile.PProfileCounterOrBuilder>(
                  counters_,
                  ((bitField0_ & 0x00000004) != 0),
                  getParentForChildren(),
                  isClean());
          counters_ = null;
        }
        return countersBuilder_;
      }

      private long metadata_ ;
      /**
       * <pre>
       * Node metadata (e.g., node id)
       * </pre>
       *
       * <code>required int64 metadata = 4;</code>
       * @return Whether the metadata field is set.
       */
      @java.lang.Override
      public boolean hasMetadata() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * <pre>
       * Node metadata (e.g., node id)
       * </pre>
       *
       * <code>required int64 metadata = 4;</code>
       * @return The metadata.
       */
      @java.lang.Override
      public long getMetadata() {
        return metadata_;
      }
      /**
       * <pre>
       * Node metadata (e.g., node id)
       * </pre>
       *
       * <code>required int64 metadata = 4;</code>
       * @param value The metadata to set.
       * @return This builder for chaining.
       */
      public Builder setMetadata(long value) {

        metadata_ = value;
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Node metadata (e.g., node id)
       * </pre>
       *
       * <code>required int64 metadata = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearMetadata() {
        bitField0_ = (bitField0_ & ~0x00000008);
        metadata_ = 0L;
        onChanged();
        return this;
      }

      private boolean indent_ ;
      /**
       * <pre>
       * Whether the child is indented
       * </pre>
       *
       * <code>required bool indent = 5;</code>
       * @return Whether the indent field is set.
       */
      @java.lang.Override
      public boolean hasIndent() {
        return ((bitField0_ & 0x00000010) != 0);
      }
      /**
       * <pre>
       * Whether the child is indented
       * </pre>
       *
       * <code>required bool indent = 5;</code>
       * @return The indent.
       */
      @java.lang.Override
      public boolean getIndent() {
        return indent_;
      }
      /**
       * <pre>
       * Whether the child is indented
       * </pre>
       *
       * <code>required bool indent = 5;</code>
       * @param value The indent to set.
       * @return This builder for chaining.
       */
      public Builder setIndent(boolean value) {

        indent_ = value;
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Whether the child is indented
       * </pre>
       *
       * <code>required bool indent = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearIndent() {
        bitField0_ = (bitField0_ & ~0x00000010);
        indent_ = false;
        onChanged();
        return this;
      }

      private com.google.protobuf.MapField<
          java.lang.String, java.lang.String> infoStrings_;
      private com.google.protobuf.MapField<java.lang.String, java.lang.String>
          internalGetInfoStrings() {
        if (infoStrings_ == null) {
          return com.google.protobuf.MapField.emptyMapField(
              InfoStringsDefaultEntryHolder.defaultEntry);
        }
        return infoStrings_;
      }
      private com.google.protobuf.MapField<java.lang.String, java.lang.String>
          internalGetMutableInfoStrings() {
        if (infoStrings_ == null) {
          infoStrings_ = com.google.protobuf.MapField.newMapField(
              InfoStringsDefaultEntryHolder.defaultEntry);
        }
        if (!infoStrings_.isMutable()) {
          infoStrings_ = infoStrings_.copy();
        }
        bitField0_ |= 0x00000020;
        onChanged();
        return infoStrings_;
      }
      public int getInfoStringsCount() {
        return internalGetInfoStrings().getMap().size();
      }
      /**
       * <pre>
       * Key-value info strings describing additional metadata
       * </pre>
       *
       * <code>map&lt;string, string&gt; info_strings = 6;</code>
       */
      @java.lang.Override
      public boolean containsInfoStrings(
          java.lang.String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        return internalGetInfoStrings().getMap().containsKey(key);
      }
      /**
       * Use {@link #getInfoStringsMap()} instead.
       */
      @java.lang.Override
      @java.lang.Deprecated
      public java.util.Map<java.lang.String, java.lang.String> getInfoStrings() {
        return getInfoStringsMap();
      }
      /**
       * <pre>
       * Key-value info strings describing additional metadata
       * </pre>
       *
       * <code>map&lt;string, string&gt; info_strings = 6;</code>
       */
      @java.lang.Override
      public java.util.Map<java.lang.String, java.lang.String> getInfoStringsMap() {
        return internalGetInfoStrings().getMap();
      }
      /**
       * <pre>
       * Key-value info strings describing additional metadata
       * </pre>
       *
       * <code>map&lt;string, string&gt; info_strings = 6;</code>
       */
      @java.lang.Override
      public /* nullable */
java.lang.String getInfoStringsOrDefault(
          java.lang.String key,
          /* nullable */
java.lang.String defaultValue) {
        if (key == null) { throw new NullPointerException("map key"); }
        java.util.Map<java.lang.String, java.lang.String> map =
            internalGetInfoStrings().getMap();
        return map.containsKey(key) ? map.get(key) : defaultValue;
      }
      /**
       * <pre>
       * Key-value info strings describing additional metadata
       * </pre>
       *
       * <code>map&lt;string, string&gt; info_strings = 6;</code>
       */
      @java.lang.Override
      public java.lang.String getInfoStringsOrThrow(
          java.lang.String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        java.util.Map<java.lang.String, java.lang.String> map =
            internalGetInfoStrings().getMap();
        if (!map.containsKey(key)) {
          throw new java.lang.IllegalArgumentException();
        }
        return map.get(key);
      }
      public Builder clearInfoStrings() {
        bitField0_ = (bitField0_ & ~0x00000020);
        internalGetMutableInfoStrings().getMutableMap()
            .clear();
        return this;
      }
      /**
       * <pre>
       * Key-value info strings describing additional metadata
       * </pre>
       *
       * <code>map&lt;string, string&gt; info_strings = 6;</code>
       */
      public Builder removeInfoStrings(
          java.lang.String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        internalGetMutableInfoStrings().getMutableMap()
            .remove(key);
        return this;
      }
      /**
       * Use alternate mutation accessors instead.
       */
      @java.lang.Deprecated
      public java.util.Map<java.lang.String, java.lang.String>
          getMutableInfoStrings() {
        bitField0_ |= 0x00000020;
        return internalGetMutableInfoStrings().getMutableMap();
      }
      /**
       * <pre>
       * Key-value info strings describing additional metadata
       * </pre>
       *
       * <code>map&lt;string, string&gt; info_strings = 6;</code>
       */
      public Builder putInfoStrings(
          java.lang.String key,
          java.lang.String value) {
        if (key == null) { throw new NullPointerException("map key"); }
        if (value == null) { throw new NullPointerException("map value"); }
        internalGetMutableInfoStrings().getMutableMap()
            .put(key, value);
        bitField0_ |= 0x00000020;
        return this;
      }
      /**
       * <pre>
       * Key-value info strings describing additional metadata
       * </pre>
       *
       * <code>map&lt;string, string&gt; info_strings = 6;</code>
       */
      public Builder putAllInfoStrings(
          java.util.Map<java.lang.String, java.lang.String> values) {
        internalGetMutableInfoStrings().getMutableMap()
            .putAll(values);
        bitField0_ |= 0x00000020;
        return this;
      }

      private com.google.protobuf.LazyStringArrayList infoStringsDisplayOrder_ =
          com.google.protobuf.LazyStringArrayList.emptyList();
      private void ensureInfoStringsDisplayOrderIsMutable() {
        if (!infoStringsDisplayOrder_.isModifiable()) {
          infoStringsDisplayOrder_ = new com.google.protobuf.LazyStringArrayList(infoStringsDisplayOrder_);
        }
        bitField0_ |= 0x00000040;
      }
      /**
       * <pre>
       * Order to display info strings
       * </pre>
       *
       * <code>repeated string info_strings_display_order = 7;</code>
       * @return A list containing the infoStringsDisplayOrder.
       */
      public com.google.protobuf.ProtocolStringList
          getInfoStringsDisplayOrderList() {
        infoStringsDisplayOrder_.makeImmutable();
        return infoStringsDisplayOrder_;
      }
      /**
       * <pre>
       * Order to display info strings
       * </pre>
       *
       * <code>repeated string info_strings_display_order = 7;</code>
       * @return The count of infoStringsDisplayOrder.
       */
      public int getInfoStringsDisplayOrderCount() {
        return infoStringsDisplayOrder_.size();
      }
      /**
       * <pre>
       * Order to display info strings
       * </pre>
       *
       * <code>repeated string info_strings_display_order = 7;</code>
       * @param index The index of the element to return.
       * @return The infoStringsDisplayOrder at the given index.
       */
      public java.lang.String getInfoStringsDisplayOrder(int index) {
        return infoStringsDisplayOrder_.get(index);
      }
      /**
       * <pre>
       * Order to display info strings
       * </pre>
       *
       * <code>repeated string info_strings_display_order = 7;</code>
       * @param index The index of the value to return.
       * @return The bytes of the infoStringsDisplayOrder at the given index.
       */
      public com.google.protobuf.ByteString
          getInfoStringsDisplayOrderBytes(int index) {
        return infoStringsDisplayOrder_.getByteString(index);
      }
      /**
       * <pre>
       * Order to display info strings
       * </pre>
       *
       * <code>repeated string info_strings_display_order = 7;</code>
       * @param index The index to set the value at.
       * @param value The infoStringsDisplayOrder to set.
       * @return This builder for chaining.
       */
      public Builder setInfoStringsDisplayOrder(
          int index, java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureInfoStringsDisplayOrderIsMutable();
        infoStringsDisplayOrder_.set(index, value);
        bitField0_ |= 0x00000040;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Order to display info strings
       * </pre>
       *
       * <code>repeated string info_strings_display_order = 7;</code>
       * @param value The infoStringsDisplayOrder to add.
       * @return This builder for chaining.
       */
      public Builder addInfoStringsDisplayOrder(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureInfoStringsDisplayOrderIsMutable();
        infoStringsDisplayOrder_.add(value);
        bitField0_ |= 0x00000040;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Order to display info strings
       * </pre>
       *
       * <code>repeated string info_strings_display_order = 7;</code>
       * @param values The infoStringsDisplayOrder to add.
       * @return This builder for chaining.
       */
      public Builder addAllInfoStringsDisplayOrder(
          java.lang.Iterable<java.lang.String> values) {
        ensureInfoStringsDisplayOrderIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, infoStringsDisplayOrder_);
        bitField0_ |= 0x00000040;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Order to display info strings
       * </pre>
       *
       * <code>repeated string info_strings_display_order = 7;</code>
       * @return This builder for chaining.
       */
      public Builder clearInfoStringsDisplayOrder() {
        infoStringsDisplayOrder_ =
          com.google.protobuf.LazyStringArrayList.emptyList();
        bitField0_ = (bitField0_ & ~0x00000040);;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Order to display info strings
       * </pre>
       *
       * <code>repeated string info_strings_display_order = 7;</code>
       * @param value The bytes of the infoStringsDisplayOrder to add.
       * @return This builder for chaining.
       */
      public Builder addInfoStringsDisplayOrderBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        ensureInfoStringsDisplayOrderIsMutable();
        infoStringsDisplayOrder_.add(value);
        bitField0_ |= 0x00000040;
        onChanged();
        return this;
      }

      private com.google.protobuf.MapField<
          java.lang.String, org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet> childCountersMap_;
      private com.google.protobuf.MapField<java.lang.String, org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet>
          internalGetChildCountersMap() {
        if (childCountersMap_ == null) {
          return com.google.protobuf.MapField.emptyMapField(
              ChildCountersMapDefaultEntryHolder.defaultEntry);
        }
        return childCountersMap_;
      }
      private com.google.protobuf.MapField<java.lang.String, org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet>
          internalGetMutableChildCountersMap() {
        if (childCountersMap_ == null) {
          childCountersMap_ = com.google.protobuf.MapField.newMapField(
              ChildCountersMapDefaultEntryHolder.defaultEntry);
        }
        if (!childCountersMap_.isMutable()) {
          childCountersMap_ = childCountersMap_.copy();
        }
        bitField0_ |= 0x00000080;
        onChanged();
        return childCountersMap_;
      }
      public int getChildCountersMapCount() {
        return internalGetChildCountersMap().getMap().size();
      }
      /**
       * <pre>
       * Map from parent counter name to a set of child counter names
       * </pre>
       *
       * <code>map&lt;string, .doris.PProfileChildCounterSet&gt; child_counters_map = 8;</code>
       */
      @java.lang.Override
      public boolean containsChildCountersMap(
          java.lang.String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        return internalGetChildCountersMap().getMap().containsKey(key);
      }
      /**
       * Use {@link #getChildCountersMapMap()} instead.
       */
      @java.lang.Override
      @java.lang.Deprecated
      public java.util.Map<java.lang.String, org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet> getChildCountersMap() {
        return getChildCountersMapMap();
      }
      /**
       * <pre>
       * Map from parent counter name to a set of child counter names
       * </pre>
       *
       * <code>map&lt;string, .doris.PProfileChildCounterSet&gt; child_counters_map = 8;</code>
       */
      @java.lang.Override
      public java.util.Map<java.lang.String, org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet> getChildCountersMapMap() {
        return internalGetChildCountersMap().getMap();
      }
      /**
       * <pre>
       * Map from parent counter name to a set of child counter names
       * </pre>
       *
       * <code>map&lt;string, .doris.PProfileChildCounterSet&gt; child_counters_map = 8;</code>
       */
      @java.lang.Override
      public /* nullable */
org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet getChildCountersMapOrDefault(
          java.lang.String key,
          /* nullable */
org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet defaultValue) {
        if (key == null) { throw new NullPointerException("map key"); }
        java.util.Map<java.lang.String, org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet> map =
            internalGetChildCountersMap().getMap();
        return map.containsKey(key) ? map.get(key) : defaultValue;
      }
      /**
       * <pre>
       * Map from parent counter name to a set of child counter names
       * </pre>
       *
       * <code>map&lt;string, .doris.PProfileChildCounterSet&gt; child_counters_map = 8;</code>
       */
      @java.lang.Override
      public org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet getChildCountersMapOrThrow(
          java.lang.String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        java.util.Map<java.lang.String, org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet> map =
            internalGetChildCountersMap().getMap();
        if (!map.containsKey(key)) {
          throw new java.lang.IllegalArgumentException();
        }
        return map.get(key);
      }
      public Builder clearChildCountersMap() {
        bitField0_ = (bitField0_ & ~0x00000080);
        internalGetMutableChildCountersMap().getMutableMap()
            .clear();
        return this;
      }
      /**
       * <pre>
       * Map from parent counter name to a set of child counter names
       * </pre>
       *
       * <code>map&lt;string, .doris.PProfileChildCounterSet&gt; child_counters_map = 8;</code>
       */
      public Builder removeChildCountersMap(
          java.lang.String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        internalGetMutableChildCountersMap().getMutableMap()
            .remove(key);
        return this;
      }
      /**
       * Use alternate mutation accessors instead.
       */
      @java.lang.Deprecated
      public java.util.Map<java.lang.String, org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet>
          getMutableChildCountersMap() {
        bitField0_ |= 0x00000080;
        return internalGetMutableChildCountersMap().getMutableMap();
      }
      /**
       * <pre>
       * Map from parent counter name to a set of child counter names
       * </pre>
       *
       * <code>map&lt;string, .doris.PProfileChildCounterSet&gt; child_counters_map = 8;</code>
       */
      public Builder putChildCountersMap(
          java.lang.String key,
          org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet value) {
        if (key == null) { throw new NullPointerException("map key"); }
        if (value == null) { throw new NullPointerException("map value"); }
        internalGetMutableChildCountersMap().getMutableMap()
            .put(key, value);
        bitField0_ |= 0x00000080;
        return this;
      }
      /**
       * <pre>
       * Map from parent counter name to a set of child counter names
       * </pre>
       *
       * <code>map&lt;string, .doris.PProfileChildCounterSet&gt; child_counters_map = 8;</code>
       */
      public Builder putAllChildCountersMap(
          java.util.Map<java.lang.String, org.apache.doris.proto.RuntimeProfile.PProfileChildCounterSet> values) {
        internalGetMutableChildCountersMap().getMutableMap()
            .putAll(values);
        bitField0_ |= 0x00000080;
        return this;
      }

      private long timestamp_ ;
      /**
       * <pre>
       * Timestamp for this node
       * </pre>
       *
       * <code>required int64 timestamp = 9;</code>
       * @return Whether the timestamp field is set.
       */
      @java.lang.Override
      public boolean hasTimestamp() {
        return ((bitField0_ & 0x00000100) != 0);
      }
      /**
       * <pre>
       * Timestamp for this node
       * </pre>
       *
       * <code>required int64 timestamp = 9;</code>
       * @return The timestamp.
       */
      @java.lang.Override
      public long getTimestamp() {
        return timestamp_;
      }
      /**
       * <pre>
       * Timestamp for this node
       * </pre>
       *
       * <code>required int64 timestamp = 9;</code>
       * @param value The timestamp to set.
       * @return This builder for chaining.
       */
      public Builder setTimestamp(long value) {

        timestamp_ = value;
        bitField0_ |= 0x00000100;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Timestamp for this node
       * </pre>
       *
       * <code>required int64 timestamp = 9;</code>
       * @return This builder for chaining.
       */
      public Builder clearTimestamp() {
        bitField0_ = (bitField0_ & ~0x00000100);
        timestamp_ = 0L;
        onChanged();
        return this;
      }

      private boolean deprecatedIsSink_ ;
      /**
       * <pre>
       * Deprecated field
       * </pre>
       *
       * <code>optional bool deprecated_is_sink = 10;</code>
       * @return Whether the deprecatedIsSink field is set.
       */
      @java.lang.Override
      public boolean hasDeprecatedIsSink() {
        return ((bitField0_ & 0x00000200) != 0);
      }
      /**
       * <pre>
       * Deprecated field
       * </pre>
       *
       * <code>optional bool deprecated_is_sink = 10;</code>
       * @return The deprecatedIsSink.
       */
      @java.lang.Override
      public boolean getDeprecatedIsSink() {
        return deprecatedIsSink_;
      }
      /**
       * <pre>
       * Deprecated field
       * </pre>
       *
       * <code>optional bool deprecated_is_sink = 10;</code>
       * @param value The deprecatedIsSink to set.
       * @return This builder for chaining.
       */
      public Builder setDeprecatedIsSink(boolean value) {

        deprecatedIsSink_ = value;
        bitField0_ |= 0x00000200;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Deprecated field
       * </pre>
       *
       * <code>optional bool deprecated_is_sink = 10;</code>
       * @return This builder for chaining.
       */
      public Builder clearDeprecatedIsSink() {
        bitField0_ = (bitField0_ & ~0x00000200);
        deprecatedIsSink_ = false;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:doris.PRuntimeProfileNode)
    }

    // @@protoc_insertion_point(class_scope:doris.PRuntimeProfileNode)
    private static final org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode();
    }

    public static org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser<PRuntimeProfileNode>
        PARSER = new com.google.protobuf.AbstractParser<PRuntimeProfileNode>() {
      @java.lang.Override
      public PRuntimeProfileNode parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (com.google.protobuf.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static com.google.protobuf.Parser<PRuntimeProfileNode> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<PRuntimeProfileNode> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PRuntimeProfileTreeOrBuilder extends
      // @@protoc_insertion_point(interface_extends:doris.PRuntimeProfileTree)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>repeated .doris.PRuntimeProfileNode nodes = 1;</code>
     */
    java.util.List<org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode> 
        getNodesList();
    /**
     * <code>repeated .doris.PRuntimeProfileNode nodes = 1;</code>
     */
    org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode getNodes(int index);
    /**
     * <code>repeated .doris.PRuntimeProfileNode nodes = 1;</code>
     */
    int getNodesCount();
    /**
     * <code>repeated .doris.PRuntimeProfileNode nodes = 1;</code>
     */
    java.util.List<? extends org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNodeOrBuilder> 
        getNodesOrBuilderList();
    /**
     * <code>repeated .doris.PRuntimeProfileNode nodes = 1;</code>
     */
    org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNodeOrBuilder getNodesOrBuilder(
        int index);
  }
  /**
   * <pre>
   * A flattened runtime profile tree in in-order traversal
   * </pre>
   *
   * Protobuf type {@code doris.PRuntimeProfileTree}
   */
  public static final class PRuntimeProfileTree extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:doris.PRuntimeProfileTree)
      PRuntimeProfileTreeOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PRuntimeProfileTree.newBuilder() to construct.
    private PRuntimeProfileTree(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private PRuntimeProfileTree() {
      nodes_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new PRuntimeProfileTree();
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.doris.proto.RuntimeProfile.internal_static_doris_PRuntimeProfileTree_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.doris.proto.RuntimeProfile.internal_static_doris_PRuntimeProfileTree_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.doris.proto.RuntimeProfile.PRuntimeProfileTree.class, org.apache.doris.proto.RuntimeProfile.PRuntimeProfileTree.Builder.class);
    }

    public static final int NODES_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private java.util.List<org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode> nodes_;
    /**
     * <code>repeated .doris.PRuntimeProfileNode nodes = 1;</code>
     */
    @java.lang.Override
    public java.util.List<org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode> getNodesList() {
      return nodes_;
    }
    /**
     * <code>repeated .doris.PRuntimeProfileNode nodes = 1;</code>
     */
    @java.lang.Override
    public java.util.List<? extends org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNodeOrBuilder> 
        getNodesOrBuilderList() {
      return nodes_;
    }
    /**
     * <code>repeated .doris.PRuntimeProfileNode nodes = 1;</code>
     */
    @java.lang.Override
    public int getNodesCount() {
      return nodes_.size();
    }
    /**
     * <code>repeated .doris.PRuntimeProfileNode nodes = 1;</code>
     */
    @java.lang.Override
    public org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode getNodes(int index) {
      return nodes_.get(index);
    }
    /**
     * <code>repeated .doris.PRuntimeProfileNode nodes = 1;</code>
     */
    @java.lang.Override
    public org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNodeOrBuilder getNodesOrBuilder(
        int index) {
      return nodes_.get(index);
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      for (int i = 0; i < getNodesCount(); i++) {
        if (!getNodes(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      for (int i = 0; i < nodes_.size(); i++) {
        output.writeMessage(1, nodes_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      for (int i = 0; i < nodes_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, nodes_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.apache.doris.proto.RuntimeProfile.PRuntimeProfileTree)) {
        return super.equals(obj);
      }
      org.apache.doris.proto.RuntimeProfile.PRuntimeProfileTree other = (org.apache.doris.proto.RuntimeProfile.PRuntimeProfileTree) obj;

      if (!getNodesList()
          .equals(other.getNodesList())) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (getNodesCount() > 0) {
        hash = (37 * hash) + NODES_FIELD_NUMBER;
        hash = (53 * hash) + getNodesList().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.doris.proto.RuntimeProfile.PRuntimeProfileTree parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.doris.proto.RuntimeProfile.PRuntimeProfileTree parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.doris.proto.RuntimeProfile.PRuntimeProfileTree parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.doris.proto.RuntimeProfile.PRuntimeProfileTree 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.doris.proto.RuntimeProfile.PRuntimeProfileTree parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.doris.proto.RuntimeProfile.PRuntimeProfileTree parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.doris.proto.RuntimeProfile.PRuntimeProfileTree parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.doris.proto.RuntimeProfile.PRuntimeProfileTree parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static org.apache.doris.proto.RuntimeProfile.PRuntimeProfileTree parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static org.apache.doris.proto.RuntimeProfile.PRuntimeProfileTree parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.doris.proto.RuntimeProfile.PRuntimeProfileTree parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.doris.proto.RuntimeProfile.PRuntimeProfileTree parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(org.apache.doris.proto.RuntimeProfile.PRuntimeProfileTree prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * A flattened runtime profile tree in in-order traversal
     * </pre>
     *
     * Protobuf type {@code doris.PRuntimeProfileTree}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:doris.PRuntimeProfileTree)
        org.apache.doris.proto.RuntimeProfile.PRuntimeProfileTreeOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.doris.proto.RuntimeProfile.internal_static_doris_PRuntimeProfileTree_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.doris.proto.RuntimeProfile.internal_static_doris_PRuntimeProfileTree_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.doris.proto.RuntimeProfile.PRuntimeProfileTree.class, org.apache.doris.proto.RuntimeProfile.PRuntimeProfileTree.Builder.class);
      }

      // Construct using org.apache.doris.proto.RuntimeProfile.PRuntimeProfileTree.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        if (nodesBuilder_ == null) {
          nodes_ = java.util.Collections.emptyList();
        } else {
          nodes_ = null;
          nodesBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.doris.proto.RuntimeProfile.internal_static_doris_PRuntimeProfileTree_descriptor;
      }

      @java.lang.Override
      public org.apache.doris.proto.RuntimeProfile.PRuntimeProfileTree getDefaultInstanceForType() {
        return org.apache.doris.proto.RuntimeProfile.PRuntimeProfileTree.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.doris.proto.RuntimeProfile.PRuntimeProfileTree build() {
        org.apache.doris.proto.RuntimeProfile.PRuntimeProfileTree result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.doris.proto.RuntimeProfile.PRuntimeProfileTree buildPartial() {
        org.apache.doris.proto.RuntimeProfile.PRuntimeProfileTree result = new org.apache.doris.proto.RuntimeProfile.PRuntimeProfileTree(this);
        buildPartialRepeatedFields(result);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartialRepeatedFields(org.apache.doris.proto.RuntimeProfile.PRuntimeProfileTree result) {
        if (nodesBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            nodes_ = java.util.Collections.unmodifiableList(nodes_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.nodes_ = nodes_;
        } else {
          result.nodes_ = nodesBuilder_.build();
        }
      }

      private void buildPartial0(org.apache.doris.proto.RuntimeProfile.PRuntimeProfileTree result) {
        int from_bitField0_ = bitField0_;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.doris.proto.RuntimeProfile.PRuntimeProfileTree) {
          return mergeFrom((org.apache.doris.proto.RuntimeProfile.PRuntimeProfileTree)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.doris.proto.RuntimeProfile.PRuntimeProfileTree other) {
        if (other == org.apache.doris.proto.RuntimeProfile.PRuntimeProfileTree.getDefaultInstance()) return this;
        if (nodesBuilder_ == null) {
          if (!other.nodes_.isEmpty()) {
            if (nodes_.isEmpty()) {
              nodes_ = other.nodes_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureNodesIsMutable();
              nodes_.addAll(other.nodes_);
            }
            onChanged();
          }
        } else {
          if (!other.nodes_.isEmpty()) {
            if (nodesBuilder_.isEmpty()) {
              nodesBuilder_.dispose();
              nodesBuilder_ = null;
              nodes_ = other.nodes_;
              bitField0_ = (bitField0_ & ~0x00000001);
              nodesBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getNodesFieldBuilder() : null;
            } else {
              nodesBuilder_.addAllMessages(other.nodes_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        for (int i = 0; i < getNodesCount(); i++) {
          if (!getNodes(i).isInitialized()) {
            return false;
          }
        }
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode m =
                    input.readMessage(
                        org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode.PARSER,
                        extensionRegistry);
                if (nodesBuilder_ == null) {
                  ensureNodesIsMutable();
                  nodes_.add(m);
                } else {
                  nodesBuilder_.addMessage(m);
                }
                break;
              } // case 10
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      private int bitField0_;

      private java.util.List<org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode> nodes_ =
        java.util.Collections.emptyList();
      private void ensureNodesIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          nodes_ = new java.util.ArrayList<org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode>(nodes_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode, org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode.Builder, org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNodeOrBuilder> nodesBuilder_;

      /**
       * <code>repeated .doris.PRuntimeProfileNode nodes = 1;</code>
       */
      public java.util.List<org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode> getNodesList() {
        if (nodesBuilder_ == null) {
          return java.util.Collections.unmodifiableList(nodes_);
        } else {
          return nodesBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .doris.PRuntimeProfileNode nodes = 1;</code>
       */
      public int getNodesCount() {
        if (nodesBuilder_ == null) {
          return nodes_.size();
        } else {
          return nodesBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .doris.PRuntimeProfileNode nodes = 1;</code>
       */
      public org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode getNodes(int index) {
        if (nodesBuilder_ == null) {
          return nodes_.get(index);
        } else {
          return nodesBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .doris.PRuntimeProfileNode nodes = 1;</code>
       */
      public Builder setNodes(
          int index, org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode value) {
        if (nodesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureNodesIsMutable();
          nodes_.set(index, value);
          onChanged();
        } else {
          nodesBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .doris.PRuntimeProfileNode nodes = 1;</code>
       */
      public Builder setNodes(
          int index, org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode.Builder builderForValue) {
        if (nodesBuilder_ == null) {
          ensureNodesIsMutable();
          nodes_.set(index, builderForValue.build());
          onChanged();
        } else {
          nodesBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .doris.PRuntimeProfileNode nodes = 1;</code>
       */
      public Builder addNodes(org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode value) {
        if (nodesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureNodesIsMutable();
          nodes_.add(value);
          onChanged();
        } else {
          nodesBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .doris.PRuntimeProfileNode nodes = 1;</code>
       */
      public Builder addNodes(
          int index, org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode value) {
        if (nodesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureNodesIsMutable();
          nodes_.add(index, value);
          onChanged();
        } else {
          nodesBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .doris.PRuntimeProfileNode nodes = 1;</code>
       */
      public Builder addNodes(
          org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode.Builder builderForValue) {
        if (nodesBuilder_ == null) {
          ensureNodesIsMutable();
          nodes_.add(builderForValue.build());
          onChanged();
        } else {
          nodesBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .doris.PRuntimeProfileNode nodes = 1;</code>
       */
      public Builder addNodes(
          int index, org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode.Builder builderForValue) {
        if (nodesBuilder_ == null) {
          ensureNodesIsMutable();
          nodes_.add(index, builderForValue.build());
          onChanged();
        } else {
          nodesBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .doris.PRuntimeProfileNode nodes = 1;</code>
       */
      public Builder addAllNodes(
          java.lang.Iterable<? extends org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode> values) {
        if (nodesBuilder_ == null) {
          ensureNodesIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, nodes_);
          onChanged();
        } else {
          nodesBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .doris.PRuntimeProfileNode nodes = 1;</code>
       */
      public Builder clearNodes() {
        if (nodesBuilder_ == null) {
          nodes_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          nodesBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .doris.PRuntimeProfileNode nodes = 1;</code>
       */
      public Builder removeNodes(int index) {
        if (nodesBuilder_ == null) {
          ensureNodesIsMutable();
          nodes_.remove(index);
          onChanged();
        } else {
          nodesBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .doris.PRuntimeProfileNode nodes = 1;</code>
       */
      public org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode.Builder getNodesBuilder(
          int index) {
        return getNodesFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .doris.PRuntimeProfileNode nodes = 1;</code>
       */
      public org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNodeOrBuilder getNodesOrBuilder(
          int index) {
        if (nodesBuilder_ == null) {
          return nodes_.get(index);  } else {
          return nodesBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .doris.PRuntimeProfileNode nodes = 1;</code>
       */
      public java.util.List<? extends org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNodeOrBuilder> 
           getNodesOrBuilderList() {
        if (nodesBuilder_ != null) {
          return nodesBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(nodes_);
        }
      }
      /**
       * <code>repeated .doris.PRuntimeProfileNode nodes = 1;</code>
       */
      public org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode.Builder addNodesBuilder() {
        return getNodesFieldBuilder().addBuilder(
            org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode.getDefaultInstance());
      }
      /**
       * <code>repeated .doris.PRuntimeProfileNode nodes = 1;</code>
       */
      public org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode.Builder addNodesBuilder(
          int index) {
        return getNodesFieldBuilder().addBuilder(
            index, org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode.getDefaultInstance());
      }
      /**
       * <code>repeated .doris.PRuntimeProfileNode nodes = 1;</code>
       */
      public java.util.List<org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode.Builder> 
           getNodesBuilderList() {
        return getNodesFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode, org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode.Builder, org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNodeOrBuilder> 
          getNodesFieldBuilder() {
        if (nodesBuilder_ == null) {
          nodesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode, org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNode.Builder, org.apache.doris.proto.RuntimeProfile.PRuntimeProfileNodeOrBuilder>(
                  nodes_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          nodes_ = null;
        }
        return nodesBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:doris.PRuntimeProfileTree)
    }

    // @@protoc_insertion_point(class_scope:doris.PRuntimeProfileTree)
    private static final org.apache.doris.proto.RuntimeProfile.PRuntimeProfileTree DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.doris.proto.RuntimeProfile.PRuntimeProfileTree();
    }

    public static org.apache.doris.proto.RuntimeProfile.PRuntimeProfileTree getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser<PRuntimeProfileTree>
        PARSER = new com.google.protobuf.AbstractParser<PRuntimeProfileTree>() {
      @java.lang.Override
      public PRuntimeProfileTree parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (com.google.protobuf.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static com.google.protobuf.Parser<PRuntimeProfileTree> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<PRuntimeProfileTree> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public org.apache.doris.proto.RuntimeProfile.PRuntimeProfileTree getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_doris_PProfileCounter_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_doris_PProfileCounter_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_doris_PProfileChildCounterSet_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_doris_PProfileChildCounterSet_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_doris_PRuntimeProfileNode_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_doris_PRuntimeProfileNode_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_doris_PRuntimeProfileNode_InfoStringsEntry_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_doris_PRuntimeProfileNode_InfoStringsEntry_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_doris_PRuntimeProfileNode_ChildCountersMapEntry_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_doris_PRuntimeProfileNode_ChildCountersMapEntry_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_doris_PRuntimeProfileTree_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_doris_PRuntimeProfileTree_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static  com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n\025runtime_profile.proto\022\005doris\"u\n\017PProfi" +
      "leCounter\022\014\n\004name\030\001 \002(\t\022!\n\004type\030\002 \002(\0162\023." +
      "doris.PProfileUnit\022\r\n\005value\030\003 \002(\003\022\r\n\005lev" +
      "el\030\004 \001(\003\022\023\n\013description\030\005 \001(\t\"1\n\027PProfil" +
      "eChildCounterSet\022\026\n\016child_counters\030\001 \003(\t" +
      "\"\366\003\n\023PRuntimeProfileNode\022\014\n\004name\030\001 \002(\t\022\024" +
      "\n\014num_children\030\002 \002(\005\022(\n\010counters\030\003 \003(\0132\026" +
      ".doris.PProfileCounter\022\020\n\010metadata\030\004 \002(\003" +
      "\022\016\n\006indent\030\005 \002(\010\022A\n\014info_strings\030\006 \003(\0132+" +
      ".doris.PRuntimeProfileNode.InfoStringsEn" +
      "try\022\"\n\032info_strings_display_order\030\007 \003(\t\022" +
      "L\n\022child_counters_map\030\010 \003(\01320.doris.PRun" +
      "timeProfileNode.ChildCountersMapEntry\022\021\n" +
      "\ttimestamp\030\t \002(\003\022\032\n\022deprecated_is_sink\030\n" +
      " \001(\010\0322\n\020InfoStringsEntry\022\013\n\003key\030\001 \001(\t\022\r\n" +
      "\005value\030\002 \001(\t:\0028\001\032W\n\025ChildCountersMapEntr" +
      "y\022\013\n\003key\030\001 \001(\t\022-\n\005value\030\002 \001(\0132\036.doris.PP" +
      "rofileChildCounterSet:\0028\001\"@\n\023PRuntimePro" +
      "fileTree\022)\n\005nodes\030\001 \003(\0132\032.doris.PRuntime" +
      "ProfileNode*\237\001\n\014PProfileUnit\022\010\n\004UNIT\020\000\022\023" +
      "\n\017UNIT_PER_SECOND\020\001\022\r\n\tCPU_TICKS\020\002\022\t\n\005BY" +
      "TES\020\003\022\024\n\020BYTES_PER_SECOND\020\004\022\013\n\007TIME_NS\020\005" +
      "\022\020\n\014DOUBLE_VALUE\020\006\022\010\n\004NONE\020\007\022\013\n\007TIME_MS\020" +
      "\010\022\n\n\006TIME_S\020\tB\033\n\026org.apache.doris.proto\200" +
      "\001\001"
    };
    descriptor = com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
        });
    internal_static_doris_PProfileCounter_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_doris_PProfileCounter_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_doris_PProfileCounter_descriptor,
        new java.lang.String[] { "Name", "Type", "Value", "Level", "Description", });
    internal_static_doris_PProfileChildCounterSet_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_doris_PProfileChildCounterSet_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_doris_PProfileChildCounterSet_descriptor,
        new java.lang.String[] { "ChildCounters", });
    internal_static_doris_PRuntimeProfileNode_descriptor =
      getDescriptor().getMessageTypes().get(2);
    internal_static_doris_PRuntimeProfileNode_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_doris_PRuntimeProfileNode_descriptor,
        new java.lang.String[] { "Name", "NumChildren", "Counters", "Metadata", "Indent", "InfoStrings", "InfoStringsDisplayOrder", "ChildCountersMap", "Timestamp", "DeprecatedIsSink", });
    internal_static_doris_PRuntimeProfileNode_InfoStringsEntry_descriptor =
      internal_static_doris_PRuntimeProfileNode_descriptor.getNestedTypes().get(0);
    internal_static_doris_PRuntimeProfileNode_InfoStringsEntry_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_doris_PRuntimeProfileNode_InfoStringsEntry_descriptor,
        new java.lang.String[] { "Key", "Value", });
    internal_static_doris_PRuntimeProfileNode_ChildCountersMapEntry_descriptor =
      internal_static_doris_PRuntimeProfileNode_descriptor.getNestedTypes().get(1);
    internal_static_doris_PRuntimeProfileNode_ChildCountersMapEntry_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_doris_PRuntimeProfileNode_ChildCountersMapEntry_descriptor,
        new java.lang.String[] { "Key", "Value", });
    internal_static_doris_PRuntimeProfileTree_descriptor =
      getDescriptor().getMessageTypes().get(3);
    internal_static_doris_PRuntimeProfileTree_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_doris_PRuntimeProfileTree_descriptor,
        new java.lang.String[] { "Nodes", });
  }

  // @@protoc_insertion_point(outer_class_scope)
}