From 535462113adffa63e85d4f6a87870cecf9a4eb9d Mon Sep 17 00:00:00 2001 From: Tyler Yahn Date: Tue, 28 Apr 2020 16:11:04 -0700 Subject: [PATCH 1/2] Add Monotonic refinement Knowing the monotonicity of metric data enables receivers to implement certain algorithms to calculate the rate of change of the data. As such, this is an important quality to describe and is added to the `MetricDescriptor`. *Note on English*: NONDECREASING is used to describe values that either increase or remain constant over time. The English term "increasing" is not used as it does not encompass values that remain constant over time. A comment is added to identify the omission of NONINCREASING and information on how to notify it is needed should that arise in the future. --- gen/go/metrics/v1/metrics.pb.go | 186 ++++++++++++------- opentelemetry/proto/metrics/v1/metrics.proto | 32 +++- 2 files changed, 152 insertions(+), 66 deletions(-) diff --git a/gen/go/metrics/v1/metrics.pb.go b/gen/go/metrics/v1/metrics.pb.go index a5fa21eba..28f2cf254 100644 --- a/gen/go/metrics/v1/metrics.pb.go +++ b/gen/go/metrics/v1/metrics.pb.go @@ -168,6 +168,48 @@ func (MetricDescriptor_Temporality) EnumDescriptor() ([]byte, []int) { return fileDescriptor_3c3112f9fa006917, []int{3, 1} } +// Monotonic describes the relationship between successively reported +// values of a metric (i.e. values of a metric with the same labels are +// non-decreasing). +// +// This refinement of metric values can be useful in understanding how to +// deal with discontinuities in the data (i.e. calculating rates of the +// data without introducing artifacts from a reset). +// +// This refinement is not coupled to any of the other metric qualities. +// For example, a CUMULATIVE metric is not implicitly NONDECREASING. This +// decoupling is needed in order for this protocol to agonistically +// transport metrics. However, it is important to note this diverges from +// some other metric systems (e.g Prometheus). +type MetricDescriptor_Monotonic int32 + +const ( + // UNSPECIFIED_MONOTONIC is the default, and means the monotonic nature + // of the metric values is unknown. + MetricDescriptor_UNSPECIFIED_MONOTONIC MetricDescriptor_Monotonic = 0 + // NONDECREASING means all the successive metric values increase or + // remain constant. + MetricDescriptor_NONDECREASING MetricDescriptor_Monotonic = 1 +) + +var MetricDescriptor_Monotonic_name = map[int32]string{ + 0: "UNSPECIFIED_MONOTONIC", + 1: "NONDECREASING", +} + +var MetricDescriptor_Monotonic_value = map[string]int32{ + "UNSPECIFIED_MONOTONIC": 0, + "NONDECREASING": 1, +} + +func (x MetricDescriptor_Monotonic) String() string { + return proto.EnumName(MetricDescriptor_Monotonic_name, int32(x)) +} + +func (MetricDescriptor_Monotonic) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_3c3112f9fa006917, []int{3, 2} +} + // A collection of InstrumentationLibraryMetrics from a Resource. type ResourceMetrics struct { // The resource for the metrics in this message. @@ -407,9 +449,11 @@ type MetricDescriptor struct { Type MetricDescriptor_Type `protobuf:"varint,4,opt,name=type,proto3,enum=opentelemetry.proto.metrics.v1.MetricDescriptor_Type" json:"type,omitempty"` // temporality is the Temporality of values this metric has. Temporality MetricDescriptor_Temporality `protobuf:"varint,5,opt,name=temporality,proto3,enum=opentelemetry.proto.metrics.v1.MetricDescriptor_Temporality" json:"temporality,omitempty"` + // monotonic describes the Monotonic refinement of values this metric has. + Monotonic MetricDescriptor_Monotonic `protobuf:"varint,6,opt,name=monotonic,proto3,enum=opentelemetry.proto.metrics.v1.MetricDescriptor_Monotonic" json:"monotonic,omitempty"` // The set of labels associated with the metric descriptor. Labels in this list apply to // all data points. - Labels []*v11.StringKeyValue `protobuf:"bytes,6,rep,name=labels,proto3" json:"labels,omitempty"` + Labels []*v11.StringKeyValue `protobuf:"bytes,7,rep,name=labels,proto3" json:"labels,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -475,6 +519,13 @@ func (m *MetricDescriptor) GetTemporality() MetricDescriptor_Temporality { return MetricDescriptor_INVALID_TEMPORALITY } +func (m *MetricDescriptor) GetMonotonic() MetricDescriptor_Monotonic { + if m != nil { + return m.Monotonic + } + return MetricDescriptor_UNSPECIFIED_MONOTONIC +} + func (m *MetricDescriptor) GetLabels() []*v11.StringKeyValue { if m != nil { return m.Labels @@ -1042,6 +1093,7 @@ func (m *SummaryDataPoint_ValueAtPercentile) GetValue() float64 { func init() { proto.RegisterEnum("opentelemetry.proto.metrics.v1.MetricDescriptor_Type", MetricDescriptor_Type_name, MetricDescriptor_Type_value) proto.RegisterEnum("opentelemetry.proto.metrics.v1.MetricDescriptor_Temporality", MetricDescriptor_Temporality_name, MetricDescriptor_Temporality_value) + proto.RegisterEnum("opentelemetry.proto.metrics.v1.MetricDescriptor_Monotonic", MetricDescriptor_Monotonic_name, MetricDescriptor_Monotonic_value) proto.RegisterType((*ResourceMetrics)(nil), "opentelemetry.proto.metrics.v1.ResourceMetrics") proto.RegisterType((*InstrumentationLibraryMetrics)(nil), "opentelemetry.proto.metrics.v1.InstrumentationLibraryMetrics") proto.RegisterType((*Metric)(nil), "opentelemetry.proto.metrics.v1.Metric") @@ -1060,68 +1112,72 @@ func init() { } var fileDescriptor_3c3112f9fa006917 = []byte{ - // 994 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x57, 0xdd, 0x6e, 0xe3, 0x44, - 0x14, 0x5e, 0xc7, 0x69, 0xda, 0x9e, 0x74, 0x5b, 0x67, 0xba, 0xb0, 0x51, 0xa5, 0x5d, 0x42, 0x84, - 0xa0, 0x20, 0xea, 0xd0, 0x52, 0x2a, 0x21, 0x81, 0x20, 0x21, 0x11, 0x6b, 0x6d, 0xfe, 0x34, 0x71, - 0x2a, 0x75, 0xa5, 0x5d, 0xe3, 0x24, 0x43, 0x3a, 0xc2, 0x1e, 0x5b, 0xf6, 0xb8, 0x6a, 0x1e, 0x80, - 0x37, 0x40, 0x82, 0x07, 0x82, 0x07, 0xe0, 0x0d, 0x78, 0x00, 0x6e, 0x10, 0x2f, 0x80, 0x3c, 0xb6, - 0x63, 0x27, 0x4d, 0x1b, 0x0a, 0x37, 0xb0, 0x77, 0xc7, 0xe7, 0xe7, 0x3b, 0xdf, 0xf9, 0x99, 0xcc, - 0x04, 0x3e, 0x74, 0x5c, 0xc2, 0x38, 0xb1, 0x88, 0x4d, 0xb8, 0x37, 0xab, 0xb9, 0x9e, 0xc3, 0x9d, - 0x5a, 0x28, 0xd3, 0xb1, 0x5f, 0xbb, 0x3a, 0x4e, 0x44, 0x55, 0x18, 0xd0, 0xd3, 0x05, 0xef, 0x48, - 0xa9, 0x26, 0x2e, 0x57, 0xc7, 0x07, 0x1f, 0xac, 0x42, 0x1b, 0x3b, 0xb6, 0xed, 0xb0, 0x10, 0x2c, - 0x92, 0xa2, 0xb0, 0x03, 0x75, 0x95, 0xaf, 0x47, 0x7c, 0x27, 0xf0, 0xc6, 0x24, 0xf4, 0x4e, 0xe4, - 0xc8, 0xbf, 0xfa, 0x9b, 0x04, 0x7b, 0x38, 0x56, 0x75, 0xa2, 0x94, 0xa8, 0x05, 0x5b, 0x89, 0x57, - 0x59, 0xaa, 0x48, 0x87, 0xc5, 0x93, 0xf7, 0xd5, 0x55, 0x14, 0xe7, 0x50, 0x57, 0xc7, 0x6a, 0x82, - 0x81, 0xe7, 0xa1, 0xe8, 0x7b, 0x09, 0xde, 0xa2, 0xcc, 0xe7, 0x5e, 0x60, 0x13, 0xc6, 0x4d, 0x4e, - 0x1d, 0x66, 0x58, 0x74, 0xe4, 0x99, 0xde, 0xcc, 0x88, 0xab, 0x2b, 0xe7, 0x2a, 0xf2, 0x61, 0xf1, - 0xe4, 0x73, 0xf5, 0xee, 0x0e, 0xa8, 0xda, 0x22, 0x4c, 0x3b, 0x42, 0x89, 0xf9, 0xe2, 0x27, 0xf4, - 0x2e, 0x73, 0xf5, 0x57, 0x09, 0x9e, 0xdc, 0x09, 0x80, 0x18, 0x3c, 0xbe, 0x85, 0x68, 0x5c, 0xff, - 0x27, 0x2b, 0x09, 0xc6, 0x8d, 0xbf, 0x95, 0x1f, 0x7e, 0x73, 0x35, 0x31, 0xf4, 0x25, 0x6c, 0x2e, - 0x36, 0xe0, 0xdd, 0x75, 0x0d, 0x88, 0x98, 0xe2, 0x24, 0xac, 0xfa, 0xbb, 0x0c, 0x85, 0x48, 0x87, - 0x5e, 0x42, 0x29, 0xd2, 0x1a, 0x13, 0xe2, 0x8f, 0x3d, 0xea, 0x72, 0xc7, 0x8b, 0x69, 0x7f, 0xf4, - 0xf7, 0x60, 0x9b, 0xf3, 0x38, 0xac, 0xd8, 0x4b, 0x1a, 0xf4, 0x02, 0x4a, 0x94, 0xf1, 0xb3, 0x53, - 0x63, 0x62, 0x72, 0xd3, 0x70, 0x1d, 0xca, 0x78, 0xc2, 0x5a, 0x5d, 0x3f, 0x36, 0x7e, 0x76, 0xda, - 0x34, 0xb9, 0xd9, 0x0f, 0xc3, 0xf0, 0x1e, 0x5d, 0xf8, 0xf6, 0xd1, 0x4b, 0x40, 0x13, 0x27, 0x18, - 0x59, 0x64, 0x01, 0x5c, 0x16, 0xe0, 0xb5, 0x75, 0xe0, 0x4d, 0x11, 0x99, 0xa2, 0x2b, 0x93, 0x45, - 0x85, 0x8f, 0xbe, 0x85, 0x37, 0x2e, 0xa9, 0xcf, 0x9d, 0xa9, 0x67, 0xda, 0x0b, 0x19, 0xf2, 0x22, - 0xc3, 0xc9, 0xba, 0x0c, 0xcf, 0x92, 0xe0, 0x34, 0xc9, 0xfe, 0xe5, 0x0d, 0x9d, 0x8f, 0xbe, 0x81, - 0x7d, 0x3f, 0xb0, 0xed, 0x70, 0xaf, 0xb3, 0x59, 0x36, 0x44, 0x96, 0xb5, 0x33, 0x18, 0x44, 0xa1, - 0x69, 0x8e, 0x92, 0xbf, 0xa4, 0xf1, 0xab, 0x7f, 0xc8, 0xa0, 0x2c, 0xcf, 0x0a, 0x21, 0xc8, 0x33, - 0xd3, 0x8e, 0x8e, 0xe8, 0x36, 0x16, 0x32, 0xaa, 0x40, 0x31, 0xd9, 0x02, 0xea, 0xb0, 0x72, 0x4e, - 0x98, 0xb2, 0xaa, 0x30, 0x2a, 0x60, 0x94, 0x97, 0xe5, 0x28, 0x2a, 0x94, 0x91, 0x06, 0x79, 0x3e, - 0x73, 0x49, 0x39, 0x5f, 0x91, 0x0e, 0x77, 0x6f, 0x59, 0xf6, 0x3b, 0xb6, 0x46, 0xd5, 0x67, 0x2e, - 0xc1, 0x02, 0x02, 0xbd, 0x82, 0x22, 0x27, 0xb6, 0xeb, 0x78, 0xa6, 0x45, 0xf9, 0xac, 0xbc, 0x21, - 0x10, 0x3f, 0xbb, 0x3f, 0x62, 0x8a, 0x81, 0xb3, 0x80, 0xa8, 0x05, 0x05, 0xcb, 0x1c, 0x11, 0xcb, - 0x2f, 0x17, 0x44, 0x7b, 0x8f, 0xd6, 0x9c, 0xcc, 0x01, 0xf7, 0x28, 0x9b, 0x3e, 0x27, 0xb3, 0x73, - 0xd3, 0x0a, 0x08, 0x8e, 0x83, 0xab, 0xcf, 0x21, 0x1f, 0x92, 0x46, 0x0a, 0xec, 0x68, 0xdd, 0xf3, - 0x7a, 0x5b, 0x6b, 0x1a, 0xfa, 0x45, 0xbf, 0xa5, 0x3c, 0x40, 0xdb, 0xb0, 0xa1, 0x75, 0xf5, 0xb3, - 0x53, 0x45, 0x42, 0x00, 0x85, 0x66, 0x6f, 0xd8, 0x68, 0xb7, 0x94, 0x1c, 0x7a, 0x08, 0xdb, 0xcf, - 0xb4, 0x81, 0xde, 0xfb, 0x1a, 0xd7, 0x3b, 0x8a, 0x8c, 0x8a, 0xb0, 0x39, 0x18, 0x76, 0x3a, 0x75, - 0x7c, 0xa1, 0xe4, 0xab, 0x3a, 0x14, 0x33, 0x7c, 0xd1, 0x63, 0xd8, 0x9f, 0x63, 0xb6, 0x3a, 0xfd, - 0x1e, 0xae, 0xb7, 0x35, 0xfd, 0x42, 0x79, 0x80, 0x4a, 0xf0, 0x50, 0xeb, 0x0e, 0xf4, 0x7a, 0x57, - 0xaf, 0x77, 0x5b, 0xbd, 0xe1, 0x40, 0x91, 0xc2, 0x6c, 0xcd, 0x56, 0x5b, 0xaf, 0x2b, 0x39, 0xb4, - 0x0b, 0xf0, 0xd5, 0xb0, 0x33, 0x6c, 0xd7, 0x75, 0xed, 0xbc, 0xa5, 0xc8, 0xd5, 0x9f, 0x25, 0xd8, - 0x5d, 0x3c, 0x40, 0x99, 0xe2, 0xa5, 0x7f, 0x51, 0x3c, 0xaa, 0xc1, 0x23, 0x9f, 0x9b, 0x1e, 0x37, - 0x38, 0xb5, 0x89, 0x11, 0x30, 0x7a, 0x6d, 0x30, 0x93, 0x39, 0x62, 0x5b, 0x0a, 0xb8, 0x24, 0x6c, - 0x3a, 0xb5, 0xc9, 0x90, 0xd1, 0xeb, 0xae, 0xc9, 0x1c, 0xf4, 0x0e, 0xec, 0x2e, 0xb9, 0xca, 0xc2, - 0x75, 0x87, 0x67, 0xbd, 0x1e, 0xc1, 0xc6, 0x55, 0x98, 0x47, 0xac, 0x91, 0x8c, 0xa3, 0x8f, 0xea, - 0x2f, 0x12, 0xec, 0x2d, 0x1d, 0xd5, 0xff, 0x53, 0x1d, 0x52, 0x52, 0xc7, 0x9f, 0x79, 0x40, 0x37, - 0x7f, 0x10, 0xfe, 0xfb, 0xa5, 0x8c, 0x9d, 0x80, 0x71, 0x51, 0x4a, 0x1e, 0x47, 0x1f, 0x48, 0x01, - 0xd9, 0x0f, 0x6c, 0x71, 0x36, 0x25, 0x1c, 0x8a, 0x68, 0x00, 0x9b, 0xa3, 0x60, 0xfc, 0x1d, 0xe1, - 0xc9, 0xb1, 0xfa, 0xf4, 0xfe, 0xbf, 0x8d, 0x6a, 0x43, 0x20, 0xe0, 0x04, 0x09, 0xbd, 0x07, 0x7b, - 0xe4, 0xda, 0xb5, 0xe8, 0x98, 0x72, 0x63, 0xe4, 0x04, 0x6c, 0xe2, 0x97, 0x37, 0x2b, 0xf2, 0xa1, - 0x84, 0x77, 0x13, 0x75, 0x43, 0x68, 0x0f, 0x7e, 0xca, 0x41, 0x21, 0x0a, 0x4e, 0x09, 0x4b, 0x59, - 0xc2, 0xaf, 0x60, 0x8b, 0x5c, 0x13, 0xdb, 0xb5, 0x4c, 0x4f, 0x74, 0xa4, 0x78, 0xd2, 0xf8, 0xc7, - 0xfc, 0xd4, 0x56, 0x8c, 0x84, 0xe7, 0x98, 0x07, 0x3f, 0x4a, 0xb0, 0x95, 0xa8, 0xd3, 0xf1, 0x4b, - 0x99, 0xf1, 0xaf, 0xe8, 0x77, 0x6e, 0x45, 0xbf, 0x7b, 0x50, 0x34, 0x39, 0x37, 0xc7, 0x97, 0xe1, - 0x95, 0x9f, 0xdc, 0x64, 0xf7, 0x5c, 0x89, 0x2c, 0x42, 0xf5, 0x07, 0x19, 0x94, 0xe5, 0x0b, 0xe2, - 0x35, 0xd9, 0x39, 0x07, 0x4a, 0x2e, 0xf1, 0xc6, 0x84, 0x71, 0x6a, 0x11, 0x43, 0x74, 0x39, 0xd9, - 0xbe, 0xc6, 0x7d, 0xef, 0x4c, 0x55, 0x54, 0x56, 0xe7, 0xfd, 0x39, 0x20, 0x56, 0x52, 0x70, 0x61, - 0xf4, 0x0f, 0x34, 0x28, 0xdd, 0x70, 0x43, 0x4f, 0x01, 0x52, 0xc7, 0x78, 0xe4, 0x19, 0x4d, 0xba, - 0x0d, 0xb9, 0xcc, 0x36, 0x34, 0x38, 0xbc, 0x4d, 0x9d, 0x35, 0x24, 0x1b, 0x3b, 0xf1, 0xf3, 0xb2, - 0x1f, 0x1a, 0xfa, 0xd2, 0x8b, 0x2f, 0xa6, 0x94, 0x5f, 0x06, 0xa3, 0x70, 0x30, 0xb5, 0x30, 0xf4, - 0x28, 0x7d, 0xa6, 0x2f, 0x20, 0x1d, 0x45, 0x8f, 0xf6, 0x29, 0x61, 0xb5, 0x69, 0xf6, 0x5f, 0xc3, - 0xa8, 0x20, 0x0c, 0x1f, 0xff, 0x15, 0x00, 0x00, 0xff, 0xff, 0xe2, 0x78, 0x81, 0x13, 0x5e, 0x0c, - 0x00, 0x00, + // 1060 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x97, 0xdf, 0x6e, 0xe3, 0x44, + 0x17, 0xc0, 0xd7, 0x49, 0x9a, 0xb6, 0x27, 0xdd, 0xd6, 0x99, 0xee, 0x7e, 0x9b, 0xaf, 0xd2, 0x2e, + 0x25, 0x42, 0x50, 0x10, 0x75, 0x68, 0x29, 0x95, 0x16, 0x81, 0x20, 0x69, 0xcc, 0xae, 0xb5, 0x89, + 0x13, 0x4d, 0x9c, 0x8a, 0xae, 0xb4, 0x6b, 0x9c, 0x74, 0x68, 0x47, 0xc4, 0x33, 0x91, 0x3d, 0xae, + 0x9a, 0x07, 0x80, 0x27, 0x40, 0x82, 0x07, 0x82, 0x07, 0xe0, 0x0d, 0x78, 0x00, 0xee, 0x78, 0x01, + 0xe4, 0x71, 0x1c, 0x3b, 0x69, 0xda, 0x10, 0xb8, 0x01, 0xee, 0xc6, 0x67, 0xce, 0xf9, 0x9d, 0xbf, + 0x33, 0xb6, 0xe1, 0x7d, 0x3e, 0x24, 0x4c, 0x90, 0x01, 0x71, 0x89, 0xf0, 0x46, 0x95, 0xa1, 0xc7, + 0x05, 0xaf, 0x84, 0x6b, 0xda, 0xf7, 0x2b, 0x57, 0x07, 0xf1, 0x52, 0x93, 0x1b, 0xe8, 0xc9, 0x94, + 0x76, 0x24, 0xd4, 0x62, 0x95, 0xab, 0x83, 0x9d, 0xf7, 0xe6, 0xd1, 0xfa, 0xdc, 0x75, 0x39, 0x0b, + 0x61, 0xd1, 0x2a, 0x32, 0xdb, 0xd1, 0xe6, 0xe9, 0x7a, 0xc4, 0xe7, 0x81, 0xd7, 0x27, 0xa1, 0x76, + 0xbc, 0x8e, 0xf4, 0xcb, 0xbf, 0x2a, 0xb0, 0x85, 0xc7, 0xa2, 0x66, 0xe4, 0x12, 0xe9, 0xb0, 0x16, + 0x6b, 0x95, 0x94, 0x5d, 0x65, 0xaf, 0x70, 0xf8, 0xae, 0x36, 0x2f, 0xc4, 0x09, 0xea, 0xea, 0x40, + 0x8b, 0x19, 0x78, 0x62, 0x8a, 0xbe, 0x55, 0xe0, 0x0d, 0xca, 0x7c, 0xe1, 0x05, 0x2e, 0x61, 0xc2, + 0x11, 0x94, 0x33, 0x7b, 0x40, 0x7b, 0x9e, 0xe3, 0x8d, 0xec, 0x71, 0x76, 0xa5, 0xcc, 0x6e, 0x76, + 0xaf, 0x70, 0xf8, 0xa9, 0x76, 0x77, 0x05, 0x34, 0x63, 0x1a, 0xd3, 0x88, 0x28, 0xe3, 0x78, 0xf1, + 0x63, 0x7a, 0xd7, 0x76, 0xf9, 0x17, 0x05, 0x1e, 0xdf, 0x09, 0x40, 0x0c, 0x1e, 0xdd, 0x12, 0xe8, + 0x38, 0xff, 0x8f, 0xe6, 0x06, 0x38, 0x2e, 0xfc, 0xad, 0xf1, 0xe1, 0xff, 0xcd, 0x0f, 0x0c, 0x7d, + 0x0e, 0xab, 0xd3, 0x05, 0x78, 0x7b, 0x51, 0x01, 0xa2, 0x48, 0x71, 0x6c, 0x56, 0xfe, 0x2d, 0x0b, + 0xf9, 0x48, 0x86, 0x5e, 0x41, 0x31, 0x92, 0xda, 0xe7, 0xc4, 0xef, 0x7b, 0x74, 0x28, 0xb8, 0x37, + 0x0e, 0xfb, 0x83, 0x3f, 0x87, 0xad, 0x4f, 0xec, 0xb0, 0xea, 0xce, 0x48, 0xd0, 0x4b, 0x28, 0x52, + 0x26, 0x8e, 0x8f, 0xec, 0x73, 0x47, 0x38, 0xf6, 0x90, 0x53, 0x26, 0xe2, 0xa8, 0xb5, 0xc5, 0x6d, + 0x13, 0xc7, 0x47, 0x75, 0x47, 0x38, 0xed, 0xd0, 0x0c, 0x6f, 0xd1, 0xa9, 0x67, 0x1f, 0xbd, 0x02, + 0x74, 0xce, 0x83, 0xde, 0x80, 0x4c, 0xc1, 0xb3, 0x12, 0x5e, 0x59, 0x04, 0xaf, 0x4b, 0xcb, 0x84, + 0xae, 0x9e, 0x4f, 0x0b, 0x7c, 0xf4, 0x35, 0x3c, 0xbc, 0xa4, 0xbe, 0xe0, 0x17, 0x9e, 0xe3, 0x4e, + 0x79, 0xc8, 0x49, 0x0f, 0x87, 0x8b, 0x3c, 0x3c, 0x8f, 0x8d, 0x13, 0x27, 0xdb, 0x97, 0x37, 0x64, + 0x3e, 0xfa, 0x0a, 0xb6, 0xfd, 0xc0, 0x75, 0xc3, 0xb9, 0x4e, 0x7b, 0x59, 0x91, 0x5e, 0x16, 0xf6, + 0xa0, 0x13, 0x99, 0x26, 0x3e, 0x8a, 0xfe, 0x8c, 0xc4, 0x2f, 0x7f, 0xb7, 0x02, 0xea, 0x6c, 0xaf, + 0x10, 0x82, 0x1c, 0x73, 0xdc, 0xe8, 0x88, 0xae, 0x63, 0xb9, 0x46, 0xbb, 0x50, 0x88, 0xa7, 0x80, + 0x72, 0x56, 0xca, 0xc8, 0xad, 0xb4, 0x28, 0xb4, 0x0a, 0x18, 0x15, 0xa5, 0x6c, 0x64, 0x15, 0xae, + 0x91, 0x01, 0x39, 0x31, 0x1a, 0x92, 0x52, 0x6e, 0x57, 0xd9, 0xdb, 0xbc, 0x65, 0xd8, 0xef, 0x98, + 0x1a, 0xcd, 0x1a, 0x0d, 0x09, 0x96, 0x08, 0xf4, 0x1a, 0x0a, 0x82, 0xb8, 0x43, 0xee, 0x39, 0x03, + 0x2a, 0x46, 0xa5, 0x15, 0x49, 0xfc, 0x64, 0x79, 0x62, 0xc2, 0xc0, 0x69, 0x20, 0xfa, 0x12, 0xd6, + 0x5d, 0xce, 0xb8, 0xe0, 0x8c, 0xf6, 0x4b, 0x79, 0x49, 0xff, 0x78, 0x69, 0x7a, 0x33, 0x26, 0xe0, + 0x04, 0x86, 0x74, 0xc8, 0x0f, 0x9c, 0x1e, 0x19, 0xf8, 0xa5, 0x55, 0xd9, 0xb8, 0xfd, 0x05, 0x67, + 0xbe, 0x23, 0x3c, 0xca, 0x2e, 0x5e, 0x90, 0xd1, 0xa9, 0x33, 0x08, 0x08, 0x1e, 0x1b, 0x97, 0x5f, + 0x40, 0x2e, 0x2c, 0x07, 0x52, 0x61, 0xc3, 0x30, 0x4f, 0xab, 0x0d, 0xa3, 0x6e, 0x5b, 0x67, 0x6d, + 0x5d, 0xbd, 0x87, 0xd6, 0x61, 0xc5, 0x30, 0xad, 0xe3, 0x23, 0x55, 0x41, 0x00, 0xf9, 0x7a, 0xab, + 0x5b, 0x6b, 0xe8, 0x6a, 0x06, 0xdd, 0x87, 0xf5, 0xe7, 0x46, 0xc7, 0x6a, 0x3d, 0xc3, 0xd5, 0xa6, + 0x9a, 0x45, 0x05, 0x58, 0xed, 0x74, 0x9b, 0xcd, 0x2a, 0x3e, 0x53, 0x73, 0x65, 0x0b, 0x0a, 0xa9, + 0x4a, 0xa0, 0x47, 0xb0, 0x3d, 0x61, 0xea, 0xcd, 0x76, 0x0b, 0x57, 0x1b, 0x86, 0x75, 0xa6, 0xde, + 0x43, 0x45, 0xb8, 0x6f, 0x98, 0x1d, 0xab, 0x6a, 0x5a, 0x55, 0x53, 0x6f, 0x75, 0x3b, 0xaa, 0x12, + 0x7a, 0xab, 0xeb, 0x0d, 0xab, 0xaa, 0x66, 0xd0, 0x26, 0xc0, 0x49, 0xb7, 0xd9, 0x6d, 0x54, 0x2d, + 0xe3, 0x54, 0x57, 0xb3, 0xe5, 0xa7, 0xb0, 0x3e, 0xa9, 0x00, 0xfa, 0x3f, 0x3c, 0xec, 0x9a, 0x9d, + 0xb6, 0x7e, 0x62, 0x7c, 0x61, 0xe8, 0x75, 0xbb, 0xd9, 0x32, 0x5b, 0x56, 0xcb, 0x34, 0x4e, 0x22, + 0xaa, 0xd9, 0x32, 0xeb, 0xfa, 0x09, 0xd6, 0xab, 0x1d, 0xc3, 0x7c, 0xa6, 0x2a, 0xe5, 0x9f, 0x14, + 0xd8, 0x9c, 0x3e, 0xd5, 0xa9, 0xba, 0x29, 0x7f, 0xa3, 0x6e, 0xa8, 0x02, 0x0f, 0x7c, 0xe1, 0x78, + 0xc2, 0x16, 0xd4, 0x25, 0x76, 0xc0, 0xe8, 0xb5, 0xcd, 0x1c, 0xc6, 0xe5, 0x08, 0xe7, 0x71, 0x51, + 0xee, 0x59, 0xd4, 0x25, 0x5d, 0x46, 0xaf, 0x4d, 0x87, 0x71, 0xf4, 0x16, 0x6c, 0xce, 0xa8, 0x66, + 0xa5, 0xea, 0x86, 0x48, 0x6b, 0x3d, 0x80, 0x95, 0xab, 0xd0, 0x8f, 0x9c, 0xed, 0x2c, 0x8e, 0x1e, + 0xca, 0x3f, 0x2b, 0xb0, 0x35, 0x73, 0x7f, 0xfc, 0x9b, 0xf2, 0x50, 0xe2, 0x3c, 0x7e, 0xcf, 0x01, + 0xba, 0x79, 0x4b, 0xfd, 0xf3, 0x53, 0xe9, 0xf3, 0x80, 0x09, 0x99, 0x4a, 0x0e, 0x47, 0x0f, 0x48, + 0x85, 0xac, 0x1f, 0xb8, 0xf2, 0xc2, 0x50, 0x70, 0xb8, 0x44, 0x1d, 0x58, 0xed, 0x05, 0xfd, 0x6f, + 0x88, 0xf0, 0x4b, 0x79, 0x99, 0xc6, 0xd3, 0xe5, 0x2f, 0x6c, 0xad, 0x26, 0x09, 0x38, 0x26, 0xa1, + 0x77, 0x60, 0x8b, 0x5c, 0x0f, 0x07, 0xb4, 0x4f, 0x85, 0xdd, 0xe3, 0x01, 0x3b, 0x8f, 0x8e, 0xbb, + 0x82, 0x37, 0x63, 0x71, 0x4d, 0x4a, 0x77, 0x7e, 0xcc, 0x40, 0x3e, 0x32, 0x4e, 0x02, 0x56, 0xd2, + 0x01, 0xbf, 0x86, 0x35, 0x72, 0x4d, 0xdc, 0xe1, 0xc0, 0xf1, 0x64, 0x45, 0x0a, 0x87, 0xb5, 0xbf, + 0x1c, 0x9f, 0xa6, 0x8f, 0x49, 0x78, 0xc2, 0xdc, 0xf9, 0x41, 0x81, 0xb5, 0x58, 0x9c, 0xb4, 0x5f, + 0x49, 0xb5, 0x7f, 0x4e, 0xbd, 0x33, 0x73, 0xea, 0xdd, 0x82, 0x82, 0x23, 0x84, 0xd3, 0xbf, 0x0c, + 0xbf, 0x43, 0xe2, 0xd7, 0xeb, 0x92, 0x23, 0x91, 0x26, 0x94, 0xbf, 0xcf, 0x82, 0x3a, 0xfb, 0xd6, + 0xfa, 0x8f, 0xcc, 0x1c, 0x87, 0xe2, 0x90, 0x78, 0x7d, 0xc2, 0x04, 0x1d, 0x10, 0x5b, 0x56, 0x39, + 0x9e, 0xbe, 0xda, 0xb2, 0x2f, 0x72, 0x4d, 0x66, 0x56, 0x15, 0xed, 0x09, 0x10, 0xab, 0x09, 0x5c, + 0x6e, 0xfa, 0x3b, 0x06, 0x14, 0x6f, 0xa8, 0xa1, 0x27, 0x00, 0x89, 0xe2, 0xb8, 0xe5, 0x29, 0x49, + 0x32, 0x0d, 0x99, 0xd4, 0x34, 0xd4, 0x04, 0xbc, 0x49, 0xf9, 0x82, 0x20, 0x6b, 0x1b, 0xe3, 0x6f, + 0xde, 0x76, 0xb8, 0xd1, 0x56, 0x5e, 0x7e, 0x76, 0x41, 0xc5, 0x65, 0xd0, 0x0b, 0x1b, 0x53, 0x09, + 0x4d, 0xf7, 0x93, 0x7f, 0x87, 0x29, 0xd2, 0x7e, 0xf4, 0x27, 0x71, 0x41, 0x58, 0xe5, 0x22, 0xfd, + 0x2b, 0xd3, 0xcb, 0xcb, 0x8d, 0x0f, 0xff, 0x08, 0x00, 0x00, 0xff, 0xff, 0x03, 0x8d, 0x13, 0xaf, + 0xf3, 0x0c, 0x00, 0x00, } diff --git a/opentelemetry/proto/metrics/v1/metrics.proto b/opentelemetry/proto/metrics/v1/metrics.proto index 46e56de6e..15d6d2385 100644 --- a/opentelemetry/proto/metrics/v1/metrics.proto +++ b/opentelemetry/proto/metrics/v1/metrics.proto @@ -227,9 +227,39 @@ message MetricDescriptor { // temporality is the Temporality of values this metric has. Temporality temporality = 5; + // Monotonic describes the relationship between successively reported + // values of a metric (i.e. values of a metric with the same labels are + // non-decreasing). + // + // This refinement of metric values can be useful in understanding how to + // deal with discontinuities in the data (i.e. calculating rates of the + // data without introducing artifacts from a reset). + // + // This refinement is not coupled to any of the other metric qualities. + // For example, a CUMULATIVE metric is not implicitly NONDECREASING. This + // decoupling is needed in order for this protocol to agonistically + // transport metrics. However, it is important to note this diverges from + // some other metric systems (e.g Prometheus). + enum Monotonic { + // UNSPECIFIED_MONOTONIC is the default, and means the monotonic nature + // of the metric values is unknown. + UNSPECIFIED_MONOTONIC = 0; + + // NONDECREASING means all the successive metric values increase or + // remain constant. + NONDECREASING = 1; + + // NONINCREASING is currently omitted due to the lack of a known + // use-case. If you have a fitting use-case please open an issue to add + // this Monotonic value. + } + + // monotonic describes the Monotonic refinement of values this metric has. + Monotonic monotonic = 6; + // The set of labels associated with the metric descriptor. Labels in this list apply to // all data points. - repeated opentelemetry.proto.common.v1.StringKeyValue labels = 6; + repeated opentelemetry.proto.common.v1.StringKeyValue labels = 7; } // Int64DataPoint is a single data point in a timeseries that describes the time-varying From c3978f5f97bb13b1c7984626f49b8de44f0b2ade Mon Sep 17 00:00:00 2001 From: Tyler Yahn Date: Thu, 28 May 2020 18:00:40 -0700 Subject: [PATCH 2/2] Monotonic in type Instead of including a monotonic refinement, specify where applicable to the type. --- gen/go/metrics/v1/metrics.pb.go | 234 ++++++++----------- opentelemetry/proto/metrics/v1/metrics.proto | 53 ++--- 2 files changed, 113 insertions(+), 174 deletions(-) diff --git a/gen/go/metrics/v1/metrics.pb.go b/gen/go/metrics/v1/metrics.pb.go index 15e0974bb..546c770c8 100644 --- a/gen/go/metrics/v1/metrics.pb.go +++ b/gen/go/metrics/v1/metrics.pb.go @@ -28,41 +28,54 @@ type MetricDescriptor_Type int32 const ( // INVALID_TYPE is the default Type, it MUST not be used. MetricDescriptor_INVALID_TYPE MetricDescriptor_Type = 0 - // INT64 values are represents as signed 64-bit integers. + // INT64 values are signed 64-bit integers. // // A Metric of this Type MUST store its values as Int64DataPoint. MetricDescriptor_INT64 MetricDescriptor_Type = 1 - // DOUBLE values are represents as double-precision floating-point - // numbers. + // MONOTONIC_INT64 values are monotonically increasing signed 64-bit + // integers. + // + // A Metric of this Type MUST store its values as Int64DataPoint. + MetricDescriptor_MONOTONIC_INT64 MetricDescriptor_Type = 2 + // DOUBLE values are double-precision floating-point numbers. + // + // A Metric of this Type MUST store its values as DoubleDataPoint. + MetricDescriptor_DOUBLE MetricDescriptor_Type = 3 + // MONOTONIC_DOUBLE values are monotonically increasing double-precision + // floating-point numbers. // // A Metric of this Type MUST store its values as DoubleDataPoint. - MetricDescriptor_DOUBLE MetricDescriptor_Type = 2 + MetricDescriptor_MONOTONIC_DOUBLE MetricDescriptor_Type = 4 // Histogram measurement. // Corresponding values are stored in HistogramDataPoint. - MetricDescriptor_HISTOGRAM MetricDescriptor_Type = 3 + MetricDescriptor_HISTOGRAM MetricDescriptor_Type = 5 // 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. - MetricDescriptor_SUMMARY MetricDescriptor_Type = 4 + MetricDescriptor_SUMMARY MetricDescriptor_Type = 6 ) var MetricDescriptor_Type_name = map[int32]string{ 0: "INVALID_TYPE", 1: "INT64", - 2: "DOUBLE", - 3: "HISTOGRAM", - 4: "SUMMARY", + 2: "MONOTONIC_INT64", + 3: "DOUBLE", + 4: "MONOTONIC_DOUBLE", + 5: "HISTOGRAM", + 6: "SUMMARY", } var MetricDescriptor_Type_value = map[string]int32{ - "INVALID_TYPE": 0, - "INT64": 1, - "DOUBLE": 2, - "HISTOGRAM": 3, - "SUMMARY": 4, + "INVALID_TYPE": 0, + "INT64": 1, + "MONOTONIC_INT64": 2, + "DOUBLE": 3, + "MONOTONIC_DOUBLE": 4, + "HISTOGRAM": 5, + "SUMMARY": 6, } func (x MetricDescriptor_Type) String() string { @@ -168,48 +181,6 @@ func (MetricDescriptor_Temporality) EnumDescriptor() ([]byte, []int) { return fileDescriptor_3c3112f9fa006917, []int{3, 1} } -// Monotonic describes the relationship between successively reported -// values of a metric (i.e. values of a metric with the same labels are -// non-decreasing). -// -// This refinement of metric values can be useful in understanding how to -// deal with discontinuities in the data (i.e. calculating rates of the -// data without introducing artifacts from a reset). -// -// This refinement is not coupled to any of the other metric qualities. -// For example, a CUMULATIVE metric is not implicitly NONDECREASING. This -// decoupling is needed in order for this protocol to agonistically -// transport metrics. However, it is important to note this diverges from -// some other metric systems (e.g Prometheus). -type MetricDescriptor_Monotonic int32 - -const ( - // UNSPECIFIED_MONOTONIC is the default, and means the monotonic nature - // of the metric values is unknown. - MetricDescriptor_UNSPECIFIED_MONOTONIC MetricDescriptor_Monotonic = 0 - // NONDECREASING means all the successive metric values increase or - // remain constant. - MetricDescriptor_NONDECREASING MetricDescriptor_Monotonic = 1 -) - -var MetricDescriptor_Monotonic_name = map[int32]string{ - 0: "UNSPECIFIED_MONOTONIC", - 1: "NONDECREASING", -} - -var MetricDescriptor_Monotonic_value = map[string]int32{ - "UNSPECIFIED_MONOTONIC": 0, - "NONDECREASING": 1, -} - -func (x MetricDescriptor_Monotonic) String() string { - return proto.EnumName(MetricDescriptor_Monotonic_name, int32(x)) -} - -func (MetricDescriptor_Monotonic) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_3c3112f9fa006917, []int{3, 2} -} - // A collection of InstrumentationLibraryMetrics from a Resource. type ResourceMetrics struct { // The resource for the metrics in this message. @@ -448,12 +419,10 @@ type MetricDescriptor struct { // type is the type of values this metric has. Type MetricDescriptor_Type `protobuf:"varint,4,opt,name=type,proto3,enum=opentelemetry.proto.metrics.v1.MetricDescriptor_Type" json:"type,omitempty"` // temporality is the Temporality of values this metric has. - Temporality MetricDescriptor_Temporality `protobuf:"varint,5,opt,name=temporality,proto3,enum=opentelemetry.proto.metrics.v1.MetricDescriptor_Temporality" json:"temporality,omitempty"` - // monotonic describes the Monotonic refinement of values this metric has. - Monotonic MetricDescriptor_Monotonic `protobuf:"varint,6,opt,name=monotonic,proto3,enum=opentelemetry.proto.metrics.v1.MetricDescriptor_Monotonic" json:"monotonic,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Temporality MetricDescriptor_Temporality `protobuf:"varint,5,opt,name=temporality,proto3,enum=opentelemetry.proto.metrics.v1.MetricDescriptor_Temporality" json:"temporality,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *MetricDescriptor) Reset() { *m = MetricDescriptor{} } @@ -516,13 +485,6 @@ func (m *MetricDescriptor) GetTemporality() MetricDescriptor_Temporality { return MetricDescriptor_INVALID_TEMPORALITY } -func (m *MetricDescriptor) GetMonotonic() MetricDescriptor_Monotonic { - if m != nil { - return m.Monotonic - } - return MetricDescriptor_UNSPECIFIED_MONOTONIC -} - // Int64DataPoint is a single data point in a timeseries that describes the time-varying // values of a int64 metric. type Int64DataPoint struct { @@ -1083,7 +1045,6 @@ func (m *SummaryDataPoint_ValueAtPercentile) GetValue() float64 { func init() { proto.RegisterEnum("opentelemetry.proto.metrics.v1.MetricDescriptor_Type", MetricDescriptor_Type_name, MetricDescriptor_Type_value) proto.RegisterEnum("opentelemetry.proto.metrics.v1.MetricDescriptor_Temporality", MetricDescriptor_Temporality_name, MetricDescriptor_Temporality_value) - proto.RegisterEnum("opentelemetry.proto.metrics.v1.MetricDescriptor_Monotonic", MetricDescriptor_Monotonic_name, MetricDescriptor_Monotonic_value) proto.RegisterType((*ResourceMetrics)(nil), "opentelemetry.proto.metrics.v1.ResourceMetrics") proto.RegisterType((*InstrumentationLibraryMetrics)(nil), "opentelemetry.proto.metrics.v1.InstrumentationLibraryMetrics") proto.RegisterType((*Metric)(nil), "opentelemetry.proto.metrics.v1.Metric") @@ -1102,72 +1063,69 @@ func init() { } var fileDescriptor_3c3112f9fa006917 = []byte{ - // 1058 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x97, 0xdd, 0x6e, 0xe3, 0x44, - 0x14, 0xc7, 0xd7, 0x71, 0x9a, 0x6e, 0x4f, 0x76, 0x5b, 0x67, 0xba, 0xcb, 0x86, 0x4a, 0xbb, 0x94, - 0x08, 0x41, 0x41, 0xd4, 0xa1, 0xa5, 0x54, 0x5a, 0x04, 0x82, 0xa4, 0x31, 0xbb, 0xd6, 0x26, 0x4e, - 0x34, 0x71, 0x2a, 0xba, 0xd2, 0xae, 0x71, 0xd2, 0xa1, 0x1d, 0x11, 0xcf, 0x44, 0xf6, 0xb8, 0x6a, - 0x1e, 0x80, 0x37, 0x40, 0x82, 0xb7, 0xe1, 0x06, 0x1e, 0x80, 0x37, 0xe0, 0x01, 0xb8, 0xe3, 0x05, - 0x90, 0xc7, 0x71, 0xec, 0xa4, 0x69, 0x43, 0xb9, 0x02, 0xee, 0xc6, 0x67, 0xce, 0xf9, 0x9d, 0xff, - 0x39, 0x73, 0xfc, 0x05, 0x1f, 0xf2, 0x11, 0x61, 0x82, 0x0c, 0x89, 0x47, 0x84, 0x3f, 0xae, 0x8e, - 0x7c, 0x2e, 0x78, 0x35, 0x5a, 0xd3, 0x41, 0x50, 0xbd, 0xd8, 0x4b, 0x96, 0xba, 0xdc, 0x40, 0x4f, - 0x66, 0xbc, 0x63, 0xa3, 0x9e, 0xb8, 0x5c, 0xec, 0x6d, 0x7d, 0xb0, 0x88, 0x36, 0xe0, 0x9e, 0xc7, - 0x59, 0x04, 0x8b, 0x57, 0x71, 0xd8, 0x96, 0xbe, 0xc8, 0xd7, 0x27, 0x01, 0x0f, 0xfd, 0x01, 0x89, - 0xbc, 0x93, 0x75, 0xec, 0x5f, 0xf9, 0x5d, 0x81, 0x0d, 0x3c, 0x31, 0xb5, 0xe2, 0x94, 0xc8, 0x80, - 0xbb, 0x89, 0x57, 0x59, 0xd9, 0x56, 0x76, 0x8a, 0xfb, 0xef, 0xeb, 0x8b, 0x24, 0x4e, 0x51, 0x17, - 0x7b, 0x7a, 0xc2, 0xc0, 0xd3, 0x50, 0xf4, 0xbd, 0x02, 0x6f, 0x51, 0x16, 0x08, 0x3f, 0xf4, 0x08, - 0x13, 0xae, 0xa0, 0x9c, 0x39, 0x43, 0xda, 0xf7, 0x5d, 0x7f, 0xec, 0x4c, 0xaa, 0x2b, 0xe7, 0xb6, - 0xd5, 0x9d, 0xe2, 0xfe, 0xe7, 0xfa, 0xcd, 0x1d, 0xd0, 0xcd, 0x59, 0x4c, 0x33, 0xa6, 0x4c, 0xf4, - 0xe2, 0xc7, 0xf4, 0xa6, 0xed, 0xca, 0x6f, 0x0a, 0x3c, 0xbe, 0x11, 0x80, 0x18, 0x3c, 0xba, 0x46, - 0xe8, 0xa4, 0xfe, 0x4f, 0x16, 0x0a, 0x9c, 0x34, 0xfe, 0x5a, 0x7d, 0xf8, 0x8d, 0xc5, 0xc2, 0xd0, - 0x97, 0xb0, 0x3a, 0xdb, 0x80, 0x77, 0x97, 0x35, 0x20, 0x56, 0x8a, 0x93, 0xb0, 0xca, 0x1f, 0x2a, - 0x14, 0x62, 0x1b, 0x7a, 0x05, 0xa5, 0xd8, 0xea, 0x9c, 0x92, 0x60, 0xe0, 0xd3, 0x91, 0xe0, 0xfe, - 0x44, 0xf6, 0x47, 0x7f, 0x0f, 0xdb, 0x98, 0xc6, 0x61, 0xcd, 0x9b, 0xb3, 0xa0, 0x97, 0x50, 0xa2, - 0x4c, 0x1c, 0x1e, 0x38, 0xa7, 0xae, 0x70, 0x9d, 0x11, 0xa7, 0x4c, 0x24, 0xaa, 0xf5, 0xe5, 0xc7, - 0x26, 0x0e, 0x0f, 0x1a, 0xae, 0x70, 0x3b, 0x51, 0x18, 0xde, 0xa0, 0x33, 0xd7, 0x01, 0x7a, 0x05, - 0xe8, 0x94, 0x87, 0xfd, 0x21, 0x99, 0x81, 0xab, 0x12, 0x5e, 0x5d, 0x06, 0x6f, 0xc8, 0xc8, 0x94, - 0xae, 0x9d, 0xce, 0x1a, 0x02, 0xf4, 0x2d, 0x3c, 0x3c, 0xa7, 0x81, 0xe0, 0x67, 0xbe, 0xeb, 0xcd, - 0x64, 0xc8, 0xcb, 0x0c, 0xfb, 0xcb, 0x32, 0x3c, 0x4f, 0x82, 0xd3, 0x24, 0x9b, 0xe7, 0x57, 0x6c, - 0x01, 0xfa, 0x06, 0x36, 0x83, 0xd0, 0xf3, 0xa2, 0xb9, 0xce, 0x66, 0x59, 0x91, 0x59, 0x96, 0x9e, - 0x41, 0x37, 0x0e, 0x4d, 0x73, 0x94, 0x82, 0x39, 0x4b, 0x50, 0xf9, 0x39, 0x0f, 0xda, 0xfc, 0x59, - 0x21, 0x04, 0x79, 0xe6, 0x7a, 0xf1, 0x2d, 0xba, 0x86, 0xe5, 0x1a, 0x6d, 0x43, 0x31, 0x99, 0x02, - 0xca, 0x59, 0x39, 0x27, 0xb7, 0xb2, 0xa6, 0x28, 0x2a, 0x64, 0x54, 0x94, 0xd5, 0x38, 0x2a, 0x5a, - 0x23, 0x13, 0xf2, 0x62, 0x3c, 0x22, 0xe5, 0xfc, 0xb6, 0xb2, 0xb3, 0x7e, 0xcd, 0xb0, 0xdf, 0x30, - 0x35, 0xba, 0x3d, 0x1e, 0x11, 0x2c, 0x11, 0xe8, 0x35, 0x14, 0x05, 0xf1, 0x46, 0xdc, 0x77, 0x87, - 0x54, 0x8c, 0xcb, 0x2b, 0x92, 0xf8, 0xd9, 0xed, 0x89, 0x29, 0x03, 0x67, 0x81, 0xe8, 0x6b, 0x58, - 0xf3, 0x38, 0xe3, 0x82, 0x33, 0x3a, 0x28, 0x17, 0x24, 0xfd, 0xd3, 0x5b, 0xd3, 0x5b, 0x09, 0x01, - 0xa7, 0xb0, 0xca, 0x0b, 0xc8, 0x47, 0x75, 0x20, 0x0d, 0xee, 0x99, 0xd6, 0x71, 0xad, 0x69, 0x36, - 0x1c, 0xfb, 0xa4, 0x63, 0x68, 0x77, 0xd0, 0x1a, 0xac, 0x98, 0x96, 0x7d, 0x78, 0xa0, 0x29, 0x08, - 0xa0, 0xd0, 0x68, 0xf7, 0xea, 0x4d, 0x43, 0xcb, 0xa1, 0xfb, 0xb0, 0xf6, 0xdc, 0xec, 0xda, 0xed, - 0x67, 0xb8, 0xd6, 0xd2, 0x54, 0x54, 0x84, 0xd5, 0x6e, 0xaf, 0xd5, 0xaa, 0xe1, 0x13, 0x2d, 0x5f, - 0xb1, 0xa1, 0x98, 0x29, 0x01, 0x3d, 0x82, 0xcd, 0x29, 0xd3, 0x68, 0x75, 0xda, 0xb8, 0xd6, 0x34, - 0xed, 0x13, 0xed, 0x0e, 0x2a, 0xc1, 0x7d, 0xd3, 0xea, 0xda, 0x35, 0xcb, 0xae, 0x59, 0x46, 0xbb, - 0xd7, 0xd5, 0x94, 0x28, 0x5b, 0xc3, 0x68, 0xda, 0x35, 0x2d, 0x87, 0xd6, 0x01, 0x8e, 0x7a, 0xad, - 0x5e, 0xb3, 0x66, 0x9b, 0xc7, 0x86, 0xa6, 0x56, 0x9e, 0xc2, 0xda, 0x54, 0x3a, 0x7a, 0x13, 0x1e, - 0xf6, 0xac, 0x6e, 0xc7, 0x38, 0x32, 0xbf, 0x32, 0x8d, 0x86, 0xd3, 0x6a, 0x5b, 0x6d, 0xbb, 0x6d, - 0x99, 0x47, 0x31, 0xd5, 0x6a, 0x5b, 0x0d, 0xe3, 0x08, 0x1b, 0xb5, 0xae, 0x69, 0x3d, 0xd3, 0x94, - 0xca, 0x2f, 0x0a, 0xac, 0xcf, 0xde, 0x8e, 0xc8, 0x80, 0xc2, 0xd0, 0xed, 0x93, 0x61, 0x50, 0x56, - 0xe4, 0xa4, 0xee, 0x2e, 0x79, 0xc8, 0x75, 0x85, 0x4f, 0xd9, 0xd9, 0x0b, 0x32, 0x3e, 0x76, 0x87, - 0x21, 0xc1, 0x93, 0x60, 0x54, 0x85, 0x07, 0x81, 0x70, 0x7d, 0xe1, 0x08, 0xea, 0x11, 0x27, 0x64, - 0xf4, 0xd2, 0x61, 0x2e, 0xe3, 0x72, 0xf6, 0x0a, 0xb8, 0x24, 0xf7, 0x6c, 0xea, 0x91, 0x1e, 0xa3, - 0x97, 0x96, 0xcb, 0x38, 0x7a, 0x07, 0xd6, 0xe7, 0x5c, 0x55, 0xe9, 0x7a, 0x4f, 0x64, 0xbd, 0x1e, - 0xc0, 0xca, 0x45, 0x94, 0x47, 0x0e, 0xa5, 0x8a, 0xe3, 0x8b, 0xca, 0xaf, 0x0a, 0x6c, 0xcc, 0xdd, - 0xf8, 0xff, 0xa5, 0x3a, 0x94, 0xa4, 0x8e, 0x3f, 0xf3, 0x80, 0xae, 0x3e, 0x5e, 0xfe, 0xfd, 0xa5, - 0x0c, 0x78, 0xc8, 0x84, 0x2c, 0x25, 0x8f, 0xe3, 0x0b, 0xa4, 0x81, 0x1a, 0x84, 0x9e, 0xbc, 0xd3, - 0x15, 0x1c, 0x2d, 0x51, 0x17, 0x56, 0xfb, 0xe1, 0xe0, 0x3b, 0x22, 0x82, 0x72, 0x41, 0x96, 0xf1, - 0xf4, 0xf6, 0x4f, 0x5a, 0xbd, 0x2e, 0x09, 0x38, 0x21, 0xa1, 0xf7, 0x60, 0x83, 0x5c, 0x8e, 0x86, - 0x74, 0x40, 0x85, 0xd3, 0xe7, 0x21, 0x3b, 0x0d, 0xca, 0xab, 0xdb, 0xea, 0x8e, 0x82, 0xd7, 0x13, - 0x73, 0x5d, 0x5a, 0xb7, 0x7e, 0xca, 0x41, 0x21, 0x0e, 0x4e, 0x05, 0x2b, 0x59, 0xc1, 0xaf, 0xe1, - 0x2e, 0xb9, 0x24, 0xde, 0x68, 0xe8, 0xfa, 0xb2, 0x23, 0xc5, 0xfd, 0xfa, 0x3f, 0xd6, 0xa7, 0x1b, - 0x13, 0x12, 0x9e, 0x32, 0xb7, 0x7e, 0x54, 0xe0, 0x6e, 0x62, 0x4e, 0x8f, 0x5f, 0xc9, 0x1c, 0xff, - 0x82, 0x7e, 0xe7, 0x16, 0xf4, 0xbb, 0x0d, 0x45, 0x57, 0x08, 0x77, 0x70, 0x1e, 0x7d, 0x40, 0x24, - 0xef, 0xc5, 0x5b, 0x8e, 0x44, 0x96, 0x50, 0xf9, 0x41, 0x05, 0x6d, 0xfe, 0x75, 0xf3, 0x3f, 0x99, - 0x39, 0x0e, 0xa5, 0x11, 0xf1, 0x07, 0x84, 0x09, 0x3a, 0x24, 0x8e, 0xec, 0x72, 0x32, 0x7d, 0xf5, - 0xdb, 0xbe, 0x81, 0x75, 0x59, 0x59, 0x4d, 0x74, 0xa6, 0x40, 0xac, 0xa5, 0x70, 0xb9, 0x19, 0x6c, - 0x99, 0x50, 0xba, 0xe2, 0x86, 0x9e, 0x00, 0xa4, 0x8e, 0x93, 0x23, 0xcf, 0x58, 0xd2, 0x69, 0xc8, - 0x65, 0xa6, 0xa1, 0x2e, 0xe0, 0x6d, 0xca, 0x97, 0x88, 0xac, 0xdf, 0x9b, 0x7c, 0xac, 0x76, 0xa2, - 0x8d, 0x8e, 0xf2, 0xf2, 0x8b, 0x33, 0x2a, 0xce, 0xc3, 0x7e, 0x74, 0x30, 0xd5, 0x28, 0x74, 0x37, - 0xfd, 0xe8, 0x9f, 0x21, 0xed, 0xc6, 0xbf, 0x00, 0x67, 0x84, 0x55, 0xcf, 0xb2, 0xff, 0x20, 0xfd, - 0x82, 0xdc, 0xf8, 0xf8, 0xaf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x79, 0x1b, 0xb6, 0xaf, 0xac, 0x0c, - 0x00, 0x00, + // 1012 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x57, 0xdd, 0x6e, 0xe3, 0x44, + 0x14, 0x5e, 0xc7, 0x69, 0xda, 0x9e, 0x74, 0x5b, 0x67, 0x5a, 0xd8, 0xa8, 0xd2, 0x2e, 0x25, 0x42, + 0x50, 0x10, 0x75, 0x68, 0x29, 0x95, 0x90, 0x40, 0x90, 0x6c, 0x22, 0xd6, 0x22, 0x7f, 0x9a, 0x38, + 0x95, 0xba, 0xd2, 0xae, 0x71, 0x92, 0x21, 0x1d, 0x61, 0x8f, 0x2d, 0x7b, 0x1c, 0x35, 0x0f, 0xc0, + 0x1b, 0x20, 0xc1, 0x03, 0xc1, 0x03, 0x70, 0xc1, 0x3d, 0x0f, 0xc0, 0x1d, 0x2f, 0x80, 0x3c, 0xb6, + 0x63, 0x27, 0x4d, 0x1b, 0xca, 0x15, 0x70, 0x37, 0xfe, 0xce, 0x39, 0xdf, 0xf9, 0xce, 0xcf, 0xc4, + 0x0e, 0x7c, 0xe8, 0xb8, 0x84, 0x71, 0x62, 0x11, 0x9b, 0x70, 0x6f, 0x56, 0x75, 0x3d, 0x87, 0x3b, + 0xd5, 0xf0, 0x4c, 0x47, 0x7e, 0x75, 0x7a, 0x9a, 0x1c, 0x55, 0x61, 0x40, 0xcf, 0x16, 0xbc, 0x23, + 0x50, 0x4d, 0x5c, 0xa6, 0xa7, 0x87, 0x1f, 0xac, 0x62, 0x1b, 0x39, 0xb6, 0xed, 0xb0, 0x90, 0x2c, + 0x3a, 0x45, 0x61, 0x87, 0xea, 0x2a, 0x5f, 0x8f, 0xf8, 0x4e, 0xe0, 0x8d, 0x48, 0xe8, 0x9d, 0x9c, + 0x23, 0xff, 0xca, 0xef, 0x12, 0xec, 0xe1, 0x18, 0x6a, 0x47, 0x29, 0x51, 0x13, 0xb6, 0x12, 0xaf, + 0xb2, 0x74, 0x24, 0x1d, 0x17, 0xcf, 0xde, 0x57, 0x57, 0x49, 0x9c, 0x53, 0x4d, 0x4f, 0xd5, 0x84, + 0x03, 0xcf, 0x43, 0xd1, 0xf7, 0x12, 0xbc, 0x45, 0x99, 0xcf, 0xbd, 0xc0, 0x26, 0x8c, 0x9b, 0x9c, + 0x3a, 0xcc, 0xb0, 0xe8, 0xd0, 0x33, 0xbd, 0x99, 0x11, 0x57, 0x57, 0xce, 0x1d, 0xc9, 0xc7, 0xc5, + 0xb3, 0xcf, 0xd5, 0xfb, 0x3b, 0xa0, 0x6a, 0x8b, 0x34, 0xad, 0x88, 0x25, 0xd6, 0x8b, 0x9f, 0xd2, + 0xfb, 0xcc, 0x95, 0x5f, 0x25, 0x78, 0x7a, 0x2f, 0x01, 0x62, 0xf0, 0xe4, 0x0e, 0xa1, 0x71, 0xfd, + 0x9f, 0xac, 0x14, 0x18, 0x37, 0xfe, 0x4e, 0x7d, 0xf8, 0xcd, 0xd5, 0xc2, 0xd0, 0x97, 0xb0, 0xb9, + 0xd8, 0x80, 0x77, 0xd7, 0x35, 0x20, 0x52, 0x8a, 0x93, 0xb0, 0xca, 0x1f, 0x32, 0x14, 0x22, 0x0c, + 0xbd, 0x82, 0x52, 0x84, 0x1a, 0x63, 0xe2, 0x8f, 0x3c, 0xea, 0x72, 0xc7, 0x8b, 0x65, 0x7f, 0xf4, + 0xf7, 0x68, 0x1b, 0xf3, 0x38, 0xac, 0xd8, 0x4b, 0x08, 0x7a, 0x09, 0x25, 0xca, 0xf8, 0xc5, 0xb9, + 0x31, 0x36, 0xb9, 0x69, 0xb8, 0x0e, 0x65, 0x3c, 0x51, 0xad, 0xae, 0x1f, 0x1b, 0xbf, 0x38, 0x6f, + 0x98, 0xdc, 0xec, 0x85, 0x61, 0x78, 0x8f, 0x2e, 0x3c, 0xfb, 0xe8, 0x15, 0xa0, 0xb1, 0x13, 0x0c, + 0x2d, 0xb2, 0x40, 0x2e, 0x0b, 0xf2, 0xea, 0x3a, 0xf2, 0x86, 0x88, 0x4c, 0xd9, 0x95, 0xf1, 0x22, + 0xe0, 0xa3, 0x6f, 0xe1, 0x8d, 0x6b, 0xea, 0x73, 0x67, 0xe2, 0x99, 0xf6, 0x42, 0x86, 0xbc, 0xc8, + 0x70, 0xb6, 0x2e, 0xc3, 0x8b, 0x24, 0x38, 0x4d, 0xb2, 0x7f, 0x7d, 0x0b, 0xf3, 0xd1, 0x37, 0xb0, + 0xef, 0x07, 0xb6, 0x1d, 0xee, 0x75, 0x36, 0xcb, 0x86, 0xc8, 0xb2, 0x76, 0x06, 0xfd, 0x28, 0x34, + 0xcd, 0x51, 0xf2, 0x97, 0x10, 0xbf, 0xf2, 0x9b, 0x0c, 0xca, 0xf2, 0xac, 0x10, 0x82, 0x3c, 0x33, + 0xed, 0xe8, 0x8a, 0x6e, 0x63, 0x71, 0x46, 0x47, 0x50, 0x4c, 0xb6, 0x80, 0x3a, 0xac, 0x9c, 0x13, + 0xa6, 0x2c, 0x14, 0x46, 0x05, 0x8c, 0xf2, 0xb2, 0x1c, 0x45, 0x85, 0x67, 0xa4, 0x41, 0x9e, 0xcf, + 0x5c, 0x52, 0xce, 0x1f, 0x49, 0xc7, 0xbb, 0x77, 0x2c, 0xfb, 0x3d, 0x5b, 0xa3, 0xea, 0x33, 0x97, + 0x60, 0x41, 0x81, 0x5e, 0x43, 0x91, 0x13, 0xdb, 0x75, 0x3c, 0xd3, 0xa2, 0x7c, 0x56, 0xde, 0x10, + 0x8c, 0x9f, 0x3d, 0x9c, 0x31, 0xe5, 0xc0, 0x59, 0xc2, 0xca, 0x14, 0xf2, 0x61, 0x36, 0xa4, 0xc0, + 0x8e, 0xd6, 0xb9, 0xac, 0xb5, 0xb4, 0x86, 0xa1, 0x5f, 0xf5, 0x9a, 0xca, 0x23, 0xb4, 0x0d, 0x1b, + 0x5a, 0x47, 0xbf, 0x38, 0x57, 0x24, 0xb4, 0x0f, 0x7b, 0xed, 0x6e, 0xa7, 0xab, 0x77, 0x3b, 0xda, + 0x73, 0x23, 0x02, 0x73, 0x08, 0xa0, 0xd0, 0xe8, 0x0e, 0xea, 0xad, 0xa6, 0x22, 0xa3, 0x03, 0x50, + 0x52, 0x87, 0x18, 0xcd, 0xa3, 0xc7, 0xb0, 0xfd, 0x42, 0xeb, 0xeb, 0xdd, 0xaf, 0x70, 0xad, 0xad, + 0x6c, 0xa0, 0x22, 0x6c, 0xf6, 0x07, 0xed, 0x76, 0x0d, 0x5f, 0x29, 0x85, 0x8a, 0x0e, 0xc5, 0x8c, + 0x26, 0xf4, 0x04, 0xf6, 0xe7, 0xe9, 0x9b, 0xed, 0x5e, 0x17, 0xd7, 0x5a, 0x9a, 0x7e, 0xa5, 0x3c, + 0x42, 0x25, 0x78, 0xac, 0x75, 0xfa, 0x7a, 0xad, 0xa3, 0xd7, 0x3a, 0xcd, 0xee, 0xa0, 0xaf, 0x48, + 0xa1, 0xb0, 0x46, 0xb3, 0xa5, 0xd7, 0x94, 0x1c, 0xda, 0x05, 0x78, 0x3e, 0x68, 0x0f, 0x5a, 0x35, + 0x5d, 0xbb, 0x6c, 0x2a, 0x72, 0xe5, 0x67, 0x09, 0x76, 0x17, 0x2f, 0x09, 0x6a, 0x42, 0xc1, 0x32, + 0x87, 0xc4, 0xf2, 0xcb, 0x92, 0xd8, 0x9f, 0x93, 0x35, 0x3f, 0x3d, 0x7d, 0xee, 0x51, 0x36, 0xf9, + 0x9a, 0xcc, 0x2e, 0x4d, 0x2b, 0x20, 0x38, 0x0e, 0x46, 0x55, 0x38, 0xf0, 0xb9, 0xe9, 0x71, 0x83, + 0x53, 0x9b, 0x18, 0x01, 0xa3, 0x37, 0x06, 0x33, 0x99, 0x23, 0x36, 0xa2, 0x80, 0x4b, 0xc2, 0xa6, + 0x53, 0x9b, 0x0c, 0x18, 0xbd, 0xe9, 0x98, 0xcc, 0x41, 0xef, 0xc0, 0xee, 0x92, 0xab, 0x2c, 0x5c, + 0x77, 0x78, 0xd6, 0xeb, 0x00, 0x36, 0xa6, 0x61, 0x1e, 0xb1, 0x2a, 0x32, 0x8e, 0x1e, 0x2a, 0xbf, + 0x48, 0xb0, 0xb7, 0x74, 0x1d, 0xff, 0x4b, 0x75, 0x48, 0x49, 0x1d, 0x7f, 0xe6, 0x01, 0xdd, 0xbe, + 0xf4, 0xff, 0xfe, 0x52, 0x46, 0x4e, 0xc0, 0xb8, 0x28, 0x25, 0x8f, 0xa3, 0x07, 0xa4, 0x80, 0xec, + 0x07, 0xb6, 0xb8, 0x7f, 0x12, 0x0e, 0x8f, 0xa8, 0x0f, 0x9b, 0xc3, 0x60, 0xf4, 0x1d, 0xe1, 0x7e, + 0xb9, 0x20, 0xca, 0xf8, 0xf4, 0xe1, 0xbf, 0x7f, 0x6a, 0x5d, 0x30, 0xe0, 0x84, 0x09, 0xbd, 0x07, + 0x7b, 0xe4, 0xc6, 0xb5, 0xe8, 0x88, 0x72, 0x63, 0xe8, 0x04, 0x6c, 0xec, 0x97, 0x37, 0x8f, 0xe4, + 0x63, 0x09, 0xef, 0x26, 0x70, 0x5d, 0xa0, 0x87, 0x3f, 0xe5, 0xa0, 0x10, 0x05, 0xa7, 0x82, 0xa5, + 0xac, 0xe0, 0xd7, 0xb0, 0x45, 0x6e, 0x88, 0xed, 0x5a, 0xa6, 0x27, 0x3a, 0x52, 0x3c, 0xab, 0xff, + 0x63, 0x7d, 0x6a, 0x33, 0x66, 0xc2, 0x73, 0xce, 0xc3, 0x1f, 0x25, 0xd8, 0x4a, 0xe0, 0x74, 0xfc, + 0x52, 0x66, 0xfc, 0x2b, 0xfa, 0x9d, 0x5b, 0xd1, 0xef, 0x2e, 0x14, 0x4d, 0xce, 0xcd, 0xd1, 0x75, + 0xf8, 0x5a, 0x4f, 0xde, 0x56, 0x0f, 0x5c, 0x89, 0x2c, 0x43, 0xe5, 0x07, 0x19, 0x94, 0xe5, 0x97, + 0xc0, 0xff, 0x64, 0xe7, 0x1c, 0x28, 0xb9, 0xc4, 0x1b, 0x11, 0xc6, 0xa9, 0x45, 0x0c, 0xd1, 0xe5, + 0x64, 0xfb, 0xea, 0x0f, 0x7d, 0x2f, 0xaa, 0xa2, 0xb2, 0x1a, 0xef, 0xcd, 0x09, 0xb1, 0x92, 0x92, + 0x0b, 0xa3, 0x7f, 0xa8, 0x41, 0xe9, 0x96, 0x1b, 0x7a, 0x06, 0x90, 0x3a, 0xc6, 0x23, 0xcf, 0x20, + 0xe9, 0x36, 0xe4, 0x32, 0xdb, 0x50, 0xe7, 0xf0, 0x36, 0x75, 0xd6, 0x88, 0xac, 0xef, 0xc4, 0x9f, + 0x90, 0xbd, 0xd0, 0xd0, 0x93, 0x5e, 0x7e, 0x31, 0xa1, 0xfc, 0x3a, 0x18, 0x86, 0x83, 0xa9, 0x86, + 0xa1, 0x27, 0xe9, 0xa7, 0xf8, 0x02, 0xd3, 0x49, 0xf4, 0x61, 0x3e, 0x21, 0xac, 0x3a, 0xc9, 0xfe, + 0x33, 0x18, 0x16, 0x84, 0xe1, 0xe3, 0xbf, 0x02, 0x00, 0x00, 0xff, 0xff, 0x3f, 0x02, 0x26, 0x81, + 0x42, 0x0c, 0x00, 0x00, } diff --git a/opentelemetry/proto/metrics/v1/metrics.proto b/opentelemetry/proto/metrics/v1/metrics.proto index d0f24c71e..1d458824f 100644 --- a/opentelemetry/proto/metrics/v1/metrics.proto +++ b/opentelemetry/proto/metrics/v1/metrics.proto @@ -123,20 +123,31 @@ message MetricDescriptor { // INVALID_TYPE is the default Type, it MUST not be used. INVALID_TYPE = 0; - // INT64 values are represents as signed 64-bit integers. + // INT64 values are signed 64-bit integers. // // A Metric of this Type MUST store its values as Int64DataPoint. INT64 = 1; - // DOUBLE values are represents as double-precision floating-point - // numbers. + // MONOTONIC_INT64 values are monotonically increasing signed 64-bit + // integers. + // + // A Metric of this Type MUST store its values as Int64DataPoint. + MONOTONIC_INT64 = 2; + + // DOUBLE values are double-precision floating-point numbers. + // + // A Metric of this Type MUST store its values as DoubleDataPoint. + DOUBLE = 3; + + // MONOTONIC_DOUBLE values are monotonically increasing double-precision + // floating-point numbers. // // A Metric of this Type MUST store its values as DoubleDataPoint. - DOUBLE = 2; + MONOTONIC_DOUBLE = 4; // Histogram measurement. // Corresponding values are stored in HistogramDataPoint. - HISTOGRAM = 3; + HISTOGRAM = 5; // Summary value. Some frameworks implemented Histograms as a summary of observations // (usually things like request durations and response sizes). While it @@ -144,7 +155,7 @@ message MetricDescriptor { // values, it calculates configurable percentiles over a sliding time // window. // Corresponding values are stored in SummaryDataPoint. - SUMMARY = 4; + SUMMARY = 6; } // type is the type of values this metric has. @@ -226,36 +237,6 @@ message MetricDescriptor { // temporality is the Temporality of values this metric has. Temporality temporality = 5; - - // Monotonic describes the relationship between successively reported - // values of a metric (i.e. values of a metric with the same labels are - // non-decreasing). - // - // This refinement of metric values can be useful in understanding how to - // deal with discontinuities in the data (i.e. calculating rates of the - // data without introducing artifacts from a reset). - // - // This refinement is not coupled to any of the other metric qualities. - // For example, a CUMULATIVE metric is not implicitly NONDECREASING. This - // decoupling is needed in order for this protocol to agonistically - // transport metrics. However, it is important to note this diverges from - // some other metric systems (e.g Prometheus). - enum Monotonic { - // UNSPECIFIED_MONOTONIC is the default, and means the monotonic nature - // of the metric values is unknown. - UNSPECIFIED_MONOTONIC = 0; - - // NONDECREASING means all the successive metric values increase or - // remain constant. - NONDECREASING = 1; - - // NONINCREASING is currently omitted due to the lack of a known - // use-case. If you have a fitting use-case please open an issue to add - // this Monotonic value. - } - - // monotonic describes the Monotonic refinement of values this metric has. - Monotonic monotonic = 6; } // Int64DataPoint is a single data point in a timeseries that describes the time-varying