Class MetricDescriptor.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderType>
com.google.protobuf.GeneratedMessageV3.Builder<MetricDescriptor.Builder>
com.google.api.MetricDescriptor.Builder
All Implemented Interfaces:
MetricDescriptorOrBuilder, com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Cloneable
Enclosing class:
MetricDescriptor

public static final class MetricDescriptor.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<MetricDescriptor.Builder> implements MetricDescriptorOrBuilder
 Defines a metric type and its schema. Once a metric descriptor is created,
 deleting or altering it stops data collection and makes the metric type's
 existing data unusable.
 
Protobuf type google.api.MetricDescriptor
  • Method Details

    • getDescriptor

      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
    • internalGetFieldAccessorTable

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3.Builder<MetricDescriptor.Builder>
    • clear

      public MetricDescriptor.Builder clear()
      Specified by:
      clear in interface com.google.protobuf.Message.Builder
      Specified by:
      clear in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      clear in class com.google.protobuf.GeneratedMessageV3.Builder<MetricDescriptor.Builder>
    • getDescriptorForType

      public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
      Specified by:
      getDescriptorForType in interface com.google.protobuf.Message.Builder
      Specified by:
      getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
      Overrides:
      getDescriptorForType in class com.google.protobuf.GeneratedMessageV3.Builder<MetricDescriptor.Builder>
    • getDefaultInstanceForType

      public MetricDescriptor getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
    • build

      public MetricDescriptor build()
      Specified by:
      build in interface com.google.protobuf.Message.Builder
      Specified by:
      build in interface com.google.protobuf.MessageLite.Builder
    • buildPartial

      public MetricDescriptor buildPartial()
      Specified by:
      buildPartial in interface com.google.protobuf.Message.Builder
      Specified by:
      buildPartial in interface com.google.protobuf.MessageLite.Builder
    • clone

      public MetricDescriptor.Builder clone()
      Specified by:
      clone in interface com.google.protobuf.Message.Builder
      Specified by:
      clone in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      clone in class com.google.protobuf.GeneratedMessageV3.Builder<MetricDescriptor.Builder>
    • setField

      public MetricDescriptor.Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
      Specified by:
      setField in interface com.google.protobuf.Message.Builder
      Overrides:
      setField in class com.google.protobuf.GeneratedMessageV3.Builder<MetricDescriptor.Builder>
    • clearField

      public MetricDescriptor.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
      Specified by:
      clearField in interface com.google.protobuf.Message.Builder
      Overrides:
      clearField in class com.google.protobuf.GeneratedMessageV3.Builder<MetricDescriptor.Builder>
    • clearOneof

      public MetricDescriptor.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
      Specified by:
      clearOneof in interface com.google.protobuf.Message.Builder
      Overrides:
      clearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<MetricDescriptor.Builder>
    • setRepeatedField

      public MetricDescriptor.Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value)
      Specified by:
      setRepeatedField in interface com.google.protobuf.Message.Builder
      Overrides:
      setRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<MetricDescriptor.Builder>
    • addRepeatedField

      public MetricDescriptor.Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
      Specified by:
      addRepeatedField in interface com.google.protobuf.Message.Builder
      Overrides:
      addRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<MetricDescriptor.Builder>
    • mergeFrom

      public MetricDescriptor.Builder mergeFrom(com.google.protobuf.Message other)
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<MetricDescriptor.Builder>
    • mergeFrom

      public MetricDescriptor.Builder mergeFrom(MetricDescriptor other)
    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessageV3.Builder<MetricDescriptor.Builder>
    • mergeFrom

      public MetricDescriptor.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<MetricDescriptor.Builder>
      Throws:
      IOException
    • getName

      public String getName()
       The resource name of the metric descriptor.
       
      string name = 1;
      Specified by:
      getName in interface MetricDescriptorOrBuilder
      Returns:
      The name.
    • getNameBytes

      public com.google.protobuf.ByteString getNameBytes()
       The resource name of the metric descriptor.
       
      string name = 1;
      Specified by:
      getNameBytes in interface MetricDescriptorOrBuilder
      Returns:
      The bytes for name.
    • setName

      public MetricDescriptor.Builder setName(String value)
       The resource name of the metric descriptor.
       
      string name = 1;
      Parameters:
      value - The name to set.
      Returns:
      This builder for chaining.
    • clearName

      public MetricDescriptor.Builder clearName()
       The resource name of the metric descriptor.
       
      string name = 1;
      Returns:
      This builder for chaining.
    • setNameBytes

      public MetricDescriptor.Builder setNameBytes(com.google.protobuf.ByteString value)
       The resource name of the metric descriptor.
       
      string name = 1;
      Parameters:
      value - The bytes for name to set.
      Returns:
      This builder for chaining.
    • getType

      public String getType()
       The metric type, including its DNS name prefix. The type is not
       URL-encoded. All user-defined metric types have the DNS name
       `custom.googleapis.com` or `external.googleapis.com`. Metric types should
       use a natural hierarchical grouping. For example:
           "custom.googleapis.com/invoice/paid/amount"
           "external.googleapis.com/prometheus/up"
           "appengine.googleapis.com/http/server/response_latencies"
       
      string type = 8;
      Specified by:
      getType in interface MetricDescriptorOrBuilder
      Returns:
      The type.
    • getTypeBytes

      public com.google.protobuf.ByteString getTypeBytes()
       The metric type, including its DNS name prefix. The type is not
       URL-encoded. All user-defined metric types have the DNS name
       `custom.googleapis.com` or `external.googleapis.com`. Metric types should
       use a natural hierarchical grouping. For example:
           "custom.googleapis.com/invoice/paid/amount"
           "external.googleapis.com/prometheus/up"
           "appengine.googleapis.com/http/server/response_latencies"
       
      string type = 8;
      Specified by:
      getTypeBytes in interface MetricDescriptorOrBuilder
      Returns:
      The bytes for type.
    • setType

      public MetricDescriptor.Builder setType(String value)
       The metric type, including its DNS name prefix. The type is not
       URL-encoded. All user-defined metric types have the DNS name
       `custom.googleapis.com` or `external.googleapis.com`. Metric types should
       use a natural hierarchical grouping. For example:
           "custom.googleapis.com/invoice/paid/amount"
           "external.googleapis.com/prometheus/up"
           "appengine.googleapis.com/http/server/response_latencies"
       
      string type = 8;
      Parameters:
      value - The type to set.
      Returns:
      This builder for chaining.
    • clearType

      public MetricDescriptor.Builder clearType()
       The metric type, including its DNS name prefix. The type is not
       URL-encoded. All user-defined metric types have the DNS name
       `custom.googleapis.com` or `external.googleapis.com`. Metric types should
       use a natural hierarchical grouping. For example:
           "custom.googleapis.com/invoice/paid/amount"
           "external.googleapis.com/prometheus/up"
           "appengine.googleapis.com/http/server/response_latencies"
       
      string type = 8;
      Returns:
      This builder for chaining.
    • setTypeBytes

      public MetricDescriptor.Builder setTypeBytes(com.google.protobuf.ByteString value)
       The metric type, including its DNS name prefix. The type is not
       URL-encoded. All user-defined metric types have the DNS name
       `custom.googleapis.com` or `external.googleapis.com`. Metric types should
       use a natural hierarchical grouping. For example:
           "custom.googleapis.com/invoice/paid/amount"
           "external.googleapis.com/prometheus/up"
           "appengine.googleapis.com/http/server/response_latencies"
       
      string type = 8;
      Parameters:
      value - The bytes for type to set.
      Returns:
      This builder for chaining.
    • getLabelsList

      public List<LabelDescriptor> getLabelsList()
       The set of labels that can be used to describe a specific
       instance of this metric type. For example, the
       `appengine.googleapis.com/http/server/response_latencies` metric
       type has a label for the HTTP response code, `response_code`, so
       you can look at latencies for successful responses or just
       for responses that failed.
       
      repeated .google.api.LabelDescriptor labels = 2;
      Specified by:
      getLabelsList in interface MetricDescriptorOrBuilder
    • getLabelsCount

      public int getLabelsCount()
       The set of labels that can be used to describe a specific
       instance of this metric type. For example, the
       `appengine.googleapis.com/http/server/response_latencies` metric
       type has a label for the HTTP response code, `response_code`, so
       you can look at latencies for successful responses or just
       for responses that failed.
       
      repeated .google.api.LabelDescriptor labels = 2;
      Specified by:
      getLabelsCount in interface MetricDescriptorOrBuilder
    • getLabels

      public LabelDescriptor getLabels(int index)
       The set of labels that can be used to describe a specific
       instance of this metric type. For example, the
       `appengine.googleapis.com/http/server/response_latencies` metric
       type has a label for the HTTP response code, `response_code`, so
       you can look at latencies for successful responses or just
       for responses that failed.
       
      repeated .google.api.LabelDescriptor labels = 2;
      Specified by:
      getLabels in interface MetricDescriptorOrBuilder
    • setLabels

      public MetricDescriptor.Builder setLabels(int index, LabelDescriptor value)
       The set of labels that can be used to describe a specific
       instance of this metric type. For example, the
       `appengine.googleapis.com/http/server/response_latencies` metric
       type has a label for the HTTP response code, `response_code`, so
       you can look at latencies for successful responses or just
       for responses that failed.
       
      repeated .google.api.LabelDescriptor labels = 2;
    • setLabels

      public MetricDescriptor.Builder setLabels(int index, LabelDescriptor.Builder builderForValue)
       The set of labels that can be used to describe a specific
       instance of this metric type. For example, the
       `appengine.googleapis.com/http/server/response_latencies` metric
       type has a label for the HTTP response code, `response_code`, so
       you can look at latencies for successful responses or just
       for responses that failed.
       
      repeated .google.api.LabelDescriptor labels = 2;
    • addLabels

      public MetricDescriptor.Builder addLabels(LabelDescriptor value)
       The set of labels that can be used to describe a specific
       instance of this metric type. For example, the
       `appengine.googleapis.com/http/server/response_latencies` metric
       type has a label for the HTTP response code, `response_code`, so
       you can look at latencies for successful responses or just
       for responses that failed.
       
      repeated .google.api.LabelDescriptor labels = 2;
    • addLabels

      public MetricDescriptor.Builder addLabels(int index, LabelDescriptor value)
       The set of labels that can be used to describe a specific
       instance of this metric type. For example, the
       `appengine.googleapis.com/http/server/response_latencies` metric
       type has a label for the HTTP response code, `response_code`, so
       you can look at latencies for successful responses or just
       for responses that failed.
       
      repeated .google.api.LabelDescriptor labels = 2;
    • addLabels

      public MetricDescriptor.Builder addLabels(LabelDescriptor.Builder builderForValue)
       The set of labels that can be used to describe a specific
       instance of this metric type. For example, the
       `appengine.googleapis.com/http/server/response_latencies` metric
       type has a label for the HTTP response code, `response_code`, so
       you can look at latencies for successful responses or just
       for responses that failed.
       
      repeated .google.api.LabelDescriptor labels = 2;
    • addLabels

      public MetricDescriptor.Builder addLabels(int index, LabelDescriptor.Builder builderForValue)
       The set of labels that can be used to describe a specific
       instance of this metric type. For example, the
       `appengine.googleapis.com/http/server/response_latencies` metric
       type has a label for the HTTP response code, `response_code`, so
       you can look at latencies for successful responses or just
       for responses that failed.
       
      repeated .google.api.LabelDescriptor labels = 2;
    • addAllLabels

      public MetricDescriptor.Builder addAllLabels(Iterable<? extends LabelDescriptor> values)
       The set of labels that can be used to describe a specific
       instance of this metric type. For example, the
       `appengine.googleapis.com/http/server/response_latencies` metric
       type has a label for the HTTP response code, `response_code`, so
       you can look at latencies for successful responses or just
       for responses that failed.
       
      repeated .google.api.LabelDescriptor labels = 2;
    • clearLabels

      public MetricDescriptor.Builder clearLabels()
       The set of labels that can be used to describe a specific
       instance of this metric type. For example, the
       `appengine.googleapis.com/http/server/response_latencies` metric
       type has a label for the HTTP response code, `response_code`, so
       you can look at latencies for successful responses or just
       for responses that failed.
       
      repeated .google.api.LabelDescriptor labels = 2;
    • removeLabels

      public MetricDescriptor.Builder removeLabels(int index)
       The set of labels that can be used to describe a specific
       instance of this metric type. For example, the
       `appengine.googleapis.com/http/server/response_latencies` metric
       type has a label for the HTTP response code, `response_code`, so
       you can look at latencies for successful responses or just
       for responses that failed.
       
      repeated .google.api.LabelDescriptor labels = 2;
    • getLabelsBuilder

      public LabelDescriptor.Builder getLabelsBuilder(int index)
       The set of labels that can be used to describe a specific
       instance of this metric type. For example, the
       `appengine.googleapis.com/http/server/response_latencies` metric
       type has a label for the HTTP response code, `response_code`, so
       you can look at latencies for successful responses or just
       for responses that failed.
       
      repeated .google.api.LabelDescriptor labels = 2;
    • getLabelsOrBuilder

      public LabelDescriptorOrBuilder getLabelsOrBuilder(int index)
       The set of labels that can be used to describe a specific
       instance of this metric type. For example, the
       `appengine.googleapis.com/http/server/response_latencies` metric
       type has a label for the HTTP response code, `response_code`, so
       you can look at latencies for successful responses or just
       for responses that failed.
       
      repeated .google.api.LabelDescriptor labels = 2;
      Specified by:
      getLabelsOrBuilder in interface MetricDescriptorOrBuilder
    • getLabelsOrBuilderList

      public List<? extends LabelDescriptorOrBuilder> getLabelsOrBuilderList()
       The set of labels that can be used to describe a specific
       instance of this metric type. For example, the
       `appengine.googleapis.com/http/server/response_latencies` metric
       type has a label for the HTTP response code, `response_code`, so
       you can look at latencies for successful responses or just
       for responses that failed.
       
      repeated .google.api.LabelDescriptor labels = 2;
      Specified by:
      getLabelsOrBuilderList in interface MetricDescriptorOrBuilder
    • addLabelsBuilder

      public LabelDescriptor.Builder addLabelsBuilder()
       The set of labels that can be used to describe a specific
       instance of this metric type. For example, the
       `appengine.googleapis.com/http/server/response_latencies` metric
       type has a label for the HTTP response code, `response_code`, so
       you can look at latencies for successful responses or just
       for responses that failed.
       
      repeated .google.api.LabelDescriptor labels = 2;
    • addLabelsBuilder

      public LabelDescriptor.Builder addLabelsBuilder(int index)
       The set of labels that can be used to describe a specific
       instance of this metric type. For example, the
       `appengine.googleapis.com/http/server/response_latencies` metric
       type has a label for the HTTP response code, `response_code`, so
       you can look at latencies for successful responses or just
       for responses that failed.
       
      repeated .google.api.LabelDescriptor labels = 2;
    • getLabelsBuilderList

      public List<LabelDescriptor.Builder> getLabelsBuilderList()
       The set of labels that can be used to describe a specific
       instance of this metric type. For example, the
       `appengine.googleapis.com/http/server/response_latencies` metric
       type has a label for the HTTP response code, `response_code`, so
       you can look at latencies for successful responses or just
       for responses that failed.
       
      repeated .google.api.LabelDescriptor labels = 2;
    • getMetricKindValue

      public int getMetricKindValue()
       Whether the metric records instantaneous values, changes to a value, etc.
       Some combinations of `metric_kind` and `value_type` might not be supported.
       
      .google.api.MetricDescriptor.MetricKind metric_kind = 3;
      Specified by:
      getMetricKindValue in interface MetricDescriptorOrBuilder
      Returns:
      The enum numeric value on the wire for metricKind.
    • setMetricKindValue

      public MetricDescriptor.Builder setMetricKindValue(int value)
       Whether the metric records instantaneous values, changes to a value, etc.
       Some combinations of `metric_kind` and `value_type` might not be supported.
       
      .google.api.MetricDescriptor.MetricKind metric_kind = 3;
      Parameters:
      value - The enum numeric value on the wire for metricKind to set.
      Returns:
      This builder for chaining.
    • getMetricKind

      public MetricDescriptor.MetricKind getMetricKind()
       Whether the metric records instantaneous values, changes to a value, etc.
       Some combinations of `metric_kind` and `value_type` might not be supported.
       
      .google.api.MetricDescriptor.MetricKind metric_kind = 3;
      Specified by:
      getMetricKind in interface MetricDescriptorOrBuilder
      Returns:
      The metricKind.
    • setMetricKind

       Whether the metric records instantaneous values, changes to a value, etc.
       Some combinations of `metric_kind` and `value_type` might not be supported.
       
      .google.api.MetricDescriptor.MetricKind metric_kind = 3;
      Parameters:
      value - The metricKind to set.
      Returns:
      This builder for chaining.
    • clearMetricKind

      public MetricDescriptor.Builder clearMetricKind()
       Whether the metric records instantaneous values, changes to a value, etc.
       Some combinations of `metric_kind` and `value_type` might not be supported.
       
      .google.api.MetricDescriptor.MetricKind metric_kind = 3;
      Returns:
      This builder for chaining.
    • getValueTypeValue

      public int getValueTypeValue()
       Whether the measurement is an integer, a floating-point number, etc.
       Some combinations of `metric_kind` and `value_type` might not be supported.
       
      .google.api.MetricDescriptor.ValueType value_type = 4;
      Specified by:
      getValueTypeValue in interface MetricDescriptorOrBuilder
      Returns:
      The enum numeric value on the wire for valueType.
    • setValueTypeValue

      public MetricDescriptor.Builder setValueTypeValue(int value)
       Whether the measurement is an integer, a floating-point number, etc.
       Some combinations of `metric_kind` and `value_type` might not be supported.
       
      .google.api.MetricDescriptor.ValueType value_type = 4;
      Parameters:
      value - The enum numeric value on the wire for valueType to set.
      Returns:
      This builder for chaining.
    • getValueType

      public MetricDescriptor.ValueType getValueType()
       Whether the measurement is an integer, a floating-point number, etc.
       Some combinations of `metric_kind` and `value_type` might not be supported.
       
      .google.api.MetricDescriptor.ValueType value_type = 4;
      Specified by:
      getValueType in interface MetricDescriptorOrBuilder
      Returns:
      The valueType.
    • setValueType

       Whether the measurement is an integer, a floating-point number, etc.
       Some combinations of `metric_kind` and `value_type` might not be supported.
       
      .google.api.MetricDescriptor.ValueType value_type = 4;
      Parameters:
      value - The valueType to set.
      Returns:
      This builder for chaining.
    • clearValueType

      public MetricDescriptor.Builder clearValueType()
       Whether the measurement is an integer, a floating-point number, etc.
       Some combinations of `metric_kind` and `value_type` might not be supported.
       
      .google.api.MetricDescriptor.ValueType value_type = 4;
      Returns:
      This builder for chaining.
    • getUnit

      public String getUnit()
       The units in which the metric value is reported. It is only applicable
       if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The `unit`
       defines the representation of the stored metric values.
       Different systems might scale the values to be more easily displayed (so a
       value of `0.02kBy` _might_ be displayed as `20By`, and a value of
       `3523kBy` _might_ be displayed as `3.5MBy`). However, if the `unit` is
       `kBy`, then the value of the metric is always in thousands of bytes, no
       matter how it might be displayed.
       If you want a custom metric to record the exact number of CPU-seconds used
       by a job, you can create an `INT64 CUMULATIVE` metric whose `unit` is
       `s{CPU}` (or equivalently `1s{CPU}` or just `s`). If the job uses 12,005
       CPU-seconds, then the value is written as `12005`.
       Alternatively, if you want a custom metric to record data in a more
       granular way, you can create a `DOUBLE CUMULATIVE` metric whose `unit` is
       `ks{CPU}`, and then write the value `12.005` (which is `12005/1000`),
       or use `Kis{CPU}` and write `11.723` (which is `12005/1024`).
       The supported units are a subset of [The Unified Code for Units of
       Measure](https://unitsofmeasure.org/ucum.html) standard:
       **Basic units (UNIT)**
       * `bit`   bit
       * `By`    byte
       * `s`     second
       * `min`   minute
       * `h`     hour
       * `d`     day
       * `1`     dimensionless
       **Prefixes (PREFIX)**
       * `k`     kilo    (10^3)
       * `M`     mega    (10^6)
       * `G`     giga    (10^9)
       * `T`     tera    (10^12)
       * `P`     peta    (10^15)
       * `E`     exa     (10^18)
       * `Z`     zetta   (10^21)
       * `Y`     yotta   (10^24)
       * `m`     milli   (10^-3)
       * `u`     micro   (10^-6)
       * `n`     nano    (10^-9)
       * `p`     pico    (10^-12)
       * `f`     femto   (10^-15)
       * `a`     atto    (10^-18)
       * `z`     zepto   (10^-21)
       * `y`     yocto   (10^-24)
       * `Ki`    kibi    (2^10)
       * `Mi`    mebi    (2^20)
       * `Gi`    gibi    (2^30)
       * `Ti`    tebi    (2^40)
       * `Pi`    pebi    (2^50)
       **Grammar**
       The grammar also includes these connectors:
       * `/`    division or ratio (as an infix operator). For examples,
                `kBy/{email}` or `MiBy/10ms` (although you should almost never
                have `/s` in a metric `unit`; rates should always be computed at
                query time from the underlying cumulative or delta value).
       * `.`    multiplication or composition (as an infix operator). For
                examples, `GBy.d` or `k{watt}.h`.
       The grammar for a unit is as follows:
           Expression = Component { "." Component } { "/" Component } ;
           Component = ( [ PREFIX ] UNIT | "%" ) [ Annotation ]
                     | Annotation
                     | "1"
                     ;
           Annotation = "{" NAME "}" ;
       Notes:
       * `Annotation` is just a comment if it follows a `UNIT`. If the annotation
          is used alone, then the unit is equivalent to `1`. For examples,
          `{request}/s == 1/s`, `By{transmitted}/s == By/s`.
       * `NAME` is a sequence of non-blank printable ASCII characters not
          containing `{` or `}`.
       * `1` represents a unitary [dimensionless
          unit](https://en.wikipedia.org/wiki/Dimensionless_quantity) of 1, such
          as in `1/s`. It is typically used when none of the basic units are
          appropriate. For example, "new users per day" can be represented as
          `1/d` or `{new-users}/d` (and a metric value `5` would mean "5 new
          users). Alternatively, "thousands of page views per day" would be
          represented as `1000/d` or `k1/d` or `k{page_views}/d` (and a metric
          value of `5.3` would mean "5300 page views per day").
       * `%` represents dimensionless value of 1/100, and annotates values giving
          a percentage (so the metric values are typically in the range of 0..100,
          and a metric value `3` means "3 percent").
       * `10^2.%` indicates a metric contains a ratio, typically in the range
          0..1, that will be multiplied by 100 and displayed as a percentage
          (so a metric value `0.03` means "3 percent").
       
      string unit = 5;
      Specified by:
      getUnit in interface MetricDescriptorOrBuilder
      Returns:
      The unit.
    • getUnitBytes

      public com.google.protobuf.ByteString getUnitBytes()
       The units in which the metric value is reported. It is only applicable
       if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The `unit`
       defines the representation of the stored metric values.
       Different systems might scale the values to be more easily displayed (so a
       value of `0.02kBy` _might_ be displayed as `20By`, and a value of
       `3523kBy` _might_ be displayed as `3.5MBy`). However, if the `unit` is
       `kBy`, then the value of the metric is always in thousands of bytes, no
       matter how it might be displayed.
       If you want a custom metric to record the exact number of CPU-seconds used
       by a job, you can create an `INT64 CUMULATIVE` metric whose `unit` is
       `s{CPU}` (or equivalently `1s{CPU}` or just `s`). If the job uses 12,005
       CPU-seconds, then the value is written as `12005`.
       Alternatively, if you want a custom metric to record data in a more
       granular way, you can create a `DOUBLE CUMULATIVE` metric whose `unit` is
       `ks{CPU}`, and then write the value `12.005` (which is `12005/1000`),
       or use `Kis{CPU}` and write `11.723` (which is `12005/1024`).
       The supported units are a subset of [The Unified Code for Units of
       Measure](https://unitsofmeasure.org/ucum.html) standard:
       **Basic units (UNIT)**
       * `bit`   bit
       * `By`    byte
       * `s`     second
       * `min`   minute
       * `h`     hour
       * `d`     day
       * `1`     dimensionless
       **Prefixes (PREFIX)**
       * `k`     kilo    (10^3)
       * `M`     mega    (10^6)
       * `G`     giga    (10^9)
       * `T`     tera    (10^12)
       * `P`     peta    (10^15)
       * `E`     exa     (10^18)
       * `Z`     zetta   (10^21)
       * `Y`     yotta   (10^24)
       * `m`     milli   (10^-3)
       * `u`     micro   (10^-6)
       * `n`     nano    (10^-9)
       * `p`     pico    (10^-12)
       * `f`     femto   (10^-15)
       * `a`     atto    (10^-18)
       * `z`     zepto   (10^-21)
       * `y`     yocto   (10^-24)
       * `Ki`    kibi    (2^10)
       * `Mi`    mebi    (2^20)
       * `Gi`    gibi    (2^30)
       * `Ti`    tebi    (2^40)
       * `Pi`    pebi    (2^50)
       **Grammar**
       The grammar also includes these connectors:
       * `/`    division or ratio (as an infix operator). For examples,
                `kBy/{email}` or `MiBy/10ms` (although you should almost never
                have `/s` in a metric `unit`; rates should always be computed at
                query time from the underlying cumulative or delta value).
       * `.`    multiplication or composition (as an infix operator). For
                examples, `GBy.d` or `k{watt}.h`.
       The grammar for a unit is as follows:
           Expression = Component { "." Component } { "/" Component } ;
           Component = ( [ PREFIX ] UNIT | "%" ) [ Annotation ]
                     | Annotation
                     | "1"
                     ;
           Annotation = "{" NAME "}" ;
       Notes:
       * `Annotation` is just a comment if it follows a `UNIT`. If the annotation
          is used alone, then the unit is equivalent to `1`. For examples,
          `{request}/s == 1/s`, `By{transmitted}/s == By/s`.
       * `NAME` is a sequence of non-blank printable ASCII characters not
          containing `{` or `}`.
       * `1` represents a unitary [dimensionless
          unit](https://en.wikipedia.org/wiki/Dimensionless_quantity) of 1, such
          as in `1/s`. It is typically used when none of the basic units are
          appropriate. For example, "new users per day" can be represented as
          `1/d` or `{new-users}/d` (and a metric value `5` would mean "5 new
          users). Alternatively, "thousands of page views per day" would be
          represented as `1000/d` or `k1/d` or `k{page_views}/d` (and a metric
          value of `5.3` would mean "5300 page views per day").
       * `%` represents dimensionless value of 1/100, and annotates values giving
          a percentage (so the metric values are typically in the range of 0..100,
          and a metric value `3` means "3 percent").
       * `10^2.%` indicates a metric contains a ratio, typically in the range
          0..1, that will be multiplied by 100 and displayed as a percentage
          (so a metric value `0.03` means "3 percent").
       
      string unit = 5;
      Specified by:
      getUnitBytes in interface MetricDescriptorOrBuilder
      Returns:
      The bytes for unit.
    • setUnit

      public MetricDescriptor.Builder setUnit(String value)
       The units in which the metric value is reported. It is only applicable
       if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The `unit`
       defines the representation of the stored metric values.
       Different systems might scale the values to be more easily displayed (so a
       value of `0.02kBy` _might_ be displayed as `20By`, and a value of
       `3523kBy` _might_ be displayed as `3.5MBy`). However, if the `unit` is
       `kBy`, then the value of the metric is always in thousands of bytes, no
       matter how it might be displayed.
       If you want a custom metric to record the exact number of CPU-seconds used
       by a job, you can create an `INT64 CUMULATIVE` metric whose `unit` is
       `s{CPU}` (or equivalently `1s{CPU}` or just `s`). If the job uses 12,005
       CPU-seconds, then the value is written as `12005`.
       Alternatively, if you want a custom metric to record data in a more
       granular way, you can create a `DOUBLE CUMULATIVE` metric whose `unit` is
       `ks{CPU}`, and then write the value `12.005` (which is `12005/1000`),
       or use `Kis{CPU}` and write `11.723` (which is `12005/1024`).
       The supported units are a subset of [The Unified Code for Units of
       Measure](https://unitsofmeasure.org/ucum.html) standard:
       **Basic units (UNIT)**
       * `bit`   bit
       * `By`    byte
       * `s`     second
       * `min`   minute
       * `h`     hour
       * `d`     day
       * `1`     dimensionless
       **Prefixes (PREFIX)**
       * `k`     kilo    (10^3)
       * `M`     mega    (10^6)
       * `G`     giga    (10^9)
       * `T`     tera    (10^12)
       * `P`     peta    (10^15)
       * `E`     exa     (10^18)
       * `Z`     zetta   (10^21)
       * `Y`     yotta   (10^24)
       * `m`     milli   (10^-3)
       * `u`     micro   (10^-6)
       * `n`     nano    (10^-9)
       * `p`     pico    (10^-12)
       * `f`     femto   (10^-15)
       * `a`     atto    (10^-18)
       * `z`     zepto   (10^-21)
       * `y`     yocto   (10^-24)
       * `Ki`    kibi    (2^10)
       * `Mi`    mebi    (2^20)
       * `Gi`    gibi    (2^30)
       * `Ti`    tebi    (2^40)
       * `Pi`    pebi    (2^50)
       **Grammar**
       The grammar also includes these connectors:
       * `/`    division or ratio (as an infix operator). For examples,
                `kBy/{email}` or `MiBy/10ms` (although you should almost never
                have `/s` in a metric `unit`; rates should always be computed at
                query time from the underlying cumulative or delta value).
       * `.`    multiplication or composition (as an infix operator). For
                examples, `GBy.d` or `k{watt}.h`.
       The grammar for a unit is as follows:
           Expression = Component { "." Component } { "/" Component } ;
           Component = ( [ PREFIX ] UNIT | "%" ) [ Annotation ]
                     | Annotation
                     | "1"
                     ;
           Annotation = "{" NAME "}" ;
       Notes:
       * `Annotation` is just a comment if it follows a `UNIT`. If the annotation
          is used alone, then the unit is equivalent to `1`. For examples,
          `{request}/s == 1/s`, `By{transmitted}/s == By/s`.
       * `NAME` is a sequence of non-blank printable ASCII characters not
          containing `{` or `}`.
       * `1` represents a unitary [dimensionless
          unit](https://en.wikipedia.org/wiki/Dimensionless_quantity) of 1, such
          as in `1/s`. It is typically used when none of the basic units are
          appropriate. For example, "new users per day" can be represented as
          `1/d` or `{new-users}/d` (and a metric value `5` would mean "5 new
          users). Alternatively, "thousands of page views per day" would be
          represented as `1000/d` or `k1/d` or `k{page_views}/d` (and a metric
          value of `5.3` would mean "5300 page views per day").
       * `%` represents dimensionless value of 1/100, and annotates values giving
          a percentage (so the metric values are typically in the range of 0..100,
          and a metric value `3` means "3 percent").
       * `10^2.%` indicates a metric contains a ratio, typically in the range
          0..1, that will be multiplied by 100 and displayed as a percentage
          (so a metric value `0.03` means "3 percent").
       
      string unit = 5;
      Parameters:
      value - The unit to set.
      Returns:
      This builder for chaining.
    • clearUnit

      public MetricDescriptor.Builder clearUnit()
       The units in which the metric value is reported. It is only applicable
       if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The `unit`
       defines the representation of the stored metric values.
       Different systems might scale the values to be more easily displayed (so a
       value of `0.02kBy` _might_ be displayed as `20By`, and a value of
       `3523kBy` _might_ be displayed as `3.5MBy`). However, if the `unit` is
       `kBy`, then the value of the metric is always in thousands of bytes, no
       matter how it might be displayed.
       If you want a custom metric to record the exact number of CPU-seconds used
       by a job, you can create an `INT64 CUMULATIVE` metric whose `unit` is
       `s{CPU}` (or equivalently `1s{CPU}` or just `s`). If the job uses 12,005
       CPU-seconds, then the value is written as `12005`.
       Alternatively, if you want a custom metric to record data in a more
       granular way, you can create a `DOUBLE CUMULATIVE` metric whose `unit` is
       `ks{CPU}`, and then write the value `12.005` (which is `12005/1000`),
       or use `Kis{CPU}` and write `11.723` (which is `12005/1024`).
       The supported units are a subset of [The Unified Code for Units of
       Measure](https://unitsofmeasure.org/ucum.html) standard:
       **Basic units (UNIT)**
       * `bit`   bit
       * `By`    byte
       * `s`     second
       * `min`   minute
       * `h`     hour
       * `d`     day
       * `1`     dimensionless
       **Prefixes (PREFIX)**
       * `k`     kilo    (10^3)
       * `M`     mega    (10^6)
       * `G`     giga    (10^9)
       * `T`     tera    (10^12)
       * `P`     peta    (10^15)
       * `E`     exa     (10^18)
       * `Z`     zetta   (10^21)
       * `Y`     yotta   (10^24)
       * `m`     milli   (10^-3)
       * `u`     micro   (10^-6)
       * `n`     nano    (10^-9)
       * `p`     pico    (10^-12)
       * `f`     femto   (10^-15)
       * `a`     atto    (10^-18)
       * `z`     zepto   (10^-21)
       * `y`     yocto   (10^-24)
       * `Ki`    kibi    (2^10)
       * `Mi`    mebi    (2^20)
       * `Gi`    gibi    (2^30)
       * `Ti`    tebi    (2^40)
       * `Pi`    pebi    (2^50)
       **Grammar**
       The grammar also includes these connectors:
       * `/`    division or ratio (as an infix operator). For examples,
                `kBy/{email}` or `MiBy/10ms` (although you should almost never
                have `/s` in a metric `unit`; rates should always be computed at
                query time from the underlying cumulative or delta value).
       * `.`    multiplication or composition (as an infix operator). For
                examples, `GBy.d` or `k{watt}.h`.
       The grammar for a unit is as follows:
           Expression = Component { "." Component } { "/" Component } ;
           Component = ( [ PREFIX ] UNIT | "%" ) [ Annotation ]
                     | Annotation
                     | "1"
                     ;
           Annotation = "{" NAME "}" ;
       Notes:
       * `Annotation` is just a comment if it follows a `UNIT`. If the annotation
          is used alone, then the unit is equivalent to `1`. For examples,
          `{request}/s == 1/s`, `By{transmitted}/s == By/s`.
       * `NAME` is a sequence of non-blank printable ASCII characters not
          containing `{` or `}`.
       * `1` represents a unitary [dimensionless
          unit](https://en.wikipedia.org/wiki/Dimensionless_quantity) of 1, such
          as in `1/s`. It is typically used when none of the basic units are
          appropriate. For example, "new users per day" can be represented as
          `1/d` or `{new-users}/d` (and a metric value `5` would mean "5 new
          users). Alternatively, "thousands of page views per day" would be
          represented as `1000/d` or `k1/d` or `k{page_views}/d` (and a metric
          value of `5.3` would mean "5300 page views per day").
       * `%` represents dimensionless value of 1/100, and annotates values giving
          a percentage (so the metric values are typically in the range of 0..100,
          and a metric value `3` means "3 percent").
       * `10^2.%` indicates a metric contains a ratio, typically in the range
          0..1, that will be multiplied by 100 and displayed as a percentage
          (so a metric value `0.03` means "3 percent").
       
      string unit = 5;
      Returns:
      This builder for chaining.
    • setUnitBytes

      public MetricDescriptor.Builder setUnitBytes(com.google.protobuf.ByteString value)
       The units in which the metric value is reported. It is only applicable
       if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The `unit`
       defines the representation of the stored metric values.
       Different systems might scale the values to be more easily displayed (so a
       value of `0.02kBy` _might_ be displayed as `20By`, and a value of
       `3523kBy` _might_ be displayed as `3.5MBy`). However, if the `unit` is
       `kBy`, then the value of the metric is always in thousands of bytes, no
       matter how it might be displayed.
       If you want a custom metric to record the exact number of CPU-seconds used
       by a job, you can create an `INT64 CUMULATIVE` metric whose `unit` is
       `s{CPU}` (or equivalently `1s{CPU}` or just `s`). If the job uses 12,005
       CPU-seconds, then the value is written as `12005`.
       Alternatively, if you want a custom metric to record data in a more
       granular way, you can create a `DOUBLE CUMULATIVE` metric whose `unit` is
       `ks{CPU}`, and then write the value `12.005` (which is `12005/1000`),
       or use `Kis{CPU}` and write `11.723` (which is `12005/1024`).
       The supported units are a subset of [The Unified Code for Units of
       Measure](https://unitsofmeasure.org/ucum.html) standard:
       **Basic units (UNIT)**
       * `bit`   bit
       * `By`    byte
       * `s`     second
       * `min`   minute
       * `h`     hour
       * `d`     day
       * `1`     dimensionless
       **Prefixes (PREFIX)**
       * `k`     kilo    (10^3)
       * `M`     mega    (10^6)
       * `G`     giga    (10^9)
       * `T`     tera    (10^12)
       * `P`     peta    (10^15)
       * `E`     exa     (10^18)
       * `Z`     zetta   (10^21)
       * `Y`     yotta   (10^24)
       * `m`     milli   (10^-3)
       * `u`     micro   (10^-6)
       * `n`     nano    (10^-9)
       * `p`     pico    (10^-12)
       * `f`     femto   (10^-15)
       * `a`     atto    (10^-18)
       * `z`     zepto   (10^-21)
       * `y`     yocto   (10^-24)
       * `Ki`    kibi    (2^10)
       * `Mi`    mebi    (2^20)
       * `Gi`    gibi    (2^30)
       * `Ti`    tebi    (2^40)
       * `Pi`    pebi    (2^50)
       **Grammar**
       The grammar also includes these connectors:
       * `/`    division or ratio (as an infix operator). For examples,
                `kBy/{email}` or `MiBy/10ms` (although you should almost never
                have `/s` in a metric `unit`; rates should always be computed at
                query time from the underlying cumulative or delta value).
       * `.`    multiplication or composition (as an infix operator). For
                examples, `GBy.d` or `k{watt}.h`.
       The grammar for a unit is as follows:
           Expression = Component { "." Component } { "/" Component } ;
           Component = ( [ PREFIX ] UNIT | "%" ) [ Annotation ]
                     | Annotation
                     | "1"
                     ;
           Annotation = "{" NAME "}" ;
       Notes:
       * `Annotation` is just a comment if it follows a `UNIT`. If the annotation
          is used alone, then the unit is equivalent to `1`. For examples,
          `{request}/s == 1/s`, `By{transmitted}/s == By/s`.
       * `NAME` is a sequence of non-blank printable ASCII characters not
          containing `{` or `}`.
       * `1` represents a unitary [dimensionless
          unit](https://en.wikipedia.org/wiki/Dimensionless_quantity) of 1, such
          as in `1/s`. It is typically used when none of the basic units are
          appropriate. For example, "new users per day" can be represented as
          `1/d` or `{new-users}/d` (and a metric value `5` would mean "5 new
          users). Alternatively, "thousands of page views per day" would be
          represented as `1000/d` or `k1/d` or `k{page_views}/d` (and a metric
          value of `5.3` would mean "5300 page views per day").
       * `%` represents dimensionless value of 1/100, and annotates values giving
          a percentage (so the metric values are typically in the range of 0..100,
          and a metric value `3` means "3 percent").
       * `10^2.%` indicates a metric contains a ratio, typically in the range
          0..1, that will be multiplied by 100 and displayed as a percentage
          (so a metric value `0.03` means "3 percent").
       
      string unit = 5;
      Parameters:
      value - The bytes for unit to set.
      Returns:
      This builder for chaining.
    • getDescription

      public String getDescription()
       A detailed description of the metric, which can be used in documentation.
       
      string description = 6;
      Specified by:
      getDescription in interface MetricDescriptorOrBuilder
      Returns:
      The description.
    • getDescriptionBytes

      public com.google.protobuf.ByteString getDescriptionBytes()
       A detailed description of the metric, which can be used in documentation.
       
      string description = 6;
      Specified by:
      getDescriptionBytes in interface MetricDescriptorOrBuilder
      Returns:
      The bytes for description.
    • setDescription

      public MetricDescriptor.Builder setDescription(String value)
       A detailed description of the metric, which can be used in documentation.
       
      string description = 6;
      Parameters:
      value - The description to set.
      Returns:
      This builder for chaining.
    • clearDescription

      public MetricDescriptor.Builder clearDescription()
       A detailed description of the metric, which can be used in documentation.
       
      string description = 6;
      Returns:
      This builder for chaining.
    • setDescriptionBytes

      public MetricDescriptor.Builder setDescriptionBytes(com.google.protobuf.ByteString value)
       A detailed description of the metric, which can be used in documentation.
       
      string description = 6;
      Parameters:
      value - The bytes for description to set.
      Returns:
      This builder for chaining.
    • getDisplayName

      public String getDisplayName()
       A concise name for the metric, which can be displayed in user interfaces.
       Use sentence case without an ending period, for example "Request count".
       This field is optional but it is recommended to be set for any metrics
       associated with user-visible concepts, such as Quota.
       
      string display_name = 7;
      Specified by:
      getDisplayName in interface MetricDescriptorOrBuilder
      Returns:
      The displayName.
    • getDisplayNameBytes

      public com.google.protobuf.ByteString getDisplayNameBytes()
       A concise name for the metric, which can be displayed in user interfaces.
       Use sentence case without an ending period, for example "Request count".
       This field is optional but it is recommended to be set for any metrics
       associated with user-visible concepts, such as Quota.
       
      string display_name = 7;
      Specified by:
      getDisplayNameBytes in interface MetricDescriptorOrBuilder
      Returns:
      The bytes for displayName.
    • setDisplayName

      public MetricDescriptor.Builder setDisplayName(String value)
       A concise name for the metric, which can be displayed in user interfaces.
       Use sentence case without an ending period, for example "Request count".
       This field is optional but it is recommended to be set for any metrics
       associated with user-visible concepts, such as Quota.
       
      string display_name = 7;
      Parameters:
      value - The displayName to set.
      Returns:
      This builder for chaining.
    • clearDisplayName

      public MetricDescriptor.Builder clearDisplayName()
       A concise name for the metric, which can be displayed in user interfaces.
       Use sentence case without an ending period, for example "Request count".
       This field is optional but it is recommended to be set for any metrics
       associated with user-visible concepts, such as Quota.
       
      string display_name = 7;
      Returns:
      This builder for chaining.
    • setDisplayNameBytes

      public MetricDescriptor.Builder setDisplayNameBytes(com.google.protobuf.ByteString value)
       A concise name for the metric, which can be displayed in user interfaces.
       Use sentence case without an ending period, for example "Request count".
       This field is optional but it is recommended to be set for any metrics
       associated with user-visible concepts, such as Quota.
       
      string display_name = 7;
      Parameters:
      value - The bytes for displayName to set.
      Returns:
      This builder for chaining.
    • hasMetadata

      public boolean hasMetadata()
       Optional. Metadata which can be used to guide usage of the metric.
       
      .google.api.MetricDescriptor.MetricDescriptorMetadata metadata = 10;
      Specified by:
      hasMetadata in interface MetricDescriptorOrBuilder
      Returns:
      Whether the metadata field is set.
    • getMetadata

       Optional. Metadata which can be used to guide usage of the metric.
       
      .google.api.MetricDescriptor.MetricDescriptorMetadata metadata = 10;
      Specified by:
      getMetadata in interface MetricDescriptorOrBuilder
      Returns:
      The metadata.
    • setMetadata

       Optional. Metadata which can be used to guide usage of the metric.
       
      .google.api.MetricDescriptor.MetricDescriptorMetadata metadata = 10;
    • setMetadata

       Optional. Metadata which can be used to guide usage of the metric.
       
      .google.api.MetricDescriptor.MetricDescriptorMetadata metadata = 10;
    • mergeMetadata

       Optional. Metadata which can be used to guide usage of the metric.
       
      .google.api.MetricDescriptor.MetricDescriptorMetadata metadata = 10;
    • clearMetadata

      public MetricDescriptor.Builder clearMetadata()
       Optional. Metadata which can be used to guide usage of the metric.
       
      .google.api.MetricDescriptor.MetricDescriptorMetadata metadata = 10;
    • getMetadataBuilder

       Optional. Metadata which can be used to guide usage of the metric.
       
      .google.api.MetricDescriptor.MetricDescriptorMetadata metadata = 10;
    • getMetadataOrBuilder

       Optional. Metadata which can be used to guide usage of the metric.
       
      .google.api.MetricDescriptor.MetricDescriptorMetadata metadata = 10;
      Specified by:
      getMetadataOrBuilder in interface MetricDescriptorOrBuilder
    • getLaunchStageValue

      public int getLaunchStageValue()
       Optional. The launch stage of the metric definition.
       
      .google.api.LaunchStage launch_stage = 12;
      Specified by:
      getLaunchStageValue in interface MetricDescriptorOrBuilder
      Returns:
      The enum numeric value on the wire for launchStage.
    • setLaunchStageValue

      public MetricDescriptor.Builder setLaunchStageValue(int value)
       Optional. The launch stage of the metric definition.
       
      .google.api.LaunchStage launch_stage = 12;
      Parameters:
      value - The enum numeric value on the wire for launchStage to set.
      Returns:
      This builder for chaining.
    • getLaunchStage

      public LaunchStage getLaunchStage()
       Optional. The launch stage of the metric definition.
       
      .google.api.LaunchStage launch_stage = 12;
      Specified by:
      getLaunchStage in interface MetricDescriptorOrBuilder
      Returns:
      The launchStage.
    • setLaunchStage

      public MetricDescriptor.Builder setLaunchStage(LaunchStage value)
       Optional. The launch stage of the metric definition.
       
      .google.api.LaunchStage launch_stage = 12;
      Parameters:
      value - The launchStage to set.
      Returns:
      This builder for chaining.
    • clearLaunchStage

      public MetricDescriptor.Builder clearLaunchStage()
       Optional. The launch stage of the metric definition.
       
      .google.api.LaunchStage launch_stage = 12;
      Returns:
      This builder for chaining.
    • getMonitoredResourceTypesList

      public com.google.protobuf.ProtocolStringList getMonitoredResourceTypesList()
       Read-only. If present, then a [time
       series][google.monitoring.v3.TimeSeries], which is identified partially by
       a metric type and a [MonitoredResourceDescriptor][google.api.MonitoredResourceDescriptor], that is associated
       with this metric type can only be associated with one of the monitored
       resource types listed here.
       
      repeated string monitored_resource_types = 13;
      Specified by:
      getMonitoredResourceTypesList in interface MetricDescriptorOrBuilder
      Returns:
      A list containing the monitoredResourceTypes.
    • getMonitoredResourceTypesCount

      public int getMonitoredResourceTypesCount()
       Read-only. If present, then a [time
       series][google.monitoring.v3.TimeSeries], which is identified partially by
       a metric type and a [MonitoredResourceDescriptor][google.api.MonitoredResourceDescriptor], that is associated
       with this metric type can only be associated with one of the monitored
       resource types listed here.
       
      repeated string monitored_resource_types = 13;
      Specified by:
      getMonitoredResourceTypesCount in interface MetricDescriptorOrBuilder
      Returns:
      The count of monitoredResourceTypes.
    • getMonitoredResourceTypes

      public String getMonitoredResourceTypes(int index)
       Read-only. If present, then a [time
       series][google.monitoring.v3.TimeSeries], which is identified partially by
       a metric type and a [MonitoredResourceDescriptor][google.api.MonitoredResourceDescriptor], that is associated
       with this metric type can only be associated with one of the monitored
       resource types listed here.
       
      repeated string monitored_resource_types = 13;
      Specified by:
      getMonitoredResourceTypes in interface MetricDescriptorOrBuilder
      Parameters:
      index - The index of the element to return.
      Returns:
      The monitoredResourceTypes at the given index.
    • getMonitoredResourceTypesBytes

      public com.google.protobuf.ByteString getMonitoredResourceTypesBytes(int index)
       Read-only. If present, then a [time
       series][google.monitoring.v3.TimeSeries], which is identified partially by
       a metric type and a [MonitoredResourceDescriptor][google.api.MonitoredResourceDescriptor], that is associated
       with this metric type can only be associated with one of the monitored
       resource types listed here.
       
      repeated string monitored_resource_types = 13;
      Specified by:
      getMonitoredResourceTypesBytes in interface MetricDescriptorOrBuilder
      Parameters:
      index - The index of the value to return.
      Returns:
      The bytes of the monitoredResourceTypes at the given index.
    • setMonitoredResourceTypes

      public MetricDescriptor.Builder setMonitoredResourceTypes(int index, String value)
       Read-only. If present, then a [time
       series][google.monitoring.v3.TimeSeries], which is identified partially by
       a metric type and a [MonitoredResourceDescriptor][google.api.MonitoredResourceDescriptor], that is associated
       with this metric type can only be associated with one of the monitored
       resource types listed here.
       
      repeated string monitored_resource_types = 13;
      Parameters:
      index - The index to set the value at.
      value - The monitoredResourceTypes to set.
      Returns:
      This builder for chaining.
    • addMonitoredResourceTypes

      public MetricDescriptor.Builder addMonitoredResourceTypes(String value)
       Read-only. If present, then a [time
       series][google.monitoring.v3.TimeSeries], which is identified partially by
       a metric type and a [MonitoredResourceDescriptor][google.api.MonitoredResourceDescriptor], that is associated
       with this metric type can only be associated with one of the monitored
       resource types listed here.
       
      repeated string monitored_resource_types = 13;
      Parameters:
      value - The monitoredResourceTypes to add.
      Returns:
      This builder for chaining.
    • addAllMonitoredResourceTypes

      public MetricDescriptor.Builder addAllMonitoredResourceTypes(Iterable<String> values)
       Read-only. If present, then a [time
       series][google.monitoring.v3.TimeSeries], which is identified partially by
       a metric type and a [MonitoredResourceDescriptor][google.api.MonitoredResourceDescriptor], that is associated
       with this metric type can only be associated with one of the monitored
       resource types listed here.
       
      repeated string monitored_resource_types = 13;
      Parameters:
      values - The monitoredResourceTypes to add.
      Returns:
      This builder for chaining.
    • clearMonitoredResourceTypes

      public MetricDescriptor.Builder clearMonitoredResourceTypes()
       Read-only. If present, then a [time
       series][google.monitoring.v3.TimeSeries], which is identified partially by
       a metric type and a [MonitoredResourceDescriptor][google.api.MonitoredResourceDescriptor], that is associated
       with this metric type can only be associated with one of the monitored
       resource types listed here.
       
      repeated string monitored_resource_types = 13;
      Returns:
      This builder for chaining.
    • addMonitoredResourceTypesBytes

      public MetricDescriptor.Builder addMonitoredResourceTypesBytes(com.google.protobuf.ByteString value)
       Read-only. If present, then a [time
       series][google.monitoring.v3.TimeSeries], which is identified partially by
       a metric type and a [MonitoredResourceDescriptor][google.api.MonitoredResourceDescriptor], that is associated
       with this metric type can only be associated with one of the monitored
       resource types listed here.
       
      repeated string monitored_resource_types = 13;
      Parameters:
      value - The bytes of the monitoredResourceTypes to add.
      Returns:
      This builder for chaining.
    • setUnknownFields

      public final MetricDescriptor.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
      Specified by:
      setUnknownFields in interface com.google.protobuf.Message.Builder
      Overrides:
      setUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<MetricDescriptor.Builder>
    • mergeUnknownFields

      public final MetricDescriptor.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
      Specified by:
      mergeUnknownFields in interface com.google.protobuf.Message.Builder
      Overrides:
      mergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<MetricDescriptor.Builder>