blob: 70039db4df3f6af79386781af64f44e2a8cb7f01 [file] [log] [blame]
// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc v3.21.7
// source: go.chromium.org/luci/common/tsmon/ts_mon_proto/metrics.proto
package ts_mon_proto
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
anypb "google.golang.org/protobuf/types/known/anypb"
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type StreamKind int32
const (
StreamKind_GAUGE StreamKind = 0
StreamKind_CUMULATIVE StreamKind = 1
StreamKind_DELTA StreamKind = 2
)
// Enum value maps for StreamKind.
var (
StreamKind_name = map[int32]string{
0: "GAUGE",
1: "CUMULATIVE",
2: "DELTA",
}
StreamKind_value = map[string]int32{
"GAUGE": 0,
"CUMULATIVE": 1,
"DELTA": 2,
}
)
func (x StreamKind) Enum() *StreamKind {
p := new(StreamKind)
*p = x
return p
}
func (x StreamKind) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (StreamKind) Descriptor() protoreflect.EnumDescriptor {
return file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_enumTypes[0].Descriptor()
}
func (StreamKind) Type() protoreflect.EnumType {
return &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_enumTypes[0]
}
func (x StreamKind) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Do not use.
func (x *StreamKind) UnmarshalJSON(b []byte) error {
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
if err != nil {
return err
}
*x = StreamKind(num)
return nil
}
// Deprecated: Use StreamKind.Descriptor instead.
func (StreamKind) EnumDescriptor() ([]byte, []int) {
return file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDescGZIP(), []int{0}
}
type ValueType int32
const (
ValueType_BOOL ValueType = 0
ValueType_STRING ValueType = 1
ValueType_INT64 ValueType = 2
ValueType_DOUBLE ValueType = 3
ValueType_DISTRIBUTION ValueType = 4
)
// Enum value maps for ValueType.
var (
ValueType_name = map[int32]string{
0: "BOOL",
1: "STRING",
2: "INT64",
3: "DOUBLE",
4: "DISTRIBUTION",
}
ValueType_value = map[string]int32{
"BOOL": 0,
"STRING": 1,
"INT64": 2,
"DOUBLE": 3,
"DISTRIBUTION": 4,
}
)
func (x ValueType) Enum() *ValueType {
p := new(ValueType)
*p = x
return p
}
func (x ValueType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (ValueType) Descriptor() protoreflect.EnumDescriptor {
return file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_enumTypes[1].Descriptor()
}
func (ValueType) Type() protoreflect.EnumType {
return &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_enumTypes[1]
}
func (x ValueType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Do not use.
func (x *ValueType) UnmarshalJSON(b []byte) error {
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
if err != nil {
return err
}
*x = ValueType(num)
return nil
}
// Deprecated: Use ValueType.Descriptor instead.
func (ValueType) EnumDescriptor() ([]byte, []int) {
return file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDescGZIP(), []int{1}
}
type MetricsDataSet_MetricFieldDescriptor_FieldType int32
const (
MetricsDataSet_MetricFieldDescriptor_STRING MetricsDataSet_MetricFieldDescriptor_FieldType = 0
MetricsDataSet_MetricFieldDescriptor_INT64 MetricsDataSet_MetricFieldDescriptor_FieldType = 1
MetricsDataSet_MetricFieldDescriptor_BOOL MetricsDataSet_MetricFieldDescriptor_FieldType = 2
)
// Enum value maps for MetricsDataSet_MetricFieldDescriptor_FieldType.
var (
MetricsDataSet_MetricFieldDescriptor_FieldType_name = map[int32]string{
0: "STRING",
1: "INT64",
2: "BOOL",
}
MetricsDataSet_MetricFieldDescriptor_FieldType_value = map[string]int32{
"STRING": 0,
"INT64": 1,
"BOOL": 2,
}
)
func (x MetricsDataSet_MetricFieldDescriptor_FieldType) Enum() *MetricsDataSet_MetricFieldDescriptor_FieldType {
p := new(MetricsDataSet_MetricFieldDescriptor_FieldType)
*p = x
return p
}
func (x MetricsDataSet_MetricFieldDescriptor_FieldType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (MetricsDataSet_MetricFieldDescriptor_FieldType) Descriptor() protoreflect.EnumDescriptor {
return file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_enumTypes[2].Descriptor()
}
func (MetricsDataSet_MetricFieldDescriptor_FieldType) Type() protoreflect.EnumType {
return &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_enumTypes[2]
}
func (x MetricsDataSet_MetricFieldDescriptor_FieldType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Do not use.
func (x *MetricsDataSet_MetricFieldDescriptor_FieldType) UnmarshalJSON(b []byte) error {
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
if err != nil {
return err
}
*x = MetricsDataSet_MetricFieldDescriptor_FieldType(num)
return nil
}
// Deprecated: Use MetricsDataSet_MetricFieldDescriptor_FieldType.Descriptor instead.
func (MetricsDataSet_MetricFieldDescriptor_FieldType) EnumDescriptor() ([]byte, []int) {
return file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDescGZIP(), []int{2, 0, 0}
}
type MetricsPayload struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
MetricsCollection []*MetricsCollection `protobuf:"bytes,1,rep,name=metrics_collection,json=metricsCollection" json:"metrics_collection,omitempty"`
}
func (x *MetricsPayload) Reset() {
*x = MetricsPayload{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MetricsPayload) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MetricsPayload) ProtoMessage() {}
func (x *MetricsPayload) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MetricsPayload.ProtoReflect.Descriptor instead.
func (*MetricsPayload) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDescGZIP(), []int{0}
}
func (x *MetricsPayload) GetMetricsCollection() []*MetricsCollection {
if x != nil {
return x.MetricsCollection
}
return nil
}
type MetricsCollection struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
MetricsDataSet []*MetricsDataSet `protobuf:"bytes,1,rep,name=metrics_data_set,json=metricsDataSet" json:"metrics_data_set,omitempty"`
RootLabels []*MetricsCollection_RootLabels `protobuf:"bytes,2,rep,name=root_labels,json=rootLabels" json:"root_labels,omitempty"`
}
func (x *MetricsCollection) Reset() {
*x = MetricsCollection{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MetricsCollection) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MetricsCollection) ProtoMessage() {}
func (x *MetricsCollection) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MetricsCollection.ProtoReflect.Descriptor instead.
func (*MetricsCollection) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDescGZIP(), []int{1}
}
func (x *MetricsCollection) GetMetricsDataSet() []*MetricsDataSet {
if x != nil {
return x.MetricsDataSet
}
return nil
}
func (x *MetricsCollection) GetRootLabels() []*MetricsCollection_RootLabels {
if x != nil {
return x.RootLabels
}
return nil
}
type MetricsDataSet struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Metric name.
// Regex: ^(/[a-zA-Z0-9_-]+)+$
MetricName *string `protobuf:"bytes,1,opt,name=metric_name,json=metricName" json:"metric_name,omitempty"`
FieldDescriptor []*MetricsDataSet_MetricFieldDescriptor `protobuf:"bytes,2,rep,name=field_descriptor,json=fieldDescriptor" json:"field_descriptor,omitempty"`
StreamKind *StreamKind `protobuf:"varint,3,opt,name=stream_kind,json=streamKind,enum=ts_mon.proto.StreamKind" json:"stream_kind,omitempty"`
ValueType *ValueType `protobuf:"varint,4,opt,name=value_type,json=valueType,enum=ts_mon.proto.ValueType" json:"value_type,omitempty"`
Description *string `protobuf:"bytes,5,opt,name=description" json:"description,omitempty"`
Annotations *Annotations `protobuf:"bytes,6,opt,name=annotations" json:"annotations,omitempty"`
Data []*MetricsData `protobuf:"bytes,7,rep,name=data" json:"data,omitempty"`
}
func (x *MetricsDataSet) Reset() {
*x = MetricsDataSet{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MetricsDataSet) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MetricsDataSet) ProtoMessage() {}
func (x *MetricsDataSet) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MetricsDataSet.ProtoReflect.Descriptor instead.
func (*MetricsDataSet) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDescGZIP(), []int{2}
}
func (x *MetricsDataSet) GetMetricName() string {
if x != nil && x.MetricName != nil {
return *x.MetricName
}
return ""
}
func (x *MetricsDataSet) GetFieldDescriptor() []*MetricsDataSet_MetricFieldDescriptor {
if x != nil {
return x.FieldDescriptor
}
return nil
}
func (x *MetricsDataSet) GetStreamKind() StreamKind {
if x != nil && x.StreamKind != nil {
return *x.StreamKind
}
return StreamKind_GAUGE
}
func (x *MetricsDataSet) GetValueType() ValueType {
if x != nil && x.ValueType != nil {
return *x.ValueType
}
return ValueType_BOOL
}
func (x *MetricsDataSet) GetDescription() string {
if x != nil && x.Description != nil {
return *x.Description
}
return ""
}
func (x *MetricsDataSet) GetAnnotations() *Annotations {
if x != nil {
return x.Annotations
}
return nil
}
func (x *MetricsDataSet) GetData() []*MetricsData {
if x != nil {
return x.Data
}
return nil
}
type MetricsData struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to Value:
//
// *MetricsData_BoolValue
// *MetricsData_StringValue
// *MetricsData_Int64Value
// *MetricsData_DoubleValue
// *MetricsData_DistributionValue
Value isMetricsData_Value `protobuf_oneof:"value"`
Field []*MetricsData_MetricField `protobuf:"bytes,6,rep,name=field" json:"field,omitempty"`
StartTimestamp *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=start_timestamp,json=startTimestamp" json:"start_timestamp,omitempty"`
EndTimestamp *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=end_timestamp,json=endTimestamp" json:"end_timestamp,omitempty"`
}
func (x *MetricsData) Reset() {
*x = MetricsData{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MetricsData) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MetricsData) ProtoMessage() {}
func (x *MetricsData) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MetricsData.ProtoReflect.Descriptor instead.
func (*MetricsData) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDescGZIP(), []int{3}
}
func (m *MetricsData) GetValue() isMetricsData_Value {
if m != nil {
return m.Value
}
return nil
}
func (x *MetricsData) GetBoolValue() bool {
if x, ok := x.GetValue().(*MetricsData_BoolValue); ok {
return x.BoolValue
}
return false
}
func (x *MetricsData) GetStringValue() string {
if x, ok := x.GetValue().(*MetricsData_StringValue); ok {
return x.StringValue
}
return ""
}
func (x *MetricsData) GetInt64Value() int64 {
if x, ok := x.GetValue().(*MetricsData_Int64Value); ok {
return x.Int64Value
}
return 0
}
func (x *MetricsData) GetDoubleValue() float64 {
if x, ok := x.GetValue().(*MetricsData_DoubleValue); ok {
return x.DoubleValue
}
return 0
}
func (x *MetricsData) GetDistributionValue() *MetricsData_Distribution {
if x, ok := x.GetValue().(*MetricsData_DistributionValue); ok {
return x.DistributionValue
}
return nil
}
func (x *MetricsData) GetField() []*MetricsData_MetricField {
if x != nil {
return x.Field
}
return nil
}
func (x *MetricsData) GetStartTimestamp() *timestamppb.Timestamp {
if x != nil {
return x.StartTimestamp
}
return nil
}
func (x *MetricsData) GetEndTimestamp() *timestamppb.Timestamp {
if x != nil {
return x.EndTimestamp
}
return nil
}
type isMetricsData_Value interface {
isMetricsData_Value()
}
type MetricsData_BoolValue struct {
BoolValue bool `protobuf:"varint,1,opt,name=bool_value,json=boolValue,oneof"`
}
type MetricsData_StringValue struct {
StringValue string `protobuf:"bytes,2,opt,name=string_value,json=stringValue,oneof"`
}
type MetricsData_Int64Value struct {
Int64Value int64 `protobuf:"varint,3,opt,name=int64_value,json=int64Value,oneof"`
}
type MetricsData_DoubleValue struct {
DoubleValue float64 `protobuf:"fixed64,4,opt,name=double_value,json=doubleValue,oneof"`
}
type MetricsData_DistributionValue struct {
DistributionValue *MetricsData_Distribution `protobuf:"bytes,5,opt,name=distribution_value,json=distributionValue,oneof"`
}
func (*MetricsData_BoolValue) isMetricsData_Value() {}
func (*MetricsData_StringValue) isMetricsData_Value() {}
func (*MetricsData_Int64Value) isMetricsData_Value() {}
func (*MetricsData_DoubleValue) isMetricsData_Value() {}
func (*MetricsData_DistributionValue) isMetricsData_Value() {}
type Annotations struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Unit *string `protobuf:"bytes,1,opt,name=unit" json:"unit,omitempty"`
Timestamp *bool `protobuf:"varint,2,opt,name=timestamp" json:"timestamp,omitempty"`
Deprecation *string `protobuf:"bytes,3,opt,name=deprecation" json:"deprecation,omitempty"`
Annotation []*anypb.Any `protobuf:"bytes,4,rep,name=annotation" json:"annotation,omitempty"`
}
func (x *Annotations) Reset() {
*x = Annotations{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Annotations) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Annotations) ProtoMessage() {}
func (x *Annotations) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Annotations.ProtoReflect.Descriptor instead.
func (*Annotations) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDescGZIP(), []int{4}
}
func (x *Annotations) GetUnit() string {
if x != nil && x.Unit != nil {
return *x.Unit
}
return ""
}
func (x *Annotations) GetTimestamp() bool {
if x != nil && x.Timestamp != nil {
return *x.Timestamp
}
return false
}
func (x *Annotations) GetDeprecation() string {
if x != nil && x.Deprecation != nil {
return *x.Deprecation
}
return ""
}
func (x *Annotations) GetAnnotation() []*anypb.Any {
if x != nil {
return x.Annotation
}
return nil
}
type MetricsCollection_RootLabels struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Key *string `protobuf:"bytes,1,req,name=key" json:"key,omitempty"`
// Types that are assignable to Value:
//
// *MetricsCollection_RootLabels_StringValue
// *MetricsCollection_RootLabels_Int64Value
// *MetricsCollection_RootLabels_BoolValue
Value isMetricsCollection_RootLabels_Value `protobuf_oneof:"value"`
}
func (x *MetricsCollection_RootLabels) Reset() {
*x = MetricsCollection_RootLabels{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MetricsCollection_RootLabels) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MetricsCollection_RootLabels) ProtoMessage() {}
func (x *MetricsCollection_RootLabels) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MetricsCollection_RootLabels.ProtoReflect.Descriptor instead.
func (*MetricsCollection_RootLabels) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDescGZIP(), []int{1, 0}
}
func (x *MetricsCollection_RootLabels) GetKey() string {
if x != nil && x.Key != nil {
return *x.Key
}
return ""
}
func (m *MetricsCollection_RootLabels) GetValue() isMetricsCollection_RootLabels_Value {
if m != nil {
return m.Value
}
return nil
}
func (x *MetricsCollection_RootLabels) GetStringValue() string {
if x, ok := x.GetValue().(*MetricsCollection_RootLabels_StringValue); ok {
return x.StringValue
}
return ""
}
func (x *MetricsCollection_RootLabels) GetInt64Value() int64 {
if x, ok := x.GetValue().(*MetricsCollection_RootLabels_Int64Value); ok {
return x.Int64Value
}
return 0
}
func (x *MetricsCollection_RootLabels) GetBoolValue() bool {
if x, ok := x.GetValue().(*MetricsCollection_RootLabels_BoolValue); ok {
return x.BoolValue
}
return false
}
type isMetricsCollection_RootLabels_Value interface {
isMetricsCollection_RootLabels_Value()
}
type MetricsCollection_RootLabels_StringValue struct {
StringValue string `protobuf:"bytes,2,opt,name=string_value,json=stringValue,oneof"`
}
type MetricsCollection_RootLabels_Int64Value struct {
Int64Value int64 `protobuf:"varint,3,opt,name=int64_value,json=int64Value,oneof"`
}
type MetricsCollection_RootLabels_BoolValue struct {
BoolValue bool `protobuf:"varint,4,opt,name=bool_value,json=boolValue,oneof"`
}
func (*MetricsCollection_RootLabels_StringValue) isMetricsCollection_RootLabels_Value() {}
func (*MetricsCollection_RootLabels_Int64Value) isMetricsCollection_RootLabels_Value() {}
func (*MetricsCollection_RootLabels_BoolValue) isMetricsCollection_RootLabels_Value() {}
type MetricsDataSet_MetricFieldDescriptor struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Metric field name.
// Regex: ^[A-Za-z_][A-Za-z0-9_]*$
Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
FieldType *MetricsDataSet_MetricFieldDescriptor_FieldType `protobuf:"varint,2,opt,name=field_type,json=fieldType,enum=ts_mon.proto.MetricsDataSet_MetricFieldDescriptor_FieldType" json:"field_type,omitempty"`
}
func (x *MetricsDataSet_MetricFieldDescriptor) Reset() {
*x = MetricsDataSet_MetricFieldDescriptor{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MetricsDataSet_MetricFieldDescriptor) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MetricsDataSet_MetricFieldDescriptor) ProtoMessage() {}
func (x *MetricsDataSet_MetricFieldDescriptor) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MetricsDataSet_MetricFieldDescriptor.ProtoReflect.Descriptor instead.
func (*MetricsDataSet_MetricFieldDescriptor) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDescGZIP(), []int{2, 0}
}
func (x *MetricsDataSet_MetricFieldDescriptor) GetName() string {
if x != nil && x.Name != nil {
return *x.Name
}
return ""
}
func (x *MetricsDataSet_MetricFieldDescriptor) GetFieldType() MetricsDataSet_MetricFieldDescriptor_FieldType {
if x != nil && x.FieldType != nil {
return *x.FieldType
}
return MetricsDataSet_MetricFieldDescriptor_STRING
}
type MetricsData_MetricField struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
// Types that are assignable to Value:
//
// *MetricsData_MetricField_StringValue
// *MetricsData_MetricField_Int64Value
// *MetricsData_MetricField_BoolValue
Value isMetricsData_MetricField_Value `protobuf_oneof:"value"`
}
func (x *MetricsData_MetricField) Reset() {
*x = MetricsData_MetricField{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MetricsData_MetricField) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MetricsData_MetricField) ProtoMessage() {}
func (x *MetricsData_MetricField) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MetricsData_MetricField.ProtoReflect.Descriptor instead.
func (*MetricsData_MetricField) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDescGZIP(), []int{3, 0}
}
func (x *MetricsData_MetricField) GetName() string {
if x != nil && x.Name != nil {
return *x.Name
}
return ""
}
func (m *MetricsData_MetricField) GetValue() isMetricsData_MetricField_Value {
if m != nil {
return m.Value
}
return nil
}
func (x *MetricsData_MetricField) GetStringValue() string {
if x, ok := x.GetValue().(*MetricsData_MetricField_StringValue); ok {
return x.StringValue
}
return ""
}
func (x *MetricsData_MetricField) GetInt64Value() int64 {
if x, ok := x.GetValue().(*MetricsData_MetricField_Int64Value); ok {
return x.Int64Value
}
return 0
}
func (x *MetricsData_MetricField) GetBoolValue() bool {
if x, ok := x.GetValue().(*MetricsData_MetricField_BoolValue); ok {
return x.BoolValue
}
return false
}
type isMetricsData_MetricField_Value interface {
isMetricsData_MetricField_Value()
}
type MetricsData_MetricField_StringValue struct {
StringValue string `protobuf:"bytes,2,opt,name=string_value,json=stringValue,oneof"`
}
type MetricsData_MetricField_Int64Value struct {
Int64Value int64 `protobuf:"varint,3,opt,name=int64_value,json=int64Value,oneof"`
}
type MetricsData_MetricField_BoolValue struct {
BoolValue bool `protobuf:"varint,4,opt,name=bool_value,json=boolValue,oneof"`
}
func (*MetricsData_MetricField_StringValue) isMetricsData_MetricField_Value() {}
func (*MetricsData_MetricField_Int64Value) isMetricsData_MetricField_Value() {}
func (*MetricsData_MetricField_BoolValue) isMetricsData_MetricField_Value() {}
type MetricsData_Distribution struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Count *int64 `protobuf:"varint,1,opt,name=count" json:"count,omitempty"`
Mean *float64 `protobuf:"fixed64,2,opt,name=mean" json:"mean,omitempty"`
SumOfSquaredDeviation *float64 `protobuf:"fixed64,3,opt,name=sum_of_squared_deviation,json=sumOfSquaredDeviation" json:"sum_of_squared_deviation,omitempty"`
Minimum *float64 `protobuf:"fixed64,4,opt,name=minimum" json:"minimum,omitempty"`
Maximum *float64 `protobuf:"fixed64,5,opt,name=maximum" json:"maximum,omitempty"`
// Types that are assignable to BucketOptions:
//
// *MetricsData_Distribution_LinearBuckets
// *MetricsData_Distribution_ExponentialBuckets
// *MetricsData_Distribution_ExplicitBuckets
BucketOptions isMetricsData_Distribution_BucketOptions `protobuf_oneof:"bucket_options"`
BucketCount []int64 `protobuf:"varint,9,rep,packed,name=bucket_count,json=bucketCount" json:"bucket_count,omitempty"`
Exemplar []*MetricsData_Distribution_Exemplar `protobuf:"bytes,10,rep,name=exemplar" json:"exemplar,omitempty"`
}
func (x *MetricsData_Distribution) Reset() {
*x = MetricsData_Distribution{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MetricsData_Distribution) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MetricsData_Distribution) ProtoMessage() {}
func (x *MetricsData_Distribution) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MetricsData_Distribution.ProtoReflect.Descriptor instead.
func (*MetricsData_Distribution) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDescGZIP(), []int{3, 1}
}
func (x *MetricsData_Distribution) GetCount() int64 {
if x != nil && x.Count != nil {
return *x.Count
}
return 0
}
func (x *MetricsData_Distribution) GetMean() float64 {
if x != nil && x.Mean != nil {
return *x.Mean
}
return 0
}
func (x *MetricsData_Distribution) GetSumOfSquaredDeviation() float64 {
if x != nil && x.SumOfSquaredDeviation != nil {
return *x.SumOfSquaredDeviation
}
return 0
}
func (x *MetricsData_Distribution) GetMinimum() float64 {
if x != nil && x.Minimum != nil {
return *x.Minimum
}
return 0
}
func (x *MetricsData_Distribution) GetMaximum() float64 {
if x != nil && x.Maximum != nil {
return *x.Maximum
}
return 0
}
func (m *MetricsData_Distribution) GetBucketOptions() isMetricsData_Distribution_BucketOptions {
if m != nil {
return m.BucketOptions
}
return nil
}
func (x *MetricsData_Distribution) GetLinearBuckets() *MetricsData_Distribution_LinearOptions {
if x, ok := x.GetBucketOptions().(*MetricsData_Distribution_LinearBuckets); ok {
return x.LinearBuckets
}
return nil
}
func (x *MetricsData_Distribution) GetExponentialBuckets() *MetricsData_Distribution_ExponentialOptions {
if x, ok := x.GetBucketOptions().(*MetricsData_Distribution_ExponentialBuckets); ok {
return x.ExponentialBuckets
}
return nil
}
func (x *MetricsData_Distribution) GetExplicitBuckets() *MetricsData_Distribution_ExplicitOptions {
if x, ok := x.GetBucketOptions().(*MetricsData_Distribution_ExplicitBuckets); ok {
return x.ExplicitBuckets
}
return nil
}
func (x *MetricsData_Distribution) GetBucketCount() []int64 {
if x != nil {
return x.BucketCount
}
return nil
}
func (x *MetricsData_Distribution) GetExemplar() []*MetricsData_Distribution_Exemplar {
if x != nil {
return x.Exemplar
}
return nil
}
type isMetricsData_Distribution_BucketOptions interface {
isMetricsData_Distribution_BucketOptions()
}
type MetricsData_Distribution_LinearBuckets struct {
LinearBuckets *MetricsData_Distribution_LinearOptions `protobuf:"bytes,6,opt,name=linear_buckets,json=linearBuckets,oneof"`
}
type MetricsData_Distribution_ExponentialBuckets struct {
ExponentialBuckets *MetricsData_Distribution_ExponentialOptions `protobuf:"bytes,7,opt,name=exponential_buckets,json=exponentialBuckets,oneof"`
}
type MetricsData_Distribution_ExplicitBuckets struct {
ExplicitBuckets *MetricsData_Distribution_ExplicitOptions `protobuf:"bytes,8,opt,name=explicit_buckets,json=explicitBuckets,oneof"`
}
func (*MetricsData_Distribution_LinearBuckets) isMetricsData_Distribution_BucketOptions() {}
func (*MetricsData_Distribution_ExponentialBuckets) isMetricsData_Distribution_BucketOptions() {}
func (*MetricsData_Distribution_ExplicitBuckets) isMetricsData_Distribution_BucketOptions() {}
type MetricsData_Distribution_LinearOptions struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
NumFiniteBuckets *int32 `protobuf:"varint,1,opt,name=num_finite_buckets,json=numFiniteBuckets" json:"num_finite_buckets,omitempty"`
Width *float64 `protobuf:"fixed64,2,opt,name=width" json:"width,omitempty"`
Offset *float64 `protobuf:"fixed64,3,opt,name=offset" json:"offset,omitempty"`
}
func (x *MetricsData_Distribution_LinearOptions) Reset() {
*x = MetricsData_Distribution_LinearOptions{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MetricsData_Distribution_LinearOptions) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MetricsData_Distribution_LinearOptions) ProtoMessage() {}
func (x *MetricsData_Distribution_LinearOptions) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MetricsData_Distribution_LinearOptions.ProtoReflect.Descriptor instead.
func (*MetricsData_Distribution_LinearOptions) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDescGZIP(), []int{3, 1, 0}
}
func (x *MetricsData_Distribution_LinearOptions) GetNumFiniteBuckets() int32 {
if x != nil && x.NumFiniteBuckets != nil {
return *x.NumFiniteBuckets
}
return 0
}
func (x *MetricsData_Distribution_LinearOptions) GetWidth() float64 {
if x != nil && x.Width != nil {
return *x.Width
}
return 0
}
func (x *MetricsData_Distribution_LinearOptions) GetOffset() float64 {
if x != nil && x.Offset != nil {
return *x.Offset
}
return 0
}
type MetricsData_Distribution_ExponentialOptions struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
NumFiniteBuckets *int32 `protobuf:"varint,1,opt,name=num_finite_buckets,json=numFiniteBuckets" json:"num_finite_buckets,omitempty"`
GrowthFactor *float64 `protobuf:"fixed64,2,opt,name=growth_factor,json=growthFactor" json:"growth_factor,omitempty"`
Scale *float64 `protobuf:"fixed64,3,opt,name=scale" json:"scale,omitempty"`
}
func (x *MetricsData_Distribution_ExponentialOptions) Reset() {
*x = MetricsData_Distribution_ExponentialOptions{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MetricsData_Distribution_ExponentialOptions) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MetricsData_Distribution_ExponentialOptions) ProtoMessage() {}
func (x *MetricsData_Distribution_ExponentialOptions) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MetricsData_Distribution_ExponentialOptions.ProtoReflect.Descriptor instead.
func (*MetricsData_Distribution_ExponentialOptions) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDescGZIP(), []int{3, 1, 1}
}
func (x *MetricsData_Distribution_ExponentialOptions) GetNumFiniteBuckets() int32 {
if x != nil && x.NumFiniteBuckets != nil {
return *x.NumFiniteBuckets
}
return 0
}
func (x *MetricsData_Distribution_ExponentialOptions) GetGrowthFactor() float64 {
if x != nil && x.GrowthFactor != nil {
return *x.GrowthFactor
}
return 0
}
func (x *MetricsData_Distribution_ExponentialOptions) GetScale() float64 {
if x != nil && x.Scale != nil {
return *x.Scale
}
return 0
}
type MetricsData_Distribution_ExplicitOptions struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Bound []float64 `protobuf:"fixed64,1,rep,packed,name=bound" json:"bound,omitempty"`
}
func (x *MetricsData_Distribution_ExplicitOptions) Reset() {
*x = MetricsData_Distribution_ExplicitOptions{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MetricsData_Distribution_ExplicitOptions) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MetricsData_Distribution_ExplicitOptions) ProtoMessage() {}
func (x *MetricsData_Distribution_ExplicitOptions) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MetricsData_Distribution_ExplicitOptions.ProtoReflect.Descriptor instead.
func (*MetricsData_Distribution_ExplicitOptions) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDescGZIP(), []int{3, 1, 2}
}
func (x *MetricsData_Distribution_ExplicitOptions) GetBound() []float64 {
if x != nil {
return x.Bound
}
return nil
}
type MetricsData_Distribution_Exemplar struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Value *float64 `protobuf:"fixed64,1,opt,name=value" json:"value,omitempty"`
Timestamp *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=timestamp" json:"timestamp,omitempty"`
Attachment []*anypb.Any `protobuf:"bytes,3,rep,name=attachment" json:"attachment,omitempty"`
}
func (x *MetricsData_Distribution_Exemplar) Reset() {
*x = MetricsData_Distribution_Exemplar{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MetricsData_Distribution_Exemplar) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MetricsData_Distribution_Exemplar) ProtoMessage() {}
func (x *MetricsData_Distribution_Exemplar) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MetricsData_Distribution_Exemplar.ProtoReflect.Descriptor instead.
func (*MetricsData_Distribution_Exemplar) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDescGZIP(), []int{3, 1, 3}
}
func (x *MetricsData_Distribution_Exemplar) GetValue() float64 {
if x != nil && x.Value != nil {
return *x.Value
}
return 0
}
func (x *MetricsData_Distribution_Exemplar) GetTimestamp() *timestamppb.Timestamp {
if x != nil {
return x.Timestamp
}
return nil
}
func (x *MetricsData_Distribution_Exemplar) GetAttachment() []*anypb.Any {
if x != nil {
return x.Attachment
}
return nil
}
var File_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto protoreflect.FileDescriptor
var file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDesc = []byte{
0x0a, 0x3c, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72,
0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x73,
0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x73, 0x5f, 0x6d, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c,
0x74, 0x73, 0x5f, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e,
0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x60, 0x0a, 0x0e, 0x4d, 0x65, 0x74, 0x72,
0x69, 0x63, 0x73, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x4e, 0x0a, 0x12, 0x6d, 0x65,
0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x74, 0x73, 0x5f, 0x6d, 0x6f, 0x6e, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x43, 0x6f, 0x6c,
0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73,
0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc7, 0x02, 0x0a, 0x11, 0x4d,
0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x12, 0x46, 0x0a, 0x10, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x64, 0x61, 0x74, 0x61,
0x5f, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x74, 0x73, 0x5f,
0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
0x73, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x0e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63,
0x73, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x12, 0x4b, 0x0a, 0x0b, 0x72, 0x6f, 0x6f, 0x74,
0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e,
0x74, 0x73, 0x5f, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x74,
0x72, 0x69, 0x63, 0x73, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52,
0x6f, 0x6f, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x0a, 0x72, 0x6f, 0x6f, 0x74, 0x4c,
0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x90, 0x01, 0x0a, 0x0a, 0x52, 0x6f, 0x6f, 0x74, 0x4c, 0x61,
0x62, 0x65, 0x6c, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x02, 0x28,
0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b,
0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x69,
0x6e, 0x74, 0x36, 0x34, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03,
0x48, 0x00, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f,
0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01,
0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42,
0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x4a, 0x04, 0x08, 0x0b, 0x10, 0x0c, 0x4a, 0x04,
0x08, 0x0c, 0x10, 0x0d, 0x22, 0xca, 0x04, 0x0a, 0x0e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73,
0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69,
0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x65,
0x74, 0x72, 0x69, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x5d, 0x0a, 0x10, 0x66, 0x69, 0x65, 0x6c,
0x64, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x32, 0x2e, 0x74, 0x73, 0x5f, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74,
0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x65, 0x73, 0x63,
0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x0f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x65, 0x73,
0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x39, 0x0a, 0x0b, 0x73, 0x74, 0x72, 0x65, 0x61,
0x6d, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x74,
0x73, 0x5f, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x74, 0x72, 0x65,
0x61, 0x6d, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x0a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4b, 0x69,
0x6e, 0x64, 0x12, 0x36, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65,
0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x74, 0x73, 0x5f, 0x6d, 0x6f, 0x6e, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52,
0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65,
0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x0b,
0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x19, 0x2e, 0x74, 0x73, 0x5f, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x61, 0x6e,
0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2d, 0x0a, 0x04, 0x64, 0x61, 0x74,
0x61, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x74, 0x73, 0x5f, 0x6d, 0x6f, 0x6e,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61,
0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x1a, 0xb6, 0x01, 0x0a, 0x15, 0x4d, 0x65, 0x74,
0x72, 0x69, 0x63, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x5b, 0x0a, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f,
0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x74, 0x73, 0x5f,
0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
0x73, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x46,
0x69, 0x65, 0x6c, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x46,
0x69, 0x65, 0x6c, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x54,
0x79, 0x70, 0x65, 0x22, 0x2c, 0x0a, 0x09, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x54, 0x79, 0x70, 0x65,
0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05,
0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x4f, 0x4f, 0x4c, 0x10,
0x02, 0x22, 0xe2, 0x0c, 0x0a, 0x0b, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, 0x74,
0x61, 0x12, 0x1f, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c,
0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69,
0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x36, 0x34,
0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0a,
0x69, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x64, 0x6f,
0x75, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01,
0x48, 0x00, 0x52, 0x0b, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12,
0x57, 0x0a, 0x12, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x74, 0x73,
0x5f, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69,
0x63, 0x73, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x11, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3b, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c,
0x64, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x74, 0x73, 0x5f, 0x6d, 0x6f, 0x6e,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61,
0x74, 0x61, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x05,
0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x43, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74,
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x72,
0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x3f, 0x0a, 0x0d, 0x65, 0x6e,
0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x65,
0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x1a, 0x93, 0x01, 0x0a, 0x0b,
0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e,
0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56,
0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0a, 0x69, 0x6e, 0x74,
0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6c, 0x5f,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x62,
0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x1a, 0x89, 0x08, 0x0a, 0x0c, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69,
0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x61, 0x6e,
0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x04, 0x6d, 0x65, 0x61, 0x6e, 0x12, 0x37, 0x0a, 0x18,
0x73, 0x75, 0x6d, 0x5f, 0x6f, 0x66, 0x5f, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x64,
0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x15,
0x73, 0x75, 0x6d, 0x4f, 0x66, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x64, 0x44, 0x65, 0x76, 0x69,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d,
0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x12,
0x18, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01,
0x52, 0x07, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x5d, 0x0a, 0x0e, 0x6c, 0x69, 0x6e,
0x65, 0x61, 0x72, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x34, 0x2e, 0x74, 0x73, 0x5f, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x69, 0x73,
0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x72,
0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0d, 0x6c, 0x69, 0x6e, 0x65, 0x61,
0x72, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x6c, 0x0a, 0x13, 0x65, 0x78, 0x70, 0x6f,
0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18,
0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x74, 0x73, 0x5f, 0x6d, 0x6f, 0x6e, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, 0x74, 0x61,
0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x45, 0x78,
0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
0x48, 0x00, 0x52, 0x12, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x42,
0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x63, 0x0a, 0x10, 0x65, 0x78, 0x70, 0x6c, 0x69, 0x63,
0x69, 0x74, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x36, 0x2e, 0x74, 0x73, 0x5f, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x69, 0x73, 0x74,
0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x69, 0x63, 0x69,
0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0f, 0x65, 0x78, 0x70, 0x6c,
0x69, 0x63, 0x69, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x0c, 0x62,
0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28,
0x03, 0x42, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x75,
0x6e, 0x74, 0x12, 0x4b, 0x0a, 0x08, 0x65, 0x78, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x72, 0x18, 0x0a,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x74, 0x73, 0x5f, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, 0x74, 0x61, 0x2e,
0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x45, 0x78, 0x65,
0x6d, 0x70, 0x6c, 0x61, 0x72, 0x52, 0x08, 0x65, 0x78, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x72, 0x1a,
0x6b, 0x0a, 0x0d, 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
0x12, 0x2c, 0x0a, 0x12, 0x6e, 0x75, 0x6d, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x65, 0x5f, 0x62,
0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6e, 0x75,
0x6d, 0x46, 0x69, 0x6e, 0x69, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x14,
0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x77,
0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x03,
0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x1a, 0x7d, 0x0a, 0x12,
0x45, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x6e, 0x75, 0x6d, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x65,
0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10,
0x6e, 0x75, 0x6d, 0x46, 0x69, 0x6e, 0x69, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73,
0x12, 0x23, 0x0a, 0x0d, 0x67, 0x72, 0x6f, 0x77, 0x74, 0x68, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f,
0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x67, 0x72, 0x6f, 0x77, 0x74, 0x68, 0x46,
0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x03,
0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x1a, 0x2b, 0x0a, 0x0f, 0x45,
0x78, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18,
0x0a, 0x05, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x01, 0x42, 0x02, 0x10,
0x01, 0x52, 0x05, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x1a, 0x90, 0x01, 0x0a, 0x08, 0x45, 0x78, 0x65,
0x6d, 0x70, 0x6c, 0x61, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01,
0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x74,
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65,
0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x34, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d,
0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52,
0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x62,
0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x07, 0x0a,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x97, 0x01, 0x0a, 0x0b, 0x41, 0x6e, 0x6e, 0x6f, 0x74,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x6e, 0x69, 0x74, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x6e, 0x69, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69,
0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x74,
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x70, 0x72,
0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64,
0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x0a, 0x61, 0x6e,
0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x2a, 0x32, 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x09,
0x0a, 0x05, 0x47, 0x41, 0x55, 0x47, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x55, 0x4d,
0x55, 0x4c, 0x41, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x44, 0x45, 0x4c,
0x54, 0x41, 0x10, 0x02, 0x2a, 0x4a, 0x0a, 0x09, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70,
0x65, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x4f, 0x4f, 0x4c, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53,
0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x49, 0x4e, 0x54, 0x36, 0x34,
0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x4f, 0x55, 0x42, 0x4c, 0x45, 0x10, 0x03, 0x12, 0x10,
0x0a, 0x0c, 0x44, 0x49, 0x53, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04,
0x42, 0x30, 0x5a, 0x2e, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e,
0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f,
0x74, 0x73, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x73, 0x5f, 0x6d, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f,
0x74, 0x6f,
}
var (
file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDescOnce sync.Once
file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDescData = file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDesc
)
func file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDescGZIP() []byte {
file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDescOnce.Do(func() {
file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDescData = protoimpl.X.CompressGZIP(file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDescData)
})
return file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDescData
}
var file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
var file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes = make([]protoimpl.MessageInfo, 13)
var file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_goTypes = []interface{}{
(StreamKind)(0), // 0: ts_mon.proto.StreamKind
(ValueType)(0), // 1: ts_mon.proto.ValueType
(MetricsDataSet_MetricFieldDescriptor_FieldType)(0), // 2: ts_mon.proto.MetricsDataSet.MetricFieldDescriptor.FieldType
(*MetricsPayload)(nil), // 3: ts_mon.proto.MetricsPayload
(*MetricsCollection)(nil), // 4: ts_mon.proto.MetricsCollection
(*MetricsDataSet)(nil), // 5: ts_mon.proto.MetricsDataSet
(*MetricsData)(nil), // 6: ts_mon.proto.MetricsData
(*Annotations)(nil), // 7: ts_mon.proto.Annotations
(*MetricsCollection_RootLabels)(nil), // 8: ts_mon.proto.MetricsCollection.RootLabels
(*MetricsDataSet_MetricFieldDescriptor)(nil), // 9: ts_mon.proto.MetricsDataSet.MetricFieldDescriptor
(*MetricsData_MetricField)(nil), // 10: ts_mon.proto.MetricsData.MetricField
(*MetricsData_Distribution)(nil), // 11: ts_mon.proto.MetricsData.Distribution
(*MetricsData_Distribution_LinearOptions)(nil), // 12: ts_mon.proto.MetricsData.Distribution.LinearOptions
(*MetricsData_Distribution_ExponentialOptions)(nil), // 13: ts_mon.proto.MetricsData.Distribution.ExponentialOptions
(*MetricsData_Distribution_ExplicitOptions)(nil), // 14: ts_mon.proto.MetricsData.Distribution.ExplicitOptions
(*MetricsData_Distribution_Exemplar)(nil), // 15: ts_mon.proto.MetricsData.Distribution.Exemplar
(*timestamppb.Timestamp)(nil), // 16: google.protobuf.Timestamp
(*anypb.Any)(nil), // 17: google.protobuf.Any
}
var file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_depIdxs = []int32{
4, // 0: ts_mon.proto.MetricsPayload.metrics_collection:type_name -> ts_mon.proto.MetricsCollection
5, // 1: ts_mon.proto.MetricsCollection.metrics_data_set:type_name -> ts_mon.proto.MetricsDataSet
8, // 2: ts_mon.proto.MetricsCollection.root_labels:type_name -> ts_mon.proto.MetricsCollection.RootLabels
9, // 3: ts_mon.proto.MetricsDataSet.field_descriptor:type_name -> ts_mon.proto.MetricsDataSet.MetricFieldDescriptor
0, // 4: ts_mon.proto.MetricsDataSet.stream_kind:type_name -> ts_mon.proto.StreamKind
1, // 5: ts_mon.proto.MetricsDataSet.value_type:type_name -> ts_mon.proto.ValueType
7, // 6: ts_mon.proto.MetricsDataSet.annotations:type_name -> ts_mon.proto.Annotations
6, // 7: ts_mon.proto.MetricsDataSet.data:type_name -> ts_mon.proto.MetricsData
11, // 8: ts_mon.proto.MetricsData.distribution_value:type_name -> ts_mon.proto.MetricsData.Distribution
10, // 9: ts_mon.proto.MetricsData.field:type_name -> ts_mon.proto.MetricsData.MetricField
16, // 10: ts_mon.proto.MetricsData.start_timestamp:type_name -> google.protobuf.Timestamp
16, // 11: ts_mon.proto.MetricsData.end_timestamp:type_name -> google.protobuf.Timestamp
17, // 12: ts_mon.proto.Annotations.annotation:type_name -> google.protobuf.Any
2, // 13: ts_mon.proto.MetricsDataSet.MetricFieldDescriptor.field_type:type_name -> ts_mon.proto.MetricsDataSet.MetricFieldDescriptor.FieldType
12, // 14: ts_mon.proto.MetricsData.Distribution.linear_buckets:type_name -> ts_mon.proto.MetricsData.Distribution.LinearOptions
13, // 15: ts_mon.proto.MetricsData.Distribution.exponential_buckets:type_name -> ts_mon.proto.MetricsData.Distribution.ExponentialOptions
14, // 16: ts_mon.proto.MetricsData.Distribution.explicit_buckets:type_name -> ts_mon.proto.MetricsData.Distribution.ExplicitOptions
15, // 17: ts_mon.proto.MetricsData.Distribution.exemplar:type_name -> ts_mon.proto.MetricsData.Distribution.Exemplar
16, // 18: ts_mon.proto.MetricsData.Distribution.Exemplar.timestamp:type_name -> google.protobuf.Timestamp
17, // 19: ts_mon.proto.MetricsData.Distribution.Exemplar.attachment:type_name -> google.protobuf.Any
20, // [20:20] is the sub-list for method output_type
20, // [20:20] is the sub-list for method input_type
20, // [20:20] is the sub-list for extension type_name
20, // [20:20] is the sub-list for extension extendee
0, // [0:20] is the sub-list for field type_name
}
func init() { file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_init() }
func file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_init() {
if File_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MetricsPayload); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MetricsCollection); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MetricsDataSet); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MetricsData); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Annotations); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MetricsCollection_RootLabels); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MetricsDataSet_MetricFieldDescriptor); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MetricsData_MetricField); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MetricsData_Distribution); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MetricsData_Distribution_LinearOptions); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MetricsData_Distribution_ExponentialOptions); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MetricsData_Distribution_ExplicitOptions); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MetricsData_Distribution_Exemplar); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[3].OneofWrappers = []interface{}{
(*MetricsData_BoolValue)(nil),
(*MetricsData_StringValue)(nil),
(*MetricsData_Int64Value)(nil),
(*MetricsData_DoubleValue)(nil),
(*MetricsData_DistributionValue)(nil),
}
file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[5].OneofWrappers = []interface{}{
(*MetricsCollection_RootLabels_StringValue)(nil),
(*MetricsCollection_RootLabels_Int64Value)(nil),
(*MetricsCollection_RootLabels_BoolValue)(nil),
}
file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[7].OneofWrappers = []interface{}{
(*MetricsData_MetricField_StringValue)(nil),
(*MetricsData_MetricField_Int64Value)(nil),
(*MetricsData_MetricField_BoolValue)(nil),
}
file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[8].OneofWrappers = []interface{}{
(*MetricsData_Distribution_LinearBuckets)(nil),
(*MetricsData_Distribution_ExponentialBuckets)(nil),
(*MetricsData_Distribution_ExplicitBuckets)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDesc,
NumEnums: 3,
NumMessages: 13,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_goTypes,
DependencyIndexes: file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_depIdxs,
EnumInfos: file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_enumTypes,
MessageInfos: file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes,
}.Build()
File_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto = out.File
file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDesc = nil
file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_goTypes = nil
file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_depIdxs = nil
}