Class Metric

java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessage
io.opentelemetry.proto.metrics.v1.Metric
All Implemented Interfaces:
com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, MetricOrBuilder, Serializable

public final class Metric extends com.google.protobuf.GeneratedMessage 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/data-model.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
See Also:
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static final class 
    Defines a Metric which has one or more timeseries.
    static enum 
     

    Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessage

    com.google.protobuf.GeneratedMessage.ExtendableBuilder<MessageT extends com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>,BuilderT extends com.google.protobuf.GeneratedMessage.ExtendableBuilder<MessageT,BuilderT>>, com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT extends com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessage.ExtendableMessageOrBuilder<MessageT extends com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessage.FieldAccessorTable, com.google.protobuf.GeneratedMessage.GeneratedExtension<ContainingT extends com.google.protobuf.Message,T extends Object>, com.google.protobuf.GeneratedMessage.UnusedPrivateParameter

    Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessage

    com.google.protobuf.AbstractMessage.BuilderParent

    Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite

    com.google.protobuf.AbstractMessageLite.InternalOneOfEnum
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     

    Fields inherited from class com.google.protobuf.GeneratedMessage

    alwaysUseFieldBuilders, unknownFields

    Fields inherited from class com.google.protobuf.AbstractMessage

    memoizedSize

    Fields inherited from class com.google.protobuf.AbstractMessageLite

    memoizedHashCode
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
     
     
    static Metric
     
     
    description of the metric, which can be used in documentation.
    com.google.protobuf.ByteString
    description of the metric, which can be used in documentation.
    static final com.google.protobuf.Descriptors.Descriptor
     
    .opentelemetry.proto.metrics.v1.ExponentialHistogram exponential_histogram = 10;
    .opentelemetry.proto.metrics.v1.ExponentialHistogram exponential_histogram = 10;
    .opentelemetry.proto.metrics.v1.Gauge gauge = 5;
    .opentelemetry.proto.metrics.v1.Gauge gauge = 5;
    .opentelemetry.proto.metrics.v1.Histogram histogram = 9;
    .opentelemetry.proto.metrics.v1.Histogram histogram = 9;
    getMetadata(int index)
    Additional metadata attributes that describe the metric.
    int
    Additional metadata attributes that describe the metric.
    Additional metadata attributes that describe the metric.
    Additional metadata attributes that describe the metric.
    Additional metadata attributes that describe the metric.
    name of the metric.
    com.google.protobuf.ByteString
    name of the metric.
    com.google.protobuf.Parser<Metric>
     
    int
     
    .opentelemetry.proto.metrics.v1.Sum sum = 7;
    .opentelemetry.proto.metrics.v1.Summary summary = 11;
    .opentelemetry.proto.metrics.v1.Summary summary = 11;
    .opentelemetry.proto.metrics.v1.Sum sum = 7;
    unit in which the metric value is reported.
    com.google.protobuf.ByteString
    unit in which the metric value is reported.
    boolean
    .opentelemetry.proto.metrics.v1.ExponentialHistogram exponential_histogram = 10;
    boolean
    .opentelemetry.proto.metrics.v1.Gauge gauge = 5;
    int
     
    boolean
    .opentelemetry.proto.metrics.v1.Histogram histogram = 9;
    boolean
    .opentelemetry.proto.metrics.v1.Sum sum = 7;
    boolean
    .opentelemetry.proto.metrics.v1.Summary summary = 11;
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
     
    final boolean
     
     
    newBuilder(Metric prototype)
     
     
    protected Metric.Builder
    newBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent)
     
    static Metric
     
    static Metric
    parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
    static Metric
    parseFrom(byte[] data)
     
    static Metric
    parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
    static Metric
    parseFrom(com.google.protobuf.ByteString data)
     
    static Metric
    parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
    static Metric
    parseFrom(com.google.protobuf.CodedInputStream input)
     
    static Metric
    parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
    static Metric
     
    static Metric
    parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
    static Metric
     
    static Metric
    parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
    static com.google.protobuf.Parser<Metric>
     
     
    void
    writeTo(com.google.protobuf.CodedOutputStream output)
     

    Methods inherited from class com.google.protobuf.GeneratedMessage

    canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyList, emptyLongList, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, isStringEmpty, makeMutableCopy, makeMutableCopy, mergeFromAndMakeImmutableInternal, newFileScopedGeneratedExtension, newInstance, newMessageScopedGeneratedExtension, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTag

    Methods inherited from class com.google.protobuf.AbstractMessage

    findInitializationErrors, getInitializationErrorString, hashFields, toString

    Methods inherited from class com.google.protobuf.AbstractMessageLite

    addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeTo

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface com.google.protobuf.MessageLite

    toByteArray, toByteString, writeDelimitedTo, writeTo

    Methods inherited from interface com.google.protobuf.MessageOrBuilder

    findInitializationErrors, getAllFields, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
  • Field Details

  • Method Details

    • getDescriptor

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

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage
    • getDataCase

      public Metric.DataCase getDataCase()
      Specified by:
      getDataCase in interface MetricOrBuilder
    • getName

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

      public com.google.protobuf.ByteString getNameBytes()
       name of the metric.
       
      string name = 1;
      Specified by:
      getNameBytes in interface MetricOrBuilder
      Returns:
      The bytes for name.
    • 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.
    • 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.
    • 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.
    • getGaugeOrBuilder

      public GaugeOrBuilder getGaugeOrBuilder()
      .opentelemetry.proto.metrics.v1.Gauge gauge = 5;
      Specified by:
      getGaugeOrBuilder in interface MetricOrBuilder
    • 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.
    • getSumOrBuilder

      public SumOrBuilder getSumOrBuilder()
      .opentelemetry.proto.metrics.v1.Sum sum = 7;
      Specified by:
      getSumOrBuilder in interface MetricOrBuilder
    • 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.
    • getHistogramOrBuilder

      public HistogramOrBuilder getHistogramOrBuilder()
      .opentelemetry.proto.metrics.v1.Histogram histogram = 9;
      Specified by:
      getHistogramOrBuilder in interface MetricOrBuilder
    • 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.
    • getExponentialHistogram

      public ExponentialHistogram getExponentialHistogram()
      .opentelemetry.proto.metrics.v1.ExponentialHistogram exponential_histogram = 10;
      Specified by:
      getExponentialHistogram in interface MetricOrBuilder
      Returns:
      The exponentialHistogram.
    • getExponentialHistogramOrBuilder

      public ExponentialHistogramOrBuilder getExponentialHistogramOrBuilder()
      .opentelemetry.proto.metrics.v1.ExponentialHistogram exponential_histogram = 10;
      Specified by:
      getExponentialHistogramOrBuilder in interface MetricOrBuilder
    • 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.
    • getSummaryOrBuilder

      public SummaryOrBuilder getSummaryOrBuilder()
      .opentelemetry.proto.metrics.v1.Summary summary = 11;
      Specified by:
      getSummaryOrBuilder in interface MetricOrBuilder
    • getMetadataList

      public List<KeyValue> getMetadataList()
       Additional metadata attributes that describe the metric. [Optional].
       Attributes are non-identifying.
       Consumers SHOULD NOT need to be aware of these attributes.
       These attributes MAY be used to encode information allowing
       for lossless roundtrip translation to / from another data model.
       Attribute keys MUST be unique (it is not allowed to have more than one
       attribute with the same key).
       
      repeated .opentelemetry.proto.common.v1.KeyValue metadata = 12;
      Specified by:
      getMetadataList in interface MetricOrBuilder
    • getMetadataOrBuilderList

      public List<? extends KeyValueOrBuilder> getMetadataOrBuilderList()
       Additional metadata attributes that describe the metric. [Optional].
       Attributes are non-identifying.
       Consumers SHOULD NOT need to be aware of these attributes.
       These attributes MAY be used to encode information allowing
       for lossless roundtrip translation to / from another data model.
       Attribute keys MUST be unique (it is not allowed to have more than one
       attribute with the same key).
       
      repeated .opentelemetry.proto.common.v1.KeyValue metadata = 12;
      Specified by:
      getMetadataOrBuilderList in interface MetricOrBuilder
    • getMetadataCount

      public int getMetadataCount()
       Additional metadata attributes that describe the metric. [Optional].
       Attributes are non-identifying.
       Consumers SHOULD NOT need to be aware of these attributes.
       These attributes MAY be used to encode information allowing
       for lossless roundtrip translation to / from another data model.
       Attribute keys MUST be unique (it is not allowed to have more than one
       attribute with the same key).
       
      repeated .opentelemetry.proto.common.v1.KeyValue metadata = 12;
      Specified by:
      getMetadataCount in interface MetricOrBuilder
    • getMetadata

      public KeyValue getMetadata(int index)
       Additional metadata attributes that describe the metric. [Optional].
       Attributes are non-identifying.
       Consumers SHOULD NOT need to be aware of these attributes.
       These attributes MAY be used to encode information allowing
       for lossless roundtrip translation to / from another data model.
       Attribute keys MUST be unique (it is not allowed to have more than one
       attribute with the same key).
       
      repeated .opentelemetry.proto.common.v1.KeyValue metadata = 12;
      Specified by:
      getMetadata in interface MetricOrBuilder
    • getMetadataOrBuilder

      public KeyValueOrBuilder getMetadataOrBuilder(int index)
       Additional metadata attributes that describe the metric. [Optional].
       Attributes are non-identifying.
       Consumers SHOULD NOT need to be aware of these attributes.
       These attributes MAY be used to encode information allowing
       for lossless roundtrip translation to / from another data model.
       Attribute keys MUST be unique (it is not allowed to have more than one
       attribute with the same key).
       
      repeated .opentelemetry.proto.common.v1.KeyValue metadata = 12;
      Specified by:
      getMetadataOrBuilder in interface MetricOrBuilder
    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessage
    • writeTo

      public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException
      Specified by:
      writeTo in interface com.google.protobuf.MessageLite
      Overrides:
      writeTo in class com.google.protobuf.GeneratedMessage
      Throws:
      IOException
    • getSerializedSize

      public int getSerializedSize()
      Specified by:
      getSerializedSize in interface com.google.protobuf.MessageLite
      Overrides:
      getSerializedSize in class com.google.protobuf.GeneratedMessage
    • equals

      public boolean equals(Object obj)
      Specified by:
      equals in interface com.google.protobuf.Message
      Overrides:
      equals in class com.google.protobuf.AbstractMessage
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in interface com.google.protobuf.Message
      Overrides:
      hashCode in class com.google.protobuf.AbstractMessage
    • parseFrom

      public static Metric parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static Metric parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static Metric parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static Metric parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static Metric parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static Metric parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static Metric parseFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static Metric parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static Metric parseDelimitedFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static Metric parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseFrom

      public static Metric parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static Metric parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • newBuilderForType

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

      public static Metric.Builder newBuilder()
    • newBuilder

      public static Metric.Builder newBuilder(Metric prototype)
    • toBuilder

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

      protected Metric.Builder newBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent)
      Overrides:
      newBuilderForType in class com.google.protobuf.AbstractMessage
    • getDefaultInstance

      public static Metric getDefaultInstance()
    • parser

      public static com.google.protobuf.Parser<Metric> parser()
    • getParserForType

      public com.google.protobuf.Parser<Metric> getParserForType()
      Specified by:
      getParserForType in interface com.google.protobuf.Message
      Specified by:
      getParserForType in interface com.google.protobuf.MessageLite
      Overrides:
      getParserForType in class com.google.protobuf.GeneratedMessage
    • getDefaultInstanceForType

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