Skip to content

Commit c5341db

Browse files
cnnradamsbogdandrutu
authored andcommitted
Add Exemplar support to Metrics proto (open-telemetry#159)
* Add exemplars to proto * handle just exemplars, nit fixes * comments * rawvalue -> exemplar, remove sample_count
1 parent 7b33f20 commit c5341db

1 file changed

Lines changed: 2 additions & 81 deletions

File tree

opentelemetry/proto/metrics/v1/metrics.proto

Lines changed: 2 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,6 @@ message Metric {
137137
repeated Int64DataPoint int64_data_points = 2;
138138
repeated DoubleDataPoint double_data_points = 3;
139139
repeated HistogramDataPoint histogram_data_points = 4;
140-
repeated SummaryDataPoint summary_data_points = 5;
141140
}
142141

143142
// Defines a metric type and its schema.
@@ -154,8 +153,7 @@ message MetricDescriptor {
154153

155154
// MeasurementValueType determines the value type for a measurement.
156155
// TODO: There is an open question about whether this should control int64 vs
157-
// double for Histogram and Summary. There are good arguments on both sides of
158-
// this.
156+
// double for Histogram. There are good arguments on both sides of this.
159157
enum MeasurementValueType {
160158
// UNSPECIFIED is the default MeasurementValueType, it MUST not be
161159
// used.
@@ -233,22 +231,6 @@ message MetricDescriptor {
233231
AggregationTemporality aggregation_temporality = 2;
234232
}
235233

236-
// Represents the type of a metric that is calculated by computing a summary
237-
// of all reported measurements over a time interval.
238-
//
239-
// A Metric of this Type MUST store its values as SummaryDataPoint.
240-
message Summary {
241-
// It describes the value type of the measurement used to build this
242-
// aggregation.
243-
//
244-
// Determines the value type of the exemplars.
245-
MeasurementValueType measurement_value_type = 1;
246-
247-
// aggregation_temporality describes if the aggregator reports delta changes
248-
// since last report time, or cumulative changes since a fixed start time.
249-
AggregationTemporality aggregation_temporality = 2;
250-
}
251-
252234
// Type determines the aggregation type (if any) of the metric, what is the
253235
// reported value type for the data points, as well as the relatationship to
254236
// the time interval over which they are reported.
@@ -262,7 +244,7 @@ message MetricDescriptor {
262244
// ----------------------------------------------
263245
// Counter Sum(aggregation_temporality=delta;is_monotonic=true)
264246
// UpDownCounter Sum(aggregation_temporality=delta;is_monotonic=false)
265-
// ValueRecorder Summary(aggregation_temporality=delta)
247+
// ValueRecorder TBD
266248
// SumObserver Sum(aggregation_temporality=cumulative;is_monotonic=true)
267249
// UpDownSumObserver Sum(aggregation_temporality=cumulative;is_monotonic=false)
268250
// ValueObserver Gauge()
@@ -272,7 +254,6 @@ message MetricDescriptor {
272254
Gauge gauge = 4;
273255
Sum sum = 5;
274256
Histogram histogram = 6;
275-
Summary summary = 7;
276257
}
277258

278259
// AggregationTemporality defines how a metric aggregator reports aggregated
@@ -488,63 +469,3 @@ message HistogramDataPoint {
488469
// measurements that were used to form the data point
489470
repeated Exemplar exemplars = 8;
490471
}
491-
492-
// SummaryDataPoint is a single data point in a timeseries that describes the time-varying
493-
// values of a Summary metric.
494-
message SummaryDataPoint {
495-
// The set of labels that uniquely identify this timeseries.
496-
repeated opentelemetry.proto.common.v1.StringKeyValue labels = 1;
497-
498-
// start_time_unix_nano is the last time when the aggregation value was reset
499-
// to "zero". For some metric types this is ignored, see MetricsDescriptor
500-
// types for more details.
501-
//
502-
// The aggregation value is over the time interval (start_time_unix_nano,
503-
// time_unix_nano].
504-
//
505-
// Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January
506-
// 1970.
507-
//
508-
// Value of 0 indicates that the timestamp is unspecified. In that case the
509-
// timestamp may be decided by the backend.
510-
fixed64 start_time_unix_nano = 2;
511-
512-
// time_unix_nano is the moment when this aggregation value was reported.
513-
//
514-
// Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January
515-
// 1970.
516-
fixed64 time_unix_nano = 3;
517-
518-
// The total number of recorded values since start_time. Optional since
519-
// some systems don't expose this.
520-
uint64 count = 4;
521-
522-
// The total sum of recorded values since start_time. Optional since some
523-
// systems don't expose this. If count is zero then this field must be zero.
524-
double sum = 5;
525-
526-
// Represents the value at a given quantile of a distribution.
527-
//
528-
// To record Min and Max values following conventions are used:
529-
// - The 1.0 quantile is equivalent to the maximum value observed.
530-
// - The 0.0 quantile is equivalent to the minimum value observed.
531-
//
532-
// See the following issue for more context:
533-
// https://github.com/open-telemetry/opentelemetry-proto/issues/125
534-
message ValueAtQuantile {
535-
// The quantile of a distribution. Must be in the interval
536-
// [0.0, 1.0].
537-
double quantile = 1;
538-
539-
// The value at the given quantile of a distribution.
540-
double value = 2;
541-
}
542-
543-
// A list of values at different quantiles of the distribution calculated
544-
// from the current snapshot. The quantiles must be strictly increasing.
545-
repeated ValueAtQuantile quantile_values = 6;
546-
547-
// (Optional) List of exemplars collected from
548-
// measurements that were used to form the data point
549-
repeated Exemplar exemplars = 7;
550-
}

0 commit comments

Comments
 (0)