Get desktop application:
View/edit binary Protocol Buffers messages
DoubleDataPoint is a single data point in a timeseries that describes the time-varying value of a double metric.
Used in:
The set of labels that uniquely identify this timeseries.
start_time_unix_nano is the time when the cumulative value was reset to zero. This is used for Counter type only. For Gauge the value is not specified and defaults to 0. The cumulative value is over the time interval (start_time_unix_nano, time_unix_nano]. Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January 1970. Value of 0 indicates that the timestamp is unspecified. In that case the timestamp may be decided by the backend.
time_unix_nano is the moment when this value was recorded. Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January 1970.
value itself.
HistogramDataPoint is a single data point in a timeseries that describes the time-varying values of a Histogram. A Histogram contains summary statistics for a population of values, it may optionally contain the distribution of those values across a set of buckets.
Used in:
The set of labels that uniquely identify this timeseries.
start_time_unix_nano is the time when the cumulative value was reset to zero. The cumulative value is over the time interval (start_time_unix_nano, time_unix_nano]. Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January 1970. Value of 0 indicates that the timestamp is unspecified. In that case the timestamp may be decided by the backend. Note: this field is always unspecified and ignored if MetricDescriptor.type==GAUGE_HISTOGRAM.
time_unix_nano is the moment when this value was recorded. Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January 1970.
count is the number of values in the population. Must be non-negative. This value must be equal to the sum of the "count" fields in buckets if a histogram is provided.
sum of the values in the population. If count is zero then this field must be zero. This value must be equal to the sum of the "sum" fields in buckets if a histogram is provided.
buckets is an optional field contains the values of histogram for each bucket. The sum of the values in the buckets "count" field must equal the value in the count field. The number of elements in buckets array must be by one greater than the number of elements in bucket_bounds array. Note: if HistogramDataPoint.bucket_options defines bucket bounds then this field must also be present and number of elements in this field must be equal to the number of buckets defined by bucket_options.
explicit_bounds specifies buckets with explicitly defined bounds for values. The bucket boundaries are described by "bounds" field. This defines size(bounds) + 1 (= N) buckets. The boundaries for bucket at index i are: [0, bounds[i]) for i == 0 [bounds[i-1], bounds[i]) for 0 < i < N-1 [bounds[i], +infinity) for i == N-1 The values in bounds array must be strictly increasing and > 0. Note: only [a, b) intervals are currently supported for each bucket. If we decides to also support (a, b] intervals we should add support for these by defining a boolean value which decides what type of intervals to use.
Bucket contains values for a bucket.
Used in:
The number of values in each bucket of the histogram, as described by bucket_options.
exemplar is an optional representative value of the bucket.
Exemplars are example points that may be used to annotate aggregated Histogram values. They are metadata that gives information about a particular value added to a Histogram bucket.
Used in:
Value of the exemplar point. It determines which bucket the exemplar belongs to. If bucket_options define bounds for this bucket then this value must be within the defined bounds.
time_unix_nano is the moment when this exemplar was recorded. Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January 1970.
exemplar_attachments are contextual information about the example value. Keys in this list must be unique.
A collection of Metrics produced by an InstrumentationLibrary.
Used in:
The instrumentation library information for the metrics in this message. If this field is not set then no library info is known.
A list of metrics that originate from an instrumentation library.
Int64DataPoint is a single data point in a timeseries that describes the time-varying values of a int64 metric.
Used in:
The set of labels that uniquely identify this timeseries.
start_time_unix_nano is the time when the cumulative value was reset to zero. This is used for Counter type only. For Gauge the value is not specified and defaults to 0. The cumulative value is over the time interval (start_time_unix_nano, time_unix_nano]. Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January 1970. Value of 0 indicates that the timestamp is unspecified. In that case the timestamp may be decided by the backend.
time_unix_nano is the moment when this value was recorded. Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January 1970.
value itself.
Defines a Metric which has one or more timeseries. The data model and relation between entities is shown in the diagram below. - Metric is composed of a MetricDescriptor and a list of data points. - MetricDescriptor contains a list of label keys (shown horizontally). - Data is a list of DataPoints (shown vertically). - DataPoint contains a list of label values and a value. Metric +----------+ +------------------------+ |descriptor|-------->| MetricDescriptor | | | |+-----+-----+ +-----+ | | | ||label|label|...|label| | | data|--+ ||key1 |key2 | |keyN | | +----------+ | |+-----+-----+ +-----+ | | +------------------------+ | | +---------------------------+ | |DataPoint 1 | v |+------+------+ +------+ | +-----+ ||label |label |...|label | | | 1 |-->||value1|value2|...|valueN| | +-----+ |+------+------+ +------+ | | . | |+-----+ | | . | ||value| | | . | |+-----+ | | . | +---------------------------+ | . | . | . | . | . | . | . | +---------------------------+ | . | |DataPoint M | +-----+ |+------+------+ +------+ | | M |-->||label |label |...|label | | +-----+ ||value1|value2|...|valueN| | |+------+------+ +------+ | |+-----+ | ||value| | |+-----+ | +---------------------------+ ----------------------------------------------------------------------- DataPoint is a value of specific type corresponding to a given moment in time. Each DataPoint is timestamped. DataPoint is strongly typed: each DataPoint type has a specific Protobuf message depending on the value type of the metric and thus there are currently 4 DataPoint messages, which correspond to the types of metric values.
Used in:
metric_descriptor describes the Metric.
Data is a list of one or more DataPoints for a single metric. Only one of the following fields is used for the data, depending on the type of the metric defined by MetricDescriptor.type field.
Defines a metric type and its schema.
Used in:
name of the metric, including its DNS name prefix. It must be unique.
description of the metric, which can be used in documentation.
unit in which the metric value is reported. Follows the format described by http://unitsofmeasure.org/ucum.html.
type is the type of values this metric has.
temporality is the Temporality of values this metric has.
Temporality is the temporal quality values of a metric have. It describes how those values relate to the time interval over which they are reported.
Used in:
INVALID_TEMPORALITY is the default Temporality, it MUST not be used.
INSTANTANEOUS is a metric whose values are measured at a particular instant. The values are not aggregated over any time interval and are unique per timestamp. As such, these metrics are not expected to have an associated start time.
DELTA is a metric whose values are the aggregation of measurements made over a time interval. Successive metrics contain aggregation of values from continuous and non-overlapping intervals. The values for a DELTA metric are based only on the time interval associated with one measurement cycle. There is no dependency on previous measurements like is the case for CUMULATIVE metrics. For example, consider a system measuring the number of requests that it receives and reports the sum of these requests every second as a DELTA metric: 1. The system starts receiving at time=t_0. 2. A request is received, the system measures 1 request. 3. A request is received, the system measures 1 request. 4. A request is received, the system measures 1 request. 5. The 1 second collection cycle ends. A metric is exported for the number of requests received over the interval of time t_0 to t_0+1 with a value of 3. 6. A request is received, the system measures 1 request. 7. A request is received, the system measures 1 request. 8. The 1 second collection cycle ends. A metric is exported for the number of requests received over the interval of time t_0+1 to t_0+2 with a value of 2.
CUMULATIVE is a metric whose values are the aggregation of successively made measurements from a fixed start time until the last reported measurement. This means that current values of a CUMULATIVE metric depend on all previous measurements since the start time. Because of this, the sender is required to retain this state in some form. If this state is lost or invalidated, the CUMULATIVE metric values MUST be reset and a new fixed start time following the last reported measurement time sent MUST be used. For example, consider a system measuring the number of requests that it receives and reports the sum of these requests every second as a CUMULATIVE metric: 1. The system starts receiving at time=t_0. 2. A request is received, the system measures 1 request. 3. A request is received, the system measures 1 request. 4. A request is received, the system measures 1 request. 5. The 1 second collection cycle ends. A metric is exported for the number of requests received over the interval of time t_0 to t_0+1 with a value of 3. 6. A request is received, the system measures 1 request. 7. A request is received, the system measures 1 request. 8. The 1 second collection cycle ends. A metric is exported for the number of requests received over the interval of time t_0 to t_0+2 with a value of 5. 9. The system experiences a fault and loses state. 10. The system recovers and resumes receiving at time=t_1. 11. A request is received, the system measures 1 request. 12. The 1 second collection cycle ends. A metric is exported for the number of requests received over the interval of time t_1 to t_0+1 with a value of 1.
Type is the type of values a metric has.
Used in:
INVALID_TYPE is the default Type, it MUST not be used.
INT64 values are represents as signed 64-bit integers. A Metric of this Type MUST store its values as Int64DataPoint.
DOUBLE values are represents as double-precision floating-point numbers. A Metric of this Type MUST store its values as DoubleDataPoint.
Histogram measurement. Corresponding values are stored in HistogramDataPoint.
Summary value. Some frameworks implemented Histograms as a summary of observations (usually things like request durations and response sizes). While it also provides a total count of observations and a sum of all observed values, it calculates configurable percentiles over a sliding time window. Corresponding values are stored in SummaryDataPoint.
A collection of InstrumentationLibraryMetrics from a Resource.
Used in:
The resource for the metrics in this message. If this field is not set then no resource info is known.
A list of metrics that originate from a resource.
SummaryDataPoint is a single data point in a timeseries that describes the time-varying values of a Summary metric.
Used in:
The set of labels that uniquely identify this timeseries.
start_time_unix_nano is the time when the cumulative value was reset to zero. The cumulative value is over the time interval (start_time_unix_nano, time_unix_nano]. Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January 1970. Value of 0 indicates that the timestamp is unspecified. In that case the timestamp may be decided by the backend.
time_unix_nano is the moment when this value was recorded. Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January 1970.
The total number of recorded values since start_time. Optional since some systems don't expose this.
The total sum of recorded values since start_time. Optional since some systems don't expose this. If count is zero then this field must be zero.
A list of values at different percentiles of the distribution calculated from the current snapshot. The percentiles must be strictly increasing.
Represents the value at a given percentile of a distribution. To record Min and Max values following conventions are used: - The 100th percentile is equivalent to the maximum value observed. - The 0th percentile is equivalent to the minimum value observed. See the following issue for more context: https://github.com/open-telemetry/opentelemetry-proto/issues/125
Used in:
The percentile of a distribution. Must be in the interval [0.0, 100.0].
The value at the given percentile of a distribution.