Class Metric.Builder

  • All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, MetricOrBuilder, Cloneable
    Enclosing class:
    Metric

    public static final class Metric.Builder
    extends com.google.protobuf.GeneratedMessageV3.Builder<Metric.Builder>
    implements MetricOrBuilder
     Defines a Metric which has one or more timeseries.  The following is a
     brief summary of the Metric data model.  For more details, see:
       https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/datamodel.md
     The data model and relation between entities is shown in the
     diagram below. Here, "DataPoint" is the term used to refer to any
     one of the specific data point value types, and "points" is the term used
     to refer to any one of the lists of points contained in the Metric.
     - Metric is composed of a metadata and data.
     - Metadata part contains a name, description, unit.
     - Data is one of the possible types (Sum, Gauge, Histogram, Summary).
     - DataPoint contains timestamps, attributes, and one of the possible value type
       fields.
         Metric
      +------------+
      |name        |
      |description |
      |unit        |     +------------------------------------+
      |data        |---> |Gauge, Sum, Histogram, Summary, ... |
      +------------+     +------------------------------------+
        Data [One of Gauge, Sum, Histogram, Summary, ...]
      +-----------+
      |...        |  // Metadata about the Data.
      |points     |--+
      +-----------+  |
                     |      +---------------------------+
                     |      |DataPoint 1                |
                     v      |+------+------+   +------+ |
                  +-----+   ||label |label |...|label | |
                  |  1  |-->||value1|value2|...|valueN| |
                  +-----+   |+------+------+   +------+ |
                  |  .  |   |+-----+                    |
                  |  .  |   ||value|                    |
                  |  .  |   |+-----+                    |
                  |  .  |   +---------------------------+
                  |  .  |                   .
                  |  .  |                   .
                  |  .  |                   .
                  |  .  |   +---------------------------+
                  |  .  |   |DataPoint M                |
                  +-----+   |+------+------+   +------+ |
                  |  M  |-->||label |label |...|label | |
                  +-----+   ||value1|value2|...|valueN| |
                            |+------+------+   +------+ |
                            |+-----+                    |
                            ||value|                    |
                            |+-----+                    |
                            +---------------------------+
     Each distinct type of DataPoint represents the output of a specific
     aggregation function, the result of applying the DataPoint's
     associated function of to one or more measurements.
     All DataPoint types have three common fields:
     - Attributes includes key-value pairs associated with the data point
     - TimeUnixNano is required, set to the end time of the aggregation
     - StartTimeUnixNano is optional, but strongly encouraged for DataPoints
       having an AggregationTemporality field, as discussed below.
     Both TimeUnixNano and StartTimeUnixNano values are expressed as
     UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January 1970.
     # TimeUnixNano
     This field is required, having consistent interpretation across
     DataPoint types.  TimeUnixNano is the moment corresponding to when
     the data point's aggregate value was captured.
     Data points with the 0 value for TimeUnixNano SHOULD be rejected
     by consumers.
     # StartTimeUnixNano
     StartTimeUnixNano in general allows detecting when a sequence of
     observations is unbroken.  This field indicates to consumers the
     start time for points with cumulative and delta
     AggregationTemporality, and it should be included whenever possible
     to support correct rate calculation.  Although it may be omitted
     when the start time is truly unknown, setting StartTimeUnixNano is
     strongly encouraged.
     
    Protobuf type opentelemetry.proto.metrics.v1.Metric
    • Method Detail

      • 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<Metric.Builder>
      • clear

        public Metric.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<Metric.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<Metric.Builder>
      • getDefaultInstanceForType

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

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

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

        public Metric.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<Metric.Builder>
      • setField

        public Metric.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<Metric.Builder>
      • clearField

        public Metric.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<Metric.Builder>
      • clearOneof

        public Metric.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<Metric.Builder>
      • setRepeatedField

        public Metric.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<Metric.Builder>
      • addRepeatedField

        public Metric.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<Metric.Builder>
      • mergeFrom

        public Metric.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<Metric.Builder>
      • isInitialized

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

        public Metric.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<Metric.Builder>
        Throws:
        IOException
      • getName

        public String getName()
         name of the metric, including its DNS name prefix. It must be unique.
         
        string name = 1;
        Specified by:
        getName in interface MetricOrBuilder
        Returns:
        The name.
      • getNameBytes

        public com.google.protobuf.ByteString getNameBytes()
         name of the metric, including its DNS name prefix. It must be unique.
         
        string name = 1;
        Specified by:
        getNameBytes in interface MetricOrBuilder
        Returns:
        The bytes for name.
      • setName

        public Metric.Builder setName​(String value)
         name of the metric, including its DNS name prefix. It must be unique.
         
        string name = 1;
        Parameters:
        value - The name to set.
        Returns:
        This builder for chaining.
      • clearName

        public Metric.Builder clearName()
         name of the metric, including its DNS name prefix. It must be unique.
         
        string name = 1;
        Returns:
        This builder for chaining.
      • setNameBytes

        public Metric.Builder setNameBytes​(com.google.protobuf.ByteString value)
         name of the metric, including its DNS name prefix. It must be unique.
         
        string name = 1;
        Parameters:
        value - The bytes for name to set.
        Returns:
        This builder for chaining.
      • getDescription

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

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

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

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

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

        public String getUnit()
         unit in which the metric value is reported. Follows the format
         described by http://unitsofmeasure.org/ucum.html.
         
        string unit = 3;
        Specified by:
        getUnit in interface MetricOrBuilder
        Returns:
        The unit.
      • getUnitBytes

        public com.google.protobuf.ByteString getUnitBytes()
         unit in which the metric value is reported. Follows the format
         described by http://unitsofmeasure.org/ucum.html.
         
        string unit = 3;
        Specified by:
        getUnitBytes in interface MetricOrBuilder
        Returns:
        The bytes for unit.
      • setUnit

        public Metric.Builder setUnit​(String value)
         unit in which the metric value is reported. Follows the format
         described by http://unitsofmeasure.org/ucum.html.
         
        string unit = 3;
        Parameters:
        value - The unit to set.
        Returns:
        This builder for chaining.
      • clearUnit

        public Metric.Builder clearUnit()
         unit in which the metric value is reported. Follows the format
         described by http://unitsofmeasure.org/ucum.html.
         
        string unit = 3;
        Returns:
        This builder for chaining.
      • setUnitBytes

        public Metric.Builder setUnitBytes​(com.google.protobuf.ByteString value)
         unit in which the metric value is reported. Follows the format
         described by http://unitsofmeasure.org/ucum.html.
         
        string unit = 3;
        Parameters:
        value - The bytes for unit to set.
        Returns:
        This builder for chaining.
      • hasGauge

        public boolean hasGauge()
        .opentelemetry.proto.metrics.v1.Gauge gauge = 5;
        Specified by:
        hasGauge in interface MetricOrBuilder
        Returns:
        Whether the gauge field is set.
      • getGauge

        public Gauge getGauge()
        .opentelemetry.proto.metrics.v1.Gauge gauge = 5;
        Specified by:
        getGauge in interface MetricOrBuilder
        Returns:
        The gauge.
      • setGauge

        public Metric.Builder setGauge​(Gauge value)
        .opentelemetry.proto.metrics.v1.Gauge gauge = 5;
      • mergeGauge

        public Metric.Builder mergeGauge​(Gauge value)
        .opentelemetry.proto.metrics.v1.Gauge gauge = 5;
      • clearGauge

        public Metric.Builder clearGauge()
        .opentelemetry.proto.metrics.v1.Gauge gauge = 5;
      • getGaugeBuilder

        public Gauge.Builder getGaugeBuilder()
        .opentelemetry.proto.metrics.v1.Gauge gauge = 5;
      • hasSum

        public boolean hasSum()
        .opentelemetry.proto.metrics.v1.Sum sum = 7;
        Specified by:
        hasSum in interface MetricOrBuilder
        Returns:
        Whether the sum field is set.
      • getSum

        public Sum getSum()
        .opentelemetry.proto.metrics.v1.Sum sum = 7;
        Specified by:
        getSum in interface MetricOrBuilder
        Returns:
        The sum.
      • setSum

        public Metric.Builder setSum​(Sum value)
        .opentelemetry.proto.metrics.v1.Sum sum = 7;
      • mergeSum

        public Metric.Builder mergeSum​(Sum value)
        .opentelemetry.proto.metrics.v1.Sum sum = 7;
      • clearSum

        public Metric.Builder clearSum()
        .opentelemetry.proto.metrics.v1.Sum sum = 7;
      • getSumBuilder

        public Sum.Builder getSumBuilder()
        .opentelemetry.proto.metrics.v1.Sum sum = 7;
      • hasHistogram

        public boolean hasHistogram()
        .opentelemetry.proto.metrics.v1.Histogram histogram = 9;
        Specified by:
        hasHistogram in interface MetricOrBuilder
        Returns:
        Whether the histogram field is set.
      • getHistogram

        public Histogram getHistogram()
        .opentelemetry.proto.metrics.v1.Histogram histogram = 9;
        Specified by:
        getHistogram in interface MetricOrBuilder
        Returns:
        The histogram.
      • setHistogram

        public Metric.Builder setHistogram​(Histogram value)
        .opentelemetry.proto.metrics.v1.Histogram histogram = 9;
      • mergeHistogram

        public Metric.Builder mergeHistogram​(Histogram value)
        .opentelemetry.proto.metrics.v1.Histogram histogram = 9;
      • clearHistogram

        public Metric.Builder clearHistogram()
        .opentelemetry.proto.metrics.v1.Histogram histogram = 9;
      • getHistogramBuilder

        public Histogram.Builder getHistogramBuilder()
        .opentelemetry.proto.metrics.v1.Histogram histogram = 9;
      • hasExponentialHistogram

        public boolean hasExponentialHistogram()
        .opentelemetry.proto.metrics.v1.ExponentialHistogram exponential_histogram = 10;
        Specified by:
        hasExponentialHistogram in interface MetricOrBuilder
        Returns:
        Whether the exponentialHistogram field is set.
      • setExponentialHistogram

        public Metric.Builder setExponentialHistogram​(ExponentialHistogram value)
        .opentelemetry.proto.metrics.v1.ExponentialHistogram exponential_histogram = 10;
      • mergeExponentialHistogram

        public Metric.Builder mergeExponentialHistogram​(ExponentialHistogram value)
        .opentelemetry.proto.metrics.v1.ExponentialHistogram exponential_histogram = 10;
      • clearExponentialHistogram

        public Metric.Builder clearExponentialHistogram()
        .opentelemetry.proto.metrics.v1.ExponentialHistogram exponential_histogram = 10;
      • getExponentialHistogramBuilder

        public ExponentialHistogram.Builder getExponentialHistogramBuilder()
        .opentelemetry.proto.metrics.v1.ExponentialHistogram exponential_histogram = 10;
      • hasSummary

        public boolean hasSummary()
        .opentelemetry.proto.metrics.v1.Summary summary = 11;
        Specified by:
        hasSummary in interface MetricOrBuilder
        Returns:
        Whether the summary field is set.
      • getSummary

        public Summary getSummary()
        .opentelemetry.proto.metrics.v1.Summary summary = 11;
        Specified by:
        getSummary in interface MetricOrBuilder
        Returns:
        The summary.
      • setSummary

        public Metric.Builder setSummary​(Summary value)
        .opentelemetry.proto.metrics.v1.Summary summary = 11;
      • mergeSummary

        public Metric.Builder mergeSummary​(Summary value)
        .opentelemetry.proto.metrics.v1.Summary summary = 11;
      • clearSummary

        public Metric.Builder clearSummary()
        .opentelemetry.proto.metrics.v1.Summary summary = 11;
      • getSummaryBuilder

        public Summary.Builder getSummaryBuilder()
        .opentelemetry.proto.metrics.v1.Summary summary = 11;
      • setUnknownFields

        public final Metric.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<Metric.Builder>
      • mergeUnknownFields

        public final Metric.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<Metric.Builder>