go.chromium.org/luci@v0.0.0-20240309015107-7cdc2e660f33/common/tsmon/ts_mon_proto/metrics.pb.go (about)

     1  // Copyright 2016 The Chromium Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style license that can be
     3  // found in the LICENSE file.
     4  
     5  // Code generated by protoc-gen-go. DO NOT EDIT.
     6  // versions:
     7  // 	protoc-gen-go v1.31.0
     8  // 	protoc        v3.21.7
     9  // source: go.chromium.org/luci/common/tsmon/ts_mon_proto/metrics.proto
    10  
    11  package ts_mon_proto
    12  
    13  import (
    14  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    15  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    16  	anypb "google.golang.org/protobuf/types/known/anypb"
    17  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    18  	reflect "reflect"
    19  	sync "sync"
    20  )
    21  
    22  const (
    23  	// Verify that this generated code is sufficiently up-to-date.
    24  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    25  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    26  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    27  )
    28  
    29  type StreamKind int32
    30  
    31  const (
    32  	StreamKind_GAUGE      StreamKind = 0
    33  	StreamKind_CUMULATIVE StreamKind = 1
    34  	StreamKind_DELTA      StreamKind = 2
    35  )
    36  
    37  // Enum value maps for StreamKind.
    38  var (
    39  	StreamKind_name = map[int32]string{
    40  		0: "GAUGE",
    41  		1: "CUMULATIVE",
    42  		2: "DELTA",
    43  	}
    44  	StreamKind_value = map[string]int32{
    45  		"GAUGE":      0,
    46  		"CUMULATIVE": 1,
    47  		"DELTA":      2,
    48  	}
    49  )
    50  
    51  func (x StreamKind) Enum() *StreamKind {
    52  	p := new(StreamKind)
    53  	*p = x
    54  	return p
    55  }
    56  
    57  func (x StreamKind) String() string {
    58  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    59  }
    60  
    61  func (StreamKind) Descriptor() protoreflect.EnumDescriptor {
    62  	return file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_enumTypes[0].Descriptor()
    63  }
    64  
    65  func (StreamKind) Type() protoreflect.EnumType {
    66  	return &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_enumTypes[0]
    67  }
    68  
    69  func (x StreamKind) Number() protoreflect.EnumNumber {
    70  	return protoreflect.EnumNumber(x)
    71  }
    72  
    73  // Deprecated: Do not use.
    74  func (x *StreamKind) UnmarshalJSON(b []byte) error {
    75  	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
    76  	if err != nil {
    77  		return err
    78  	}
    79  	*x = StreamKind(num)
    80  	return nil
    81  }
    82  
    83  // Deprecated: Use StreamKind.Descriptor instead.
    84  func (StreamKind) EnumDescriptor() ([]byte, []int) {
    85  	return file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDescGZIP(), []int{0}
    86  }
    87  
    88  type ValueType int32
    89  
    90  const (
    91  	ValueType_BOOL         ValueType = 0
    92  	ValueType_STRING       ValueType = 1
    93  	ValueType_INT64        ValueType = 2
    94  	ValueType_DOUBLE       ValueType = 3
    95  	ValueType_DISTRIBUTION ValueType = 4
    96  )
    97  
    98  // Enum value maps for ValueType.
    99  var (
   100  	ValueType_name = map[int32]string{
   101  		0: "BOOL",
   102  		1: "STRING",
   103  		2: "INT64",
   104  		3: "DOUBLE",
   105  		4: "DISTRIBUTION",
   106  	}
   107  	ValueType_value = map[string]int32{
   108  		"BOOL":         0,
   109  		"STRING":       1,
   110  		"INT64":        2,
   111  		"DOUBLE":       3,
   112  		"DISTRIBUTION": 4,
   113  	}
   114  )
   115  
   116  func (x ValueType) Enum() *ValueType {
   117  	p := new(ValueType)
   118  	*p = x
   119  	return p
   120  }
   121  
   122  func (x ValueType) String() string {
   123  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   124  }
   125  
   126  func (ValueType) Descriptor() protoreflect.EnumDescriptor {
   127  	return file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_enumTypes[1].Descriptor()
   128  }
   129  
   130  func (ValueType) Type() protoreflect.EnumType {
   131  	return &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_enumTypes[1]
   132  }
   133  
   134  func (x ValueType) Number() protoreflect.EnumNumber {
   135  	return protoreflect.EnumNumber(x)
   136  }
   137  
   138  // Deprecated: Do not use.
   139  func (x *ValueType) UnmarshalJSON(b []byte) error {
   140  	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
   141  	if err != nil {
   142  		return err
   143  	}
   144  	*x = ValueType(num)
   145  	return nil
   146  }
   147  
   148  // Deprecated: Use ValueType.Descriptor instead.
   149  func (ValueType) EnumDescriptor() ([]byte, []int) {
   150  	return file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDescGZIP(), []int{1}
   151  }
   152  
   153  type MetricsDataSet_MetricFieldDescriptor_FieldType int32
   154  
   155  const (
   156  	MetricsDataSet_MetricFieldDescriptor_STRING MetricsDataSet_MetricFieldDescriptor_FieldType = 0
   157  	MetricsDataSet_MetricFieldDescriptor_INT64  MetricsDataSet_MetricFieldDescriptor_FieldType = 1
   158  	MetricsDataSet_MetricFieldDescriptor_BOOL   MetricsDataSet_MetricFieldDescriptor_FieldType = 2
   159  )
   160  
   161  // Enum value maps for MetricsDataSet_MetricFieldDescriptor_FieldType.
   162  var (
   163  	MetricsDataSet_MetricFieldDescriptor_FieldType_name = map[int32]string{
   164  		0: "STRING",
   165  		1: "INT64",
   166  		2: "BOOL",
   167  	}
   168  	MetricsDataSet_MetricFieldDescriptor_FieldType_value = map[string]int32{
   169  		"STRING": 0,
   170  		"INT64":  1,
   171  		"BOOL":   2,
   172  	}
   173  )
   174  
   175  func (x MetricsDataSet_MetricFieldDescriptor_FieldType) Enum() *MetricsDataSet_MetricFieldDescriptor_FieldType {
   176  	p := new(MetricsDataSet_MetricFieldDescriptor_FieldType)
   177  	*p = x
   178  	return p
   179  }
   180  
   181  func (x MetricsDataSet_MetricFieldDescriptor_FieldType) String() string {
   182  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   183  }
   184  
   185  func (MetricsDataSet_MetricFieldDescriptor_FieldType) Descriptor() protoreflect.EnumDescriptor {
   186  	return file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_enumTypes[2].Descriptor()
   187  }
   188  
   189  func (MetricsDataSet_MetricFieldDescriptor_FieldType) Type() protoreflect.EnumType {
   190  	return &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_enumTypes[2]
   191  }
   192  
   193  func (x MetricsDataSet_MetricFieldDescriptor_FieldType) Number() protoreflect.EnumNumber {
   194  	return protoreflect.EnumNumber(x)
   195  }
   196  
   197  // Deprecated: Do not use.
   198  func (x *MetricsDataSet_MetricFieldDescriptor_FieldType) UnmarshalJSON(b []byte) error {
   199  	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
   200  	if err != nil {
   201  		return err
   202  	}
   203  	*x = MetricsDataSet_MetricFieldDescriptor_FieldType(num)
   204  	return nil
   205  }
   206  
   207  // Deprecated: Use MetricsDataSet_MetricFieldDescriptor_FieldType.Descriptor instead.
   208  func (MetricsDataSet_MetricFieldDescriptor_FieldType) EnumDescriptor() ([]byte, []int) {
   209  	return file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDescGZIP(), []int{2, 0, 0}
   210  }
   211  
   212  type MetricsPayload struct {
   213  	state         protoimpl.MessageState
   214  	sizeCache     protoimpl.SizeCache
   215  	unknownFields protoimpl.UnknownFields
   216  
   217  	MetricsCollection []*MetricsCollection `protobuf:"bytes,1,rep,name=metrics_collection,json=metricsCollection" json:"metrics_collection,omitempty"`
   218  }
   219  
   220  func (x *MetricsPayload) Reset() {
   221  	*x = MetricsPayload{}
   222  	if protoimpl.UnsafeEnabled {
   223  		mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[0]
   224  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   225  		ms.StoreMessageInfo(mi)
   226  	}
   227  }
   228  
   229  func (x *MetricsPayload) String() string {
   230  	return protoimpl.X.MessageStringOf(x)
   231  }
   232  
   233  func (*MetricsPayload) ProtoMessage() {}
   234  
   235  func (x *MetricsPayload) ProtoReflect() protoreflect.Message {
   236  	mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[0]
   237  	if protoimpl.UnsafeEnabled && x != nil {
   238  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   239  		if ms.LoadMessageInfo() == nil {
   240  			ms.StoreMessageInfo(mi)
   241  		}
   242  		return ms
   243  	}
   244  	return mi.MessageOf(x)
   245  }
   246  
   247  // Deprecated: Use MetricsPayload.ProtoReflect.Descriptor instead.
   248  func (*MetricsPayload) Descriptor() ([]byte, []int) {
   249  	return file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDescGZIP(), []int{0}
   250  }
   251  
   252  func (x *MetricsPayload) GetMetricsCollection() []*MetricsCollection {
   253  	if x != nil {
   254  		return x.MetricsCollection
   255  	}
   256  	return nil
   257  }
   258  
   259  type MetricsCollection struct {
   260  	state         protoimpl.MessageState
   261  	sizeCache     protoimpl.SizeCache
   262  	unknownFields protoimpl.UnknownFields
   263  
   264  	MetricsDataSet []*MetricsDataSet               `protobuf:"bytes,1,rep,name=metrics_data_set,json=metricsDataSet" json:"metrics_data_set,omitempty"`
   265  	RootLabels     []*MetricsCollection_RootLabels `protobuf:"bytes,2,rep,name=root_labels,json=rootLabels" json:"root_labels,omitempty"`
   266  }
   267  
   268  func (x *MetricsCollection) Reset() {
   269  	*x = MetricsCollection{}
   270  	if protoimpl.UnsafeEnabled {
   271  		mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[1]
   272  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   273  		ms.StoreMessageInfo(mi)
   274  	}
   275  }
   276  
   277  func (x *MetricsCollection) String() string {
   278  	return protoimpl.X.MessageStringOf(x)
   279  }
   280  
   281  func (*MetricsCollection) ProtoMessage() {}
   282  
   283  func (x *MetricsCollection) ProtoReflect() protoreflect.Message {
   284  	mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[1]
   285  	if protoimpl.UnsafeEnabled && x != nil {
   286  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   287  		if ms.LoadMessageInfo() == nil {
   288  			ms.StoreMessageInfo(mi)
   289  		}
   290  		return ms
   291  	}
   292  	return mi.MessageOf(x)
   293  }
   294  
   295  // Deprecated: Use MetricsCollection.ProtoReflect.Descriptor instead.
   296  func (*MetricsCollection) Descriptor() ([]byte, []int) {
   297  	return file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDescGZIP(), []int{1}
   298  }
   299  
   300  func (x *MetricsCollection) GetMetricsDataSet() []*MetricsDataSet {
   301  	if x != nil {
   302  		return x.MetricsDataSet
   303  	}
   304  	return nil
   305  }
   306  
   307  func (x *MetricsCollection) GetRootLabels() []*MetricsCollection_RootLabels {
   308  	if x != nil {
   309  		return x.RootLabels
   310  	}
   311  	return nil
   312  }
   313  
   314  type MetricsDataSet struct {
   315  	state         protoimpl.MessageState
   316  	sizeCache     protoimpl.SizeCache
   317  	unknownFields protoimpl.UnknownFields
   318  
   319  	// Metric name.
   320  	// Regex: ^(/[a-zA-Z0-9_-]+)+$
   321  	MetricName      *string                                 `protobuf:"bytes,1,opt,name=metric_name,json=metricName" json:"metric_name,omitempty"`
   322  	FieldDescriptor []*MetricsDataSet_MetricFieldDescriptor `protobuf:"bytes,2,rep,name=field_descriptor,json=fieldDescriptor" json:"field_descriptor,omitempty"`
   323  	StreamKind      *StreamKind                             `protobuf:"varint,3,opt,name=stream_kind,json=streamKind,enum=ts_mon.proto.StreamKind" json:"stream_kind,omitempty"`
   324  	ValueType       *ValueType                              `protobuf:"varint,4,opt,name=value_type,json=valueType,enum=ts_mon.proto.ValueType" json:"value_type,omitempty"`
   325  	Description     *string                                 `protobuf:"bytes,5,opt,name=description" json:"description,omitempty"`
   326  	Annotations     *Annotations                            `protobuf:"bytes,6,opt,name=annotations" json:"annotations,omitempty"`
   327  	Data            []*MetricsData                          `protobuf:"bytes,7,rep,name=data" json:"data,omitempty"`
   328  }
   329  
   330  func (x *MetricsDataSet) Reset() {
   331  	*x = MetricsDataSet{}
   332  	if protoimpl.UnsafeEnabled {
   333  		mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[2]
   334  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   335  		ms.StoreMessageInfo(mi)
   336  	}
   337  }
   338  
   339  func (x *MetricsDataSet) String() string {
   340  	return protoimpl.X.MessageStringOf(x)
   341  }
   342  
   343  func (*MetricsDataSet) ProtoMessage() {}
   344  
   345  func (x *MetricsDataSet) ProtoReflect() protoreflect.Message {
   346  	mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[2]
   347  	if protoimpl.UnsafeEnabled && x != nil {
   348  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   349  		if ms.LoadMessageInfo() == nil {
   350  			ms.StoreMessageInfo(mi)
   351  		}
   352  		return ms
   353  	}
   354  	return mi.MessageOf(x)
   355  }
   356  
   357  // Deprecated: Use MetricsDataSet.ProtoReflect.Descriptor instead.
   358  func (*MetricsDataSet) Descriptor() ([]byte, []int) {
   359  	return file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDescGZIP(), []int{2}
   360  }
   361  
   362  func (x *MetricsDataSet) GetMetricName() string {
   363  	if x != nil && x.MetricName != nil {
   364  		return *x.MetricName
   365  	}
   366  	return ""
   367  }
   368  
   369  func (x *MetricsDataSet) GetFieldDescriptor() []*MetricsDataSet_MetricFieldDescriptor {
   370  	if x != nil {
   371  		return x.FieldDescriptor
   372  	}
   373  	return nil
   374  }
   375  
   376  func (x *MetricsDataSet) GetStreamKind() StreamKind {
   377  	if x != nil && x.StreamKind != nil {
   378  		return *x.StreamKind
   379  	}
   380  	return StreamKind_GAUGE
   381  }
   382  
   383  func (x *MetricsDataSet) GetValueType() ValueType {
   384  	if x != nil && x.ValueType != nil {
   385  		return *x.ValueType
   386  	}
   387  	return ValueType_BOOL
   388  }
   389  
   390  func (x *MetricsDataSet) GetDescription() string {
   391  	if x != nil && x.Description != nil {
   392  		return *x.Description
   393  	}
   394  	return ""
   395  }
   396  
   397  func (x *MetricsDataSet) GetAnnotations() *Annotations {
   398  	if x != nil {
   399  		return x.Annotations
   400  	}
   401  	return nil
   402  }
   403  
   404  func (x *MetricsDataSet) GetData() []*MetricsData {
   405  	if x != nil {
   406  		return x.Data
   407  	}
   408  	return nil
   409  }
   410  
   411  type MetricsData struct {
   412  	state         protoimpl.MessageState
   413  	sizeCache     protoimpl.SizeCache
   414  	unknownFields protoimpl.UnknownFields
   415  
   416  	// Types that are assignable to Value:
   417  	//
   418  	//	*MetricsData_BoolValue
   419  	//	*MetricsData_StringValue
   420  	//	*MetricsData_Int64Value
   421  	//	*MetricsData_DoubleValue
   422  	//	*MetricsData_DistributionValue
   423  	Value          isMetricsData_Value        `protobuf_oneof:"value"`
   424  	Field          []*MetricsData_MetricField `protobuf:"bytes,6,rep,name=field" json:"field,omitempty"`
   425  	StartTimestamp *timestamppb.Timestamp     `protobuf:"bytes,7,opt,name=start_timestamp,json=startTimestamp" json:"start_timestamp,omitempty"`
   426  	EndTimestamp   *timestamppb.Timestamp     `protobuf:"bytes,8,opt,name=end_timestamp,json=endTimestamp" json:"end_timestamp,omitempty"`
   427  }
   428  
   429  func (x *MetricsData) Reset() {
   430  	*x = MetricsData{}
   431  	if protoimpl.UnsafeEnabled {
   432  		mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[3]
   433  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   434  		ms.StoreMessageInfo(mi)
   435  	}
   436  }
   437  
   438  func (x *MetricsData) String() string {
   439  	return protoimpl.X.MessageStringOf(x)
   440  }
   441  
   442  func (*MetricsData) ProtoMessage() {}
   443  
   444  func (x *MetricsData) ProtoReflect() protoreflect.Message {
   445  	mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[3]
   446  	if protoimpl.UnsafeEnabled && x != nil {
   447  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   448  		if ms.LoadMessageInfo() == nil {
   449  			ms.StoreMessageInfo(mi)
   450  		}
   451  		return ms
   452  	}
   453  	return mi.MessageOf(x)
   454  }
   455  
   456  // Deprecated: Use MetricsData.ProtoReflect.Descriptor instead.
   457  func (*MetricsData) Descriptor() ([]byte, []int) {
   458  	return file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDescGZIP(), []int{3}
   459  }
   460  
   461  func (m *MetricsData) GetValue() isMetricsData_Value {
   462  	if m != nil {
   463  		return m.Value
   464  	}
   465  	return nil
   466  }
   467  
   468  func (x *MetricsData) GetBoolValue() bool {
   469  	if x, ok := x.GetValue().(*MetricsData_BoolValue); ok {
   470  		return x.BoolValue
   471  	}
   472  	return false
   473  }
   474  
   475  func (x *MetricsData) GetStringValue() string {
   476  	if x, ok := x.GetValue().(*MetricsData_StringValue); ok {
   477  		return x.StringValue
   478  	}
   479  	return ""
   480  }
   481  
   482  func (x *MetricsData) GetInt64Value() int64 {
   483  	if x, ok := x.GetValue().(*MetricsData_Int64Value); ok {
   484  		return x.Int64Value
   485  	}
   486  	return 0
   487  }
   488  
   489  func (x *MetricsData) GetDoubleValue() float64 {
   490  	if x, ok := x.GetValue().(*MetricsData_DoubleValue); ok {
   491  		return x.DoubleValue
   492  	}
   493  	return 0
   494  }
   495  
   496  func (x *MetricsData) GetDistributionValue() *MetricsData_Distribution {
   497  	if x, ok := x.GetValue().(*MetricsData_DistributionValue); ok {
   498  		return x.DistributionValue
   499  	}
   500  	return nil
   501  }
   502  
   503  func (x *MetricsData) GetField() []*MetricsData_MetricField {
   504  	if x != nil {
   505  		return x.Field
   506  	}
   507  	return nil
   508  }
   509  
   510  func (x *MetricsData) GetStartTimestamp() *timestamppb.Timestamp {
   511  	if x != nil {
   512  		return x.StartTimestamp
   513  	}
   514  	return nil
   515  }
   516  
   517  func (x *MetricsData) GetEndTimestamp() *timestamppb.Timestamp {
   518  	if x != nil {
   519  		return x.EndTimestamp
   520  	}
   521  	return nil
   522  }
   523  
   524  type isMetricsData_Value interface {
   525  	isMetricsData_Value()
   526  }
   527  
   528  type MetricsData_BoolValue struct {
   529  	BoolValue bool `protobuf:"varint,1,opt,name=bool_value,json=boolValue,oneof"`
   530  }
   531  
   532  type MetricsData_StringValue struct {
   533  	StringValue string `protobuf:"bytes,2,opt,name=string_value,json=stringValue,oneof"`
   534  }
   535  
   536  type MetricsData_Int64Value struct {
   537  	Int64Value int64 `protobuf:"varint,3,opt,name=int64_value,json=int64Value,oneof"`
   538  }
   539  
   540  type MetricsData_DoubleValue struct {
   541  	DoubleValue float64 `protobuf:"fixed64,4,opt,name=double_value,json=doubleValue,oneof"`
   542  }
   543  
   544  type MetricsData_DistributionValue struct {
   545  	DistributionValue *MetricsData_Distribution `protobuf:"bytes,5,opt,name=distribution_value,json=distributionValue,oneof"`
   546  }
   547  
   548  func (*MetricsData_BoolValue) isMetricsData_Value() {}
   549  
   550  func (*MetricsData_StringValue) isMetricsData_Value() {}
   551  
   552  func (*MetricsData_Int64Value) isMetricsData_Value() {}
   553  
   554  func (*MetricsData_DoubleValue) isMetricsData_Value() {}
   555  
   556  func (*MetricsData_DistributionValue) isMetricsData_Value() {}
   557  
   558  type Annotations struct {
   559  	state         protoimpl.MessageState
   560  	sizeCache     protoimpl.SizeCache
   561  	unknownFields protoimpl.UnknownFields
   562  
   563  	Unit        *string      `protobuf:"bytes,1,opt,name=unit" json:"unit,omitempty"`
   564  	Timestamp   *bool        `protobuf:"varint,2,opt,name=timestamp" json:"timestamp,omitempty"`
   565  	Deprecation *string      `protobuf:"bytes,3,opt,name=deprecation" json:"deprecation,omitempty"`
   566  	Annotation  []*anypb.Any `protobuf:"bytes,4,rep,name=annotation" json:"annotation,omitempty"`
   567  }
   568  
   569  func (x *Annotations) Reset() {
   570  	*x = Annotations{}
   571  	if protoimpl.UnsafeEnabled {
   572  		mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[4]
   573  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   574  		ms.StoreMessageInfo(mi)
   575  	}
   576  }
   577  
   578  func (x *Annotations) String() string {
   579  	return protoimpl.X.MessageStringOf(x)
   580  }
   581  
   582  func (*Annotations) ProtoMessage() {}
   583  
   584  func (x *Annotations) ProtoReflect() protoreflect.Message {
   585  	mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[4]
   586  	if protoimpl.UnsafeEnabled && x != nil {
   587  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   588  		if ms.LoadMessageInfo() == nil {
   589  			ms.StoreMessageInfo(mi)
   590  		}
   591  		return ms
   592  	}
   593  	return mi.MessageOf(x)
   594  }
   595  
   596  // Deprecated: Use Annotations.ProtoReflect.Descriptor instead.
   597  func (*Annotations) Descriptor() ([]byte, []int) {
   598  	return file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDescGZIP(), []int{4}
   599  }
   600  
   601  func (x *Annotations) GetUnit() string {
   602  	if x != nil && x.Unit != nil {
   603  		return *x.Unit
   604  	}
   605  	return ""
   606  }
   607  
   608  func (x *Annotations) GetTimestamp() bool {
   609  	if x != nil && x.Timestamp != nil {
   610  		return *x.Timestamp
   611  	}
   612  	return false
   613  }
   614  
   615  func (x *Annotations) GetDeprecation() string {
   616  	if x != nil && x.Deprecation != nil {
   617  		return *x.Deprecation
   618  	}
   619  	return ""
   620  }
   621  
   622  func (x *Annotations) GetAnnotation() []*anypb.Any {
   623  	if x != nil {
   624  		return x.Annotation
   625  	}
   626  	return nil
   627  }
   628  
   629  type MetricsCollection_RootLabels struct {
   630  	state         protoimpl.MessageState
   631  	sizeCache     protoimpl.SizeCache
   632  	unknownFields protoimpl.UnknownFields
   633  
   634  	Key *string `protobuf:"bytes,1,req,name=key" json:"key,omitempty"`
   635  	// Types that are assignable to Value:
   636  	//
   637  	//	*MetricsCollection_RootLabels_StringValue
   638  	//	*MetricsCollection_RootLabels_Int64Value
   639  	//	*MetricsCollection_RootLabels_BoolValue
   640  	Value isMetricsCollection_RootLabels_Value `protobuf_oneof:"value"`
   641  }
   642  
   643  func (x *MetricsCollection_RootLabels) Reset() {
   644  	*x = MetricsCollection_RootLabels{}
   645  	if protoimpl.UnsafeEnabled {
   646  		mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[5]
   647  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   648  		ms.StoreMessageInfo(mi)
   649  	}
   650  }
   651  
   652  func (x *MetricsCollection_RootLabels) String() string {
   653  	return protoimpl.X.MessageStringOf(x)
   654  }
   655  
   656  func (*MetricsCollection_RootLabels) ProtoMessage() {}
   657  
   658  func (x *MetricsCollection_RootLabels) ProtoReflect() protoreflect.Message {
   659  	mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[5]
   660  	if protoimpl.UnsafeEnabled && x != nil {
   661  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   662  		if ms.LoadMessageInfo() == nil {
   663  			ms.StoreMessageInfo(mi)
   664  		}
   665  		return ms
   666  	}
   667  	return mi.MessageOf(x)
   668  }
   669  
   670  // Deprecated: Use MetricsCollection_RootLabels.ProtoReflect.Descriptor instead.
   671  func (*MetricsCollection_RootLabels) Descriptor() ([]byte, []int) {
   672  	return file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDescGZIP(), []int{1, 0}
   673  }
   674  
   675  func (x *MetricsCollection_RootLabels) GetKey() string {
   676  	if x != nil && x.Key != nil {
   677  		return *x.Key
   678  	}
   679  	return ""
   680  }
   681  
   682  func (m *MetricsCollection_RootLabels) GetValue() isMetricsCollection_RootLabels_Value {
   683  	if m != nil {
   684  		return m.Value
   685  	}
   686  	return nil
   687  }
   688  
   689  func (x *MetricsCollection_RootLabels) GetStringValue() string {
   690  	if x, ok := x.GetValue().(*MetricsCollection_RootLabels_StringValue); ok {
   691  		return x.StringValue
   692  	}
   693  	return ""
   694  }
   695  
   696  func (x *MetricsCollection_RootLabels) GetInt64Value() int64 {
   697  	if x, ok := x.GetValue().(*MetricsCollection_RootLabels_Int64Value); ok {
   698  		return x.Int64Value
   699  	}
   700  	return 0
   701  }
   702  
   703  func (x *MetricsCollection_RootLabels) GetBoolValue() bool {
   704  	if x, ok := x.GetValue().(*MetricsCollection_RootLabels_BoolValue); ok {
   705  		return x.BoolValue
   706  	}
   707  	return false
   708  }
   709  
   710  type isMetricsCollection_RootLabels_Value interface {
   711  	isMetricsCollection_RootLabels_Value()
   712  }
   713  
   714  type MetricsCollection_RootLabels_StringValue struct {
   715  	StringValue string `protobuf:"bytes,2,opt,name=string_value,json=stringValue,oneof"`
   716  }
   717  
   718  type MetricsCollection_RootLabels_Int64Value struct {
   719  	Int64Value int64 `protobuf:"varint,3,opt,name=int64_value,json=int64Value,oneof"`
   720  }
   721  
   722  type MetricsCollection_RootLabels_BoolValue struct {
   723  	BoolValue bool `protobuf:"varint,4,opt,name=bool_value,json=boolValue,oneof"`
   724  }
   725  
   726  func (*MetricsCollection_RootLabels_StringValue) isMetricsCollection_RootLabels_Value() {}
   727  
   728  func (*MetricsCollection_RootLabels_Int64Value) isMetricsCollection_RootLabels_Value() {}
   729  
   730  func (*MetricsCollection_RootLabels_BoolValue) isMetricsCollection_RootLabels_Value() {}
   731  
   732  type MetricsDataSet_MetricFieldDescriptor struct {
   733  	state         protoimpl.MessageState
   734  	sizeCache     protoimpl.SizeCache
   735  	unknownFields protoimpl.UnknownFields
   736  
   737  	// Metric field name.
   738  	// Regex: ^[A-Za-z_][A-Za-z0-9_]*$
   739  	Name      *string                                         `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
   740  	FieldType *MetricsDataSet_MetricFieldDescriptor_FieldType `protobuf:"varint,2,opt,name=field_type,json=fieldType,enum=ts_mon.proto.MetricsDataSet_MetricFieldDescriptor_FieldType" json:"field_type,omitempty"`
   741  }
   742  
   743  func (x *MetricsDataSet_MetricFieldDescriptor) Reset() {
   744  	*x = MetricsDataSet_MetricFieldDescriptor{}
   745  	if protoimpl.UnsafeEnabled {
   746  		mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[6]
   747  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   748  		ms.StoreMessageInfo(mi)
   749  	}
   750  }
   751  
   752  func (x *MetricsDataSet_MetricFieldDescriptor) String() string {
   753  	return protoimpl.X.MessageStringOf(x)
   754  }
   755  
   756  func (*MetricsDataSet_MetricFieldDescriptor) ProtoMessage() {}
   757  
   758  func (x *MetricsDataSet_MetricFieldDescriptor) ProtoReflect() protoreflect.Message {
   759  	mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[6]
   760  	if protoimpl.UnsafeEnabled && x != nil {
   761  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   762  		if ms.LoadMessageInfo() == nil {
   763  			ms.StoreMessageInfo(mi)
   764  		}
   765  		return ms
   766  	}
   767  	return mi.MessageOf(x)
   768  }
   769  
   770  // Deprecated: Use MetricsDataSet_MetricFieldDescriptor.ProtoReflect.Descriptor instead.
   771  func (*MetricsDataSet_MetricFieldDescriptor) Descriptor() ([]byte, []int) {
   772  	return file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDescGZIP(), []int{2, 0}
   773  }
   774  
   775  func (x *MetricsDataSet_MetricFieldDescriptor) GetName() string {
   776  	if x != nil && x.Name != nil {
   777  		return *x.Name
   778  	}
   779  	return ""
   780  }
   781  
   782  func (x *MetricsDataSet_MetricFieldDescriptor) GetFieldType() MetricsDataSet_MetricFieldDescriptor_FieldType {
   783  	if x != nil && x.FieldType != nil {
   784  		return *x.FieldType
   785  	}
   786  	return MetricsDataSet_MetricFieldDescriptor_STRING
   787  }
   788  
   789  type MetricsData_MetricField struct {
   790  	state         protoimpl.MessageState
   791  	sizeCache     protoimpl.SizeCache
   792  	unknownFields protoimpl.UnknownFields
   793  
   794  	Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
   795  	// Types that are assignable to Value:
   796  	//
   797  	//	*MetricsData_MetricField_StringValue
   798  	//	*MetricsData_MetricField_Int64Value
   799  	//	*MetricsData_MetricField_BoolValue
   800  	Value isMetricsData_MetricField_Value `protobuf_oneof:"value"`
   801  }
   802  
   803  func (x *MetricsData_MetricField) Reset() {
   804  	*x = MetricsData_MetricField{}
   805  	if protoimpl.UnsafeEnabled {
   806  		mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[7]
   807  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   808  		ms.StoreMessageInfo(mi)
   809  	}
   810  }
   811  
   812  func (x *MetricsData_MetricField) String() string {
   813  	return protoimpl.X.MessageStringOf(x)
   814  }
   815  
   816  func (*MetricsData_MetricField) ProtoMessage() {}
   817  
   818  func (x *MetricsData_MetricField) ProtoReflect() protoreflect.Message {
   819  	mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[7]
   820  	if protoimpl.UnsafeEnabled && x != nil {
   821  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   822  		if ms.LoadMessageInfo() == nil {
   823  			ms.StoreMessageInfo(mi)
   824  		}
   825  		return ms
   826  	}
   827  	return mi.MessageOf(x)
   828  }
   829  
   830  // Deprecated: Use MetricsData_MetricField.ProtoReflect.Descriptor instead.
   831  func (*MetricsData_MetricField) Descriptor() ([]byte, []int) {
   832  	return file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDescGZIP(), []int{3, 0}
   833  }
   834  
   835  func (x *MetricsData_MetricField) GetName() string {
   836  	if x != nil && x.Name != nil {
   837  		return *x.Name
   838  	}
   839  	return ""
   840  }
   841  
   842  func (m *MetricsData_MetricField) GetValue() isMetricsData_MetricField_Value {
   843  	if m != nil {
   844  		return m.Value
   845  	}
   846  	return nil
   847  }
   848  
   849  func (x *MetricsData_MetricField) GetStringValue() string {
   850  	if x, ok := x.GetValue().(*MetricsData_MetricField_StringValue); ok {
   851  		return x.StringValue
   852  	}
   853  	return ""
   854  }
   855  
   856  func (x *MetricsData_MetricField) GetInt64Value() int64 {
   857  	if x, ok := x.GetValue().(*MetricsData_MetricField_Int64Value); ok {
   858  		return x.Int64Value
   859  	}
   860  	return 0
   861  }
   862  
   863  func (x *MetricsData_MetricField) GetBoolValue() bool {
   864  	if x, ok := x.GetValue().(*MetricsData_MetricField_BoolValue); ok {
   865  		return x.BoolValue
   866  	}
   867  	return false
   868  }
   869  
   870  type isMetricsData_MetricField_Value interface {
   871  	isMetricsData_MetricField_Value()
   872  }
   873  
   874  type MetricsData_MetricField_StringValue struct {
   875  	StringValue string `protobuf:"bytes,2,opt,name=string_value,json=stringValue,oneof"`
   876  }
   877  
   878  type MetricsData_MetricField_Int64Value struct {
   879  	Int64Value int64 `protobuf:"varint,3,opt,name=int64_value,json=int64Value,oneof"`
   880  }
   881  
   882  type MetricsData_MetricField_BoolValue struct {
   883  	BoolValue bool `protobuf:"varint,4,opt,name=bool_value,json=boolValue,oneof"`
   884  }
   885  
   886  func (*MetricsData_MetricField_StringValue) isMetricsData_MetricField_Value() {}
   887  
   888  func (*MetricsData_MetricField_Int64Value) isMetricsData_MetricField_Value() {}
   889  
   890  func (*MetricsData_MetricField_BoolValue) isMetricsData_MetricField_Value() {}
   891  
   892  type MetricsData_Distribution struct {
   893  	state         protoimpl.MessageState
   894  	sizeCache     protoimpl.SizeCache
   895  	unknownFields protoimpl.UnknownFields
   896  
   897  	Count                 *int64   `protobuf:"varint,1,opt,name=count" json:"count,omitempty"`
   898  	Mean                  *float64 `protobuf:"fixed64,2,opt,name=mean" json:"mean,omitempty"`
   899  	SumOfSquaredDeviation *float64 `protobuf:"fixed64,3,opt,name=sum_of_squared_deviation,json=sumOfSquaredDeviation" json:"sum_of_squared_deviation,omitempty"`
   900  	Minimum               *float64 `protobuf:"fixed64,4,opt,name=minimum" json:"minimum,omitempty"`
   901  	Maximum               *float64 `protobuf:"fixed64,5,opt,name=maximum" json:"maximum,omitempty"`
   902  	// Types that are assignable to BucketOptions:
   903  	//
   904  	//	*MetricsData_Distribution_LinearBuckets
   905  	//	*MetricsData_Distribution_ExponentialBuckets
   906  	//	*MetricsData_Distribution_ExplicitBuckets
   907  	BucketOptions isMetricsData_Distribution_BucketOptions `protobuf_oneof:"bucket_options"`
   908  	BucketCount   []int64                                  `protobuf:"varint,9,rep,packed,name=bucket_count,json=bucketCount" json:"bucket_count,omitempty"`
   909  	Exemplar      []*MetricsData_Distribution_Exemplar     `protobuf:"bytes,10,rep,name=exemplar" json:"exemplar,omitempty"`
   910  }
   911  
   912  func (x *MetricsData_Distribution) Reset() {
   913  	*x = MetricsData_Distribution{}
   914  	if protoimpl.UnsafeEnabled {
   915  		mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[8]
   916  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   917  		ms.StoreMessageInfo(mi)
   918  	}
   919  }
   920  
   921  func (x *MetricsData_Distribution) String() string {
   922  	return protoimpl.X.MessageStringOf(x)
   923  }
   924  
   925  func (*MetricsData_Distribution) ProtoMessage() {}
   926  
   927  func (x *MetricsData_Distribution) ProtoReflect() protoreflect.Message {
   928  	mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[8]
   929  	if protoimpl.UnsafeEnabled && x != nil {
   930  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   931  		if ms.LoadMessageInfo() == nil {
   932  			ms.StoreMessageInfo(mi)
   933  		}
   934  		return ms
   935  	}
   936  	return mi.MessageOf(x)
   937  }
   938  
   939  // Deprecated: Use MetricsData_Distribution.ProtoReflect.Descriptor instead.
   940  func (*MetricsData_Distribution) Descriptor() ([]byte, []int) {
   941  	return file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDescGZIP(), []int{3, 1}
   942  }
   943  
   944  func (x *MetricsData_Distribution) GetCount() int64 {
   945  	if x != nil && x.Count != nil {
   946  		return *x.Count
   947  	}
   948  	return 0
   949  }
   950  
   951  func (x *MetricsData_Distribution) GetMean() float64 {
   952  	if x != nil && x.Mean != nil {
   953  		return *x.Mean
   954  	}
   955  	return 0
   956  }
   957  
   958  func (x *MetricsData_Distribution) GetSumOfSquaredDeviation() float64 {
   959  	if x != nil && x.SumOfSquaredDeviation != nil {
   960  		return *x.SumOfSquaredDeviation
   961  	}
   962  	return 0
   963  }
   964  
   965  func (x *MetricsData_Distribution) GetMinimum() float64 {
   966  	if x != nil && x.Minimum != nil {
   967  		return *x.Minimum
   968  	}
   969  	return 0
   970  }
   971  
   972  func (x *MetricsData_Distribution) GetMaximum() float64 {
   973  	if x != nil && x.Maximum != nil {
   974  		return *x.Maximum
   975  	}
   976  	return 0
   977  }
   978  
   979  func (m *MetricsData_Distribution) GetBucketOptions() isMetricsData_Distribution_BucketOptions {
   980  	if m != nil {
   981  		return m.BucketOptions
   982  	}
   983  	return nil
   984  }
   985  
   986  func (x *MetricsData_Distribution) GetLinearBuckets() *MetricsData_Distribution_LinearOptions {
   987  	if x, ok := x.GetBucketOptions().(*MetricsData_Distribution_LinearBuckets); ok {
   988  		return x.LinearBuckets
   989  	}
   990  	return nil
   991  }
   992  
   993  func (x *MetricsData_Distribution) GetExponentialBuckets() *MetricsData_Distribution_ExponentialOptions {
   994  	if x, ok := x.GetBucketOptions().(*MetricsData_Distribution_ExponentialBuckets); ok {
   995  		return x.ExponentialBuckets
   996  	}
   997  	return nil
   998  }
   999  
  1000  func (x *MetricsData_Distribution) GetExplicitBuckets() *MetricsData_Distribution_ExplicitOptions {
  1001  	if x, ok := x.GetBucketOptions().(*MetricsData_Distribution_ExplicitBuckets); ok {
  1002  		return x.ExplicitBuckets
  1003  	}
  1004  	return nil
  1005  }
  1006  
  1007  func (x *MetricsData_Distribution) GetBucketCount() []int64 {
  1008  	if x != nil {
  1009  		return x.BucketCount
  1010  	}
  1011  	return nil
  1012  }
  1013  
  1014  func (x *MetricsData_Distribution) GetExemplar() []*MetricsData_Distribution_Exemplar {
  1015  	if x != nil {
  1016  		return x.Exemplar
  1017  	}
  1018  	return nil
  1019  }
  1020  
  1021  type isMetricsData_Distribution_BucketOptions interface {
  1022  	isMetricsData_Distribution_BucketOptions()
  1023  }
  1024  
  1025  type MetricsData_Distribution_LinearBuckets struct {
  1026  	LinearBuckets *MetricsData_Distribution_LinearOptions `protobuf:"bytes,6,opt,name=linear_buckets,json=linearBuckets,oneof"`
  1027  }
  1028  
  1029  type MetricsData_Distribution_ExponentialBuckets struct {
  1030  	ExponentialBuckets *MetricsData_Distribution_ExponentialOptions `protobuf:"bytes,7,opt,name=exponential_buckets,json=exponentialBuckets,oneof"`
  1031  }
  1032  
  1033  type MetricsData_Distribution_ExplicitBuckets struct {
  1034  	ExplicitBuckets *MetricsData_Distribution_ExplicitOptions `protobuf:"bytes,8,opt,name=explicit_buckets,json=explicitBuckets,oneof"`
  1035  }
  1036  
  1037  func (*MetricsData_Distribution_LinearBuckets) isMetricsData_Distribution_BucketOptions() {}
  1038  
  1039  func (*MetricsData_Distribution_ExponentialBuckets) isMetricsData_Distribution_BucketOptions() {}
  1040  
  1041  func (*MetricsData_Distribution_ExplicitBuckets) isMetricsData_Distribution_BucketOptions() {}
  1042  
  1043  type MetricsData_Distribution_LinearOptions struct {
  1044  	state         protoimpl.MessageState
  1045  	sizeCache     protoimpl.SizeCache
  1046  	unknownFields protoimpl.UnknownFields
  1047  
  1048  	NumFiniteBuckets *int32   `protobuf:"varint,1,opt,name=num_finite_buckets,json=numFiniteBuckets" json:"num_finite_buckets,omitempty"`
  1049  	Width            *float64 `protobuf:"fixed64,2,opt,name=width" json:"width,omitempty"`
  1050  	Offset           *float64 `protobuf:"fixed64,3,opt,name=offset" json:"offset,omitempty"`
  1051  }
  1052  
  1053  func (x *MetricsData_Distribution_LinearOptions) Reset() {
  1054  	*x = MetricsData_Distribution_LinearOptions{}
  1055  	if protoimpl.UnsafeEnabled {
  1056  		mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[9]
  1057  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1058  		ms.StoreMessageInfo(mi)
  1059  	}
  1060  }
  1061  
  1062  func (x *MetricsData_Distribution_LinearOptions) String() string {
  1063  	return protoimpl.X.MessageStringOf(x)
  1064  }
  1065  
  1066  func (*MetricsData_Distribution_LinearOptions) ProtoMessage() {}
  1067  
  1068  func (x *MetricsData_Distribution_LinearOptions) ProtoReflect() protoreflect.Message {
  1069  	mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[9]
  1070  	if protoimpl.UnsafeEnabled && x != nil {
  1071  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1072  		if ms.LoadMessageInfo() == nil {
  1073  			ms.StoreMessageInfo(mi)
  1074  		}
  1075  		return ms
  1076  	}
  1077  	return mi.MessageOf(x)
  1078  }
  1079  
  1080  // Deprecated: Use MetricsData_Distribution_LinearOptions.ProtoReflect.Descriptor instead.
  1081  func (*MetricsData_Distribution_LinearOptions) Descriptor() ([]byte, []int) {
  1082  	return file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDescGZIP(), []int{3, 1, 0}
  1083  }
  1084  
  1085  func (x *MetricsData_Distribution_LinearOptions) GetNumFiniteBuckets() int32 {
  1086  	if x != nil && x.NumFiniteBuckets != nil {
  1087  		return *x.NumFiniteBuckets
  1088  	}
  1089  	return 0
  1090  }
  1091  
  1092  func (x *MetricsData_Distribution_LinearOptions) GetWidth() float64 {
  1093  	if x != nil && x.Width != nil {
  1094  		return *x.Width
  1095  	}
  1096  	return 0
  1097  }
  1098  
  1099  func (x *MetricsData_Distribution_LinearOptions) GetOffset() float64 {
  1100  	if x != nil && x.Offset != nil {
  1101  		return *x.Offset
  1102  	}
  1103  	return 0
  1104  }
  1105  
  1106  type MetricsData_Distribution_ExponentialOptions struct {
  1107  	state         protoimpl.MessageState
  1108  	sizeCache     protoimpl.SizeCache
  1109  	unknownFields protoimpl.UnknownFields
  1110  
  1111  	NumFiniteBuckets *int32   `protobuf:"varint,1,opt,name=num_finite_buckets,json=numFiniteBuckets" json:"num_finite_buckets,omitempty"`
  1112  	GrowthFactor     *float64 `protobuf:"fixed64,2,opt,name=growth_factor,json=growthFactor" json:"growth_factor,omitempty"`
  1113  	Scale            *float64 `protobuf:"fixed64,3,opt,name=scale" json:"scale,omitempty"`
  1114  }
  1115  
  1116  func (x *MetricsData_Distribution_ExponentialOptions) Reset() {
  1117  	*x = MetricsData_Distribution_ExponentialOptions{}
  1118  	if protoimpl.UnsafeEnabled {
  1119  		mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[10]
  1120  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1121  		ms.StoreMessageInfo(mi)
  1122  	}
  1123  }
  1124  
  1125  func (x *MetricsData_Distribution_ExponentialOptions) String() string {
  1126  	return protoimpl.X.MessageStringOf(x)
  1127  }
  1128  
  1129  func (*MetricsData_Distribution_ExponentialOptions) ProtoMessage() {}
  1130  
  1131  func (x *MetricsData_Distribution_ExponentialOptions) ProtoReflect() protoreflect.Message {
  1132  	mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[10]
  1133  	if protoimpl.UnsafeEnabled && x != nil {
  1134  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1135  		if ms.LoadMessageInfo() == nil {
  1136  			ms.StoreMessageInfo(mi)
  1137  		}
  1138  		return ms
  1139  	}
  1140  	return mi.MessageOf(x)
  1141  }
  1142  
  1143  // Deprecated: Use MetricsData_Distribution_ExponentialOptions.ProtoReflect.Descriptor instead.
  1144  func (*MetricsData_Distribution_ExponentialOptions) Descriptor() ([]byte, []int) {
  1145  	return file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDescGZIP(), []int{3, 1, 1}
  1146  }
  1147  
  1148  func (x *MetricsData_Distribution_ExponentialOptions) GetNumFiniteBuckets() int32 {
  1149  	if x != nil && x.NumFiniteBuckets != nil {
  1150  		return *x.NumFiniteBuckets
  1151  	}
  1152  	return 0
  1153  }
  1154  
  1155  func (x *MetricsData_Distribution_ExponentialOptions) GetGrowthFactor() float64 {
  1156  	if x != nil && x.GrowthFactor != nil {
  1157  		return *x.GrowthFactor
  1158  	}
  1159  	return 0
  1160  }
  1161  
  1162  func (x *MetricsData_Distribution_ExponentialOptions) GetScale() float64 {
  1163  	if x != nil && x.Scale != nil {
  1164  		return *x.Scale
  1165  	}
  1166  	return 0
  1167  }
  1168  
  1169  type MetricsData_Distribution_ExplicitOptions struct {
  1170  	state         protoimpl.MessageState
  1171  	sizeCache     protoimpl.SizeCache
  1172  	unknownFields protoimpl.UnknownFields
  1173  
  1174  	Bound []float64 `protobuf:"fixed64,1,rep,packed,name=bound" json:"bound,omitempty"`
  1175  }
  1176  
  1177  func (x *MetricsData_Distribution_ExplicitOptions) Reset() {
  1178  	*x = MetricsData_Distribution_ExplicitOptions{}
  1179  	if protoimpl.UnsafeEnabled {
  1180  		mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[11]
  1181  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1182  		ms.StoreMessageInfo(mi)
  1183  	}
  1184  }
  1185  
  1186  func (x *MetricsData_Distribution_ExplicitOptions) String() string {
  1187  	return protoimpl.X.MessageStringOf(x)
  1188  }
  1189  
  1190  func (*MetricsData_Distribution_ExplicitOptions) ProtoMessage() {}
  1191  
  1192  func (x *MetricsData_Distribution_ExplicitOptions) ProtoReflect() protoreflect.Message {
  1193  	mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[11]
  1194  	if protoimpl.UnsafeEnabled && x != nil {
  1195  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1196  		if ms.LoadMessageInfo() == nil {
  1197  			ms.StoreMessageInfo(mi)
  1198  		}
  1199  		return ms
  1200  	}
  1201  	return mi.MessageOf(x)
  1202  }
  1203  
  1204  // Deprecated: Use MetricsData_Distribution_ExplicitOptions.ProtoReflect.Descriptor instead.
  1205  func (*MetricsData_Distribution_ExplicitOptions) Descriptor() ([]byte, []int) {
  1206  	return file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDescGZIP(), []int{3, 1, 2}
  1207  }
  1208  
  1209  func (x *MetricsData_Distribution_ExplicitOptions) GetBound() []float64 {
  1210  	if x != nil {
  1211  		return x.Bound
  1212  	}
  1213  	return nil
  1214  }
  1215  
  1216  type MetricsData_Distribution_Exemplar struct {
  1217  	state         protoimpl.MessageState
  1218  	sizeCache     protoimpl.SizeCache
  1219  	unknownFields protoimpl.UnknownFields
  1220  
  1221  	Value      *float64               `protobuf:"fixed64,1,opt,name=value" json:"value,omitempty"`
  1222  	Timestamp  *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=timestamp" json:"timestamp,omitempty"`
  1223  	Attachment []*anypb.Any           `protobuf:"bytes,3,rep,name=attachment" json:"attachment,omitempty"`
  1224  }
  1225  
  1226  func (x *MetricsData_Distribution_Exemplar) Reset() {
  1227  	*x = MetricsData_Distribution_Exemplar{}
  1228  	if protoimpl.UnsafeEnabled {
  1229  		mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[12]
  1230  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1231  		ms.StoreMessageInfo(mi)
  1232  	}
  1233  }
  1234  
  1235  func (x *MetricsData_Distribution_Exemplar) String() string {
  1236  	return protoimpl.X.MessageStringOf(x)
  1237  }
  1238  
  1239  func (*MetricsData_Distribution_Exemplar) ProtoMessage() {}
  1240  
  1241  func (x *MetricsData_Distribution_Exemplar) ProtoReflect() protoreflect.Message {
  1242  	mi := &file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[12]
  1243  	if protoimpl.UnsafeEnabled && x != nil {
  1244  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1245  		if ms.LoadMessageInfo() == nil {
  1246  			ms.StoreMessageInfo(mi)
  1247  		}
  1248  		return ms
  1249  	}
  1250  	return mi.MessageOf(x)
  1251  }
  1252  
  1253  // Deprecated: Use MetricsData_Distribution_Exemplar.ProtoReflect.Descriptor instead.
  1254  func (*MetricsData_Distribution_Exemplar) Descriptor() ([]byte, []int) {
  1255  	return file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDescGZIP(), []int{3, 1, 3}
  1256  }
  1257  
  1258  func (x *MetricsData_Distribution_Exemplar) GetValue() float64 {
  1259  	if x != nil && x.Value != nil {
  1260  		return *x.Value
  1261  	}
  1262  	return 0
  1263  }
  1264  
  1265  func (x *MetricsData_Distribution_Exemplar) GetTimestamp() *timestamppb.Timestamp {
  1266  	if x != nil {
  1267  		return x.Timestamp
  1268  	}
  1269  	return nil
  1270  }
  1271  
  1272  func (x *MetricsData_Distribution_Exemplar) GetAttachment() []*anypb.Any {
  1273  	if x != nil {
  1274  		return x.Attachment
  1275  	}
  1276  	return nil
  1277  }
  1278  
  1279  var File_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto protoreflect.FileDescriptor
  1280  
  1281  var file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDesc = []byte{
  1282  	0x0a, 0x3c, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72,
  1283  	0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x73,
  1284  	0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x73, 0x5f, 0x6d, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  1285  	0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c,
  1286  	0x74, 0x73, 0x5f, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f,
  1287  	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e,
  1288  	0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
  1289  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
  1290  	0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x60, 0x0a, 0x0e, 0x4d, 0x65, 0x74, 0x72,
  1291  	0x69, 0x63, 0x73, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x4e, 0x0a, 0x12, 0x6d, 0x65,
  1292  	0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
  1293  	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x74, 0x73, 0x5f, 0x6d, 0x6f, 0x6e, 0x2e,
  1294  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x43, 0x6f, 0x6c,
  1295  	0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73,
  1296  	0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc7, 0x02, 0x0a, 0x11, 0x4d,
  1297  	0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
  1298  	0x12, 0x46, 0x0a, 0x10, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x64, 0x61, 0x74, 0x61,
  1299  	0x5f, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x74, 0x73, 0x5f,
  1300  	0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
  1301  	0x73, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x0e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63,
  1302  	0x73, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x12, 0x4b, 0x0a, 0x0b, 0x72, 0x6f, 0x6f, 0x74,
  1303  	0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e,
  1304  	0x74, 0x73, 0x5f, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x74,
  1305  	0x72, 0x69, 0x63, 0x73, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52,
  1306  	0x6f, 0x6f, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x0a, 0x72, 0x6f, 0x6f, 0x74, 0x4c,
  1307  	0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x90, 0x01, 0x0a, 0x0a, 0x52, 0x6f, 0x6f, 0x74, 0x4c, 0x61,
  1308  	0x62, 0x65, 0x6c, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x02, 0x28,
  1309  	0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
  1310  	0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b,
  1311  	0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x69,
  1312  	0x6e, 0x74, 0x36, 0x34, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03,
  1313  	0x48, 0x00, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f,
  1314  	0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01,
  1315  	0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42,
  1316  	0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x4a, 0x04, 0x08, 0x0b, 0x10, 0x0c, 0x4a, 0x04,
  1317  	0x08, 0x0c, 0x10, 0x0d, 0x22, 0xca, 0x04, 0x0a, 0x0e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73,
  1318  	0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69,
  1319  	0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x65,
  1320  	0x74, 0x72, 0x69, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x5d, 0x0a, 0x10, 0x66, 0x69, 0x65, 0x6c,
  1321  	0x64, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x03,
  1322  	0x28, 0x0b, 0x32, 0x32, 0x2e, 0x74, 0x73, 0x5f, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  1323  	0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74,
  1324  	0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x65, 0x73, 0x63,
  1325  	0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x0f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x65, 0x73,
  1326  	0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x39, 0x0a, 0x0b, 0x73, 0x74, 0x72, 0x65, 0x61,
  1327  	0x6d, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x74,
  1328  	0x73, 0x5f, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x74, 0x72, 0x65,
  1329  	0x61, 0x6d, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x0a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4b, 0x69,
  1330  	0x6e, 0x64, 0x12, 0x36, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65,
  1331  	0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x74, 0x73, 0x5f, 0x6d, 0x6f, 0x6e, 0x2e,
  1332  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52,
  1333  	0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65,
  1334  	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
  1335  	0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x0b,
  1336  	0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28,
  1337  	0x0b, 0x32, 0x19, 0x2e, 0x74, 0x73, 0x5f, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  1338  	0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x61, 0x6e,
  1339  	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2d, 0x0a, 0x04, 0x64, 0x61, 0x74,
  1340  	0x61, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x74, 0x73, 0x5f, 0x6d, 0x6f, 0x6e,
  1341  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61,
  1342  	0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x1a, 0xb6, 0x01, 0x0a, 0x15, 0x4d, 0x65, 0x74,
  1343  	0x72, 0x69, 0x63, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
  1344  	0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
  1345  	0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x5b, 0x0a, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f,
  1346  	0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x74, 0x73, 0x5f,
  1347  	0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
  1348  	0x73, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x46,
  1349  	0x69, 0x65, 0x6c, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x46,
  1350  	0x69, 0x65, 0x6c, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x54,
  1351  	0x79, 0x70, 0x65, 0x22, 0x2c, 0x0a, 0x09, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x54, 0x79, 0x70, 0x65,
  1352  	0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05,
  1353  	0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x4f, 0x4f, 0x4c, 0x10,
  1354  	0x02, 0x22, 0xe2, 0x0c, 0x0a, 0x0b, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, 0x74,
  1355  	0x61, 0x12, 0x1f, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
  1356  	0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c,
  1357  	0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c,
  1358  	0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69,
  1359  	0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x36, 0x34,
  1360  	0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0a,
  1361  	0x69, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x64, 0x6f,
  1362  	0x75, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01,
  1363  	0x48, 0x00, 0x52, 0x0b, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12,
  1364  	0x57, 0x0a, 0x12, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
  1365  	0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x74, 0x73,
  1366  	0x5f, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69,
  1367  	0x63, 0x73, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
  1368  	0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x11, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
  1369  	0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3b, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c,
  1370  	0x64, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x74, 0x73, 0x5f, 0x6d, 0x6f, 0x6e,
  1371  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61,
  1372  	0x74, 0x61, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x05,
  1373  	0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x43, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74,
  1374  	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
  1375  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  1376  	0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x72,
  1377  	0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x3f, 0x0a, 0x0d, 0x65, 0x6e,
  1378  	0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28,
  1379  	0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  1380  	0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x65,
  1381  	0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x1a, 0x93, 0x01, 0x0a, 0x0b,
  1382  	0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e,
  1383  	0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
  1384  	0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
  1385  	0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56,
  1386  	0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x76, 0x61,
  1387  	0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0a, 0x69, 0x6e, 0x74,
  1388  	0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6c, 0x5f,
  1389  	0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x62,
  1390  	0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
  1391  	0x65, 0x1a, 0x89, 0x08, 0x0a, 0x0c, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69,
  1392  	0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
  1393  	0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x61, 0x6e,
  1394  	0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x04, 0x6d, 0x65, 0x61, 0x6e, 0x12, 0x37, 0x0a, 0x18,
  1395  	0x73, 0x75, 0x6d, 0x5f, 0x6f, 0x66, 0x5f, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x64,
  1396  	0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x15,
  1397  	0x73, 0x75, 0x6d, 0x4f, 0x66, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x64, 0x44, 0x65, 0x76, 0x69,
  1398  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d,
  1399  	0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x12,
  1400  	0x18, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01,
  1401  	0x52, 0x07, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x5d, 0x0a, 0x0e, 0x6c, 0x69, 0x6e,
  1402  	0x65, 0x61, 0x72, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28,
  1403  	0x0b, 0x32, 0x34, 0x2e, 0x74, 0x73, 0x5f, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  1404  	0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x69, 0x73,
  1405  	0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x72,
  1406  	0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0d, 0x6c, 0x69, 0x6e, 0x65, 0x61,
  1407  	0x72, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x6c, 0x0a, 0x13, 0x65, 0x78, 0x70, 0x6f,
  1408  	0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18,
  1409  	0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x74, 0x73, 0x5f, 0x6d, 0x6f, 0x6e, 0x2e, 0x70,
  1410  	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, 0x74, 0x61,
  1411  	0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x45, 0x78,
  1412  	0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
  1413  	0x48, 0x00, 0x52, 0x12, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x42,
  1414  	0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x63, 0x0a, 0x10, 0x65, 0x78, 0x70, 0x6c, 0x69, 0x63,
  1415  	0x69, 0x74, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b,
  1416  	0x32, 0x36, 0x2e, 0x74, 0x73, 0x5f, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
  1417  	0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x69, 0x73, 0x74,
  1418  	0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x69, 0x63, 0x69,
  1419  	0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0f, 0x65, 0x78, 0x70, 0x6c,
  1420  	0x69, 0x63, 0x69, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x0c, 0x62,
  1421  	0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28,
  1422  	0x03, 0x42, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x75,
  1423  	0x6e, 0x74, 0x12, 0x4b, 0x0a, 0x08, 0x65, 0x78, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x72, 0x18, 0x0a,
  1424  	0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x74, 0x73, 0x5f, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72,
  1425  	0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, 0x74, 0x61, 0x2e,
  1426  	0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x45, 0x78, 0x65,
  1427  	0x6d, 0x70, 0x6c, 0x61, 0x72, 0x52, 0x08, 0x65, 0x78, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x72, 0x1a,
  1428  	0x6b, 0x0a, 0x0d, 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
  1429  	0x12, 0x2c, 0x0a, 0x12, 0x6e, 0x75, 0x6d, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x65, 0x5f, 0x62,
  1430  	0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6e, 0x75,
  1431  	0x6d, 0x46, 0x69, 0x6e, 0x69, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x14,
  1432  	0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x77,
  1433  	0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x03,
  1434  	0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x1a, 0x7d, 0x0a, 0x12,
  1435  	0x45, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f,
  1436  	0x6e, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x6e, 0x75, 0x6d, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x65,
  1437  	0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10,
  1438  	0x6e, 0x75, 0x6d, 0x46, 0x69, 0x6e, 0x69, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73,
  1439  	0x12, 0x23, 0x0a, 0x0d, 0x67, 0x72, 0x6f, 0x77, 0x74, 0x68, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f,
  1440  	0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x67, 0x72, 0x6f, 0x77, 0x74, 0x68, 0x46,
  1441  	0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x03,
  1442  	0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x1a, 0x2b, 0x0a, 0x0f, 0x45,
  1443  	0x78, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18,
  1444  	0x0a, 0x05, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x01, 0x42, 0x02, 0x10,
  1445  	0x01, 0x52, 0x05, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x1a, 0x90, 0x01, 0x0a, 0x08, 0x45, 0x78, 0x65,
  1446  	0x6d, 0x70, 0x6c, 0x61, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01,
  1447  	0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x74,
  1448  	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
  1449  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  1450  	0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65,
  1451  	0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x34, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d,
  1452  	0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  1453  	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52,
  1454  	0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x62,
  1455  	0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x07, 0x0a,
  1456  	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x97, 0x01, 0x0a, 0x0b, 0x41, 0x6e, 0x6e, 0x6f, 0x74,
  1457  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x6e, 0x69, 0x74, 0x18, 0x01,
  1458  	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x6e, 0x69, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69,
  1459  	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x74,
  1460  	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x70, 0x72,
  1461  	0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64,
  1462  	0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x0a, 0x61, 0x6e,
  1463  	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14,
  1464  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  1465  	0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  1466  	0x2a, 0x32, 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x09,
  1467  	0x0a, 0x05, 0x47, 0x41, 0x55, 0x47, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x55, 0x4d,
  1468  	0x55, 0x4c, 0x41, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x44, 0x45, 0x4c,
  1469  	0x54, 0x41, 0x10, 0x02, 0x2a, 0x4a, 0x0a, 0x09, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70,
  1470  	0x65, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x4f, 0x4f, 0x4c, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53,
  1471  	0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x49, 0x4e, 0x54, 0x36, 0x34,
  1472  	0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x4f, 0x55, 0x42, 0x4c, 0x45, 0x10, 0x03, 0x12, 0x10,
  1473  	0x0a, 0x0c, 0x44, 0x49, 0x53, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04,
  1474  	0x42, 0x30, 0x5a, 0x2e, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e,
  1475  	0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f,
  1476  	0x74, 0x73, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x73, 0x5f, 0x6d, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f,
  1477  	0x74, 0x6f,
  1478  }
  1479  
  1480  var (
  1481  	file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDescOnce sync.Once
  1482  	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
  1483  )
  1484  
  1485  func file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDescGZIP() []byte {
  1486  	file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDescOnce.Do(func() {
  1487  		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)
  1488  	})
  1489  	return file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDescData
  1490  }
  1491  
  1492  var file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
  1493  var file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes = make([]protoimpl.MessageInfo, 13)
  1494  var file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_goTypes = []interface{}{
  1495  	(StreamKind)(0), // 0: ts_mon.proto.StreamKind
  1496  	(ValueType)(0),  // 1: ts_mon.proto.ValueType
  1497  	(MetricsDataSet_MetricFieldDescriptor_FieldType)(0), // 2: ts_mon.proto.MetricsDataSet.MetricFieldDescriptor.FieldType
  1498  	(*MetricsPayload)(nil),                              // 3: ts_mon.proto.MetricsPayload
  1499  	(*MetricsCollection)(nil),                           // 4: ts_mon.proto.MetricsCollection
  1500  	(*MetricsDataSet)(nil),                              // 5: ts_mon.proto.MetricsDataSet
  1501  	(*MetricsData)(nil),                                 // 6: ts_mon.proto.MetricsData
  1502  	(*Annotations)(nil),                                 // 7: ts_mon.proto.Annotations
  1503  	(*MetricsCollection_RootLabels)(nil),                // 8: ts_mon.proto.MetricsCollection.RootLabels
  1504  	(*MetricsDataSet_MetricFieldDescriptor)(nil),        // 9: ts_mon.proto.MetricsDataSet.MetricFieldDescriptor
  1505  	(*MetricsData_MetricField)(nil),                     // 10: ts_mon.proto.MetricsData.MetricField
  1506  	(*MetricsData_Distribution)(nil),                    // 11: ts_mon.proto.MetricsData.Distribution
  1507  	(*MetricsData_Distribution_LinearOptions)(nil),      // 12: ts_mon.proto.MetricsData.Distribution.LinearOptions
  1508  	(*MetricsData_Distribution_ExponentialOptions)(nil), // 13: ts_mon.proto.MetricsData.Distribution.ExponentialOptions
  1509  	(*MetricsData_Distribution_ExplicitOptions)(nil),    // 14: ts_mon.proto.MetricsData.Distribution.ExplicitOptions
  1510  	(*MetricsData_Distribution_Exemplar)(nil),           // 15: ts_mon.proto.MetricsData.Distribution.Exemplar
  1511  	(*timestamppb.Timestamp)(nil),                       // 16: google.protobuf.Timestamp
  1512  	(*anypb.Any)(nil),                                   // 17: google.protobuf.Any
  1513  }
  1514  var file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_depIdxs = []int32{
  1515  	4,  // 0: ts_mon.proto.MetricsPayload.metrics_collection:type_name -> ts_mon.proto.MetricsCollection
  1516  	5,  // 1: ts_mon.proto.MetricsCollection.metrics_data_set:type_name -> ts_mon.proto.MetricsDataSet
  1517  	8,  // 2: ts_mon.proto.MetricsCollection.root_labels:type_name -> ts_mon.proto.MetricsCollection.RootLabels
  1518  	9,  // 3: ts_mon.proto.MetricsDataSet.field_descriptor:type_name -> ts_mon.proto.MetricsDataSet.MetricFieldDescriptor
  1519  	0,  // 4: ts_mon.proto.MetricsDataSet.stream_kind:type_name -> ts_mon.proto.StreamKind
  1520  	1,  // 5: ts_mon.proto.MetricsDataSet.value_type:type_name -> ts_mon.proto.ValueType
  1521  	7,  // 6: ts_mon.proto.MetricsDataSet.annotations:type_name -> ts_mon.proto.Annotations
  1522  	6,  // 7: ts_mon.proto.MetricsDataSet.data:type_name -> ts_mon.proto.MetricsData
  1523  	11, // 8: ts_mon.proto.MetricsData.distribution_value:type_name -> ts_mon.proto.MetricsData.Distribution
  1524  	10, // 9: ts_mon.proto.MetricsData.field:type_name -> ts_mon.proto.MetricsData.MetricField
  1525  	16, // 10: ts_mon.proto.MetricsData.start_timestamp:type_name -> google.protobuf.Timestamp
  1526  	16, // 11: ts_mon.proto.MetricsData.end_timestamp:type_name -> google.protobuf.Timestamp
  1527  	17, // 12: ts_mon.proto.Annotations.annotation:type_name -> google.protobuf.Any
  1528  	2,  // 13: ts_mon.proto.MetricsDataSet.MetricFieldDescriptor.field_type:type_name -> ts_mon.proto.MetricsDataSet.MetricFieldDescriptor.FieldType
  1529  	12, // 14: ts_mon.proto.MetricsData.Distribution.linear_buckets:type_name -> ts_mon.proto.MetricsData.Distribution.LinearOptions
  1530  	13, // 15: ts_mon.proto.MetricsData.Distribution.exponential_buckets:type_name -> ts_mon.proto.MetricsData.Distribution.ExponentialOptions
  1531  	14, // 16: ts_mon.proto.MetricsData.Distribution.explicit_buckets:type_name -> ts_mon.proto.MetricsData.Distribution.ExplicitOptions
  1532  	15, // 17: ts_mon.proto.MetricsData.Distribution.exemplar:type_name -> ts_mon.proto.MetricsData.Distribution.Exemplar
  1533  	16, // 18: ts_mon.proto.MetricsData.Distribution.Exemplar.timestamp:type_name -> google.protobuf.Timestamp
  1534  	17, // 19: ts_mon.proto.MetricsData.Distribution.Exemplar.attachment:type_name -> google.protobuf.Any
  1535  	20, // [20:20] is the sub-list for method output_type
  1536  	20, // [20:20] is the sub-list for method input_type
  1537  	20, // [20:20] is the sub-list for extension type_name
  1538  	20, // [20:20] is the sub-list for extension extendee
  1539  	0,  // [0:20] is the sub-list for field type_name
  1540  }
  1541  
  1542  func init() { file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_init() }
  1543  func file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_init() {
  1544  	if File_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto != nil {
  1545  		return
  1546  	}
  1547  	if !protoimpl.UnsafeEnabled {
  1548  		file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  1549  			switch v := v.(*MetricsPayload); i {
  1550  			case 0:
  1551  				return &v.state
  1552  			case 1:
  1553  				return &v.sizeCache
  1554  			case 2:
  1555  				return &v.unknownFields
  1556  			default:
  1557  				return nil
  1558  			}
  1559  		}
  1560  		file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  1561  			switch v := v.(*MetricsCollection); i {
  1562  			case 0:
  1563  				return &v.state
  1564  			case 1:
  1565  				return &v.sizeCache
  1566  			case 2:
  1567  				return &v.unknownFields
  1568  			default:
  1569  				return nil
  1570  			}
  1571  		}
  1572  		file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  1573  			switch v := v.(*MetricsDataSet); i {
  1574  			case 0:
  1575  				return &v.state
  1576  			case 1:
  1577  				return &v.sizeCache
  1578  			case 2:
  1579  				return &v.unknownFields
  1580  			default:
  1581  				return nil
  1582  			}
  1583  		}
  1584  		file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  1585  			switch v := v.(*MetricsData); i {
  1586  			case 0:
  1587  				return &v.state
  1588  			case 1:
  1589  				return &v.sizeCache
  1590  			case 2:
  1591  				return &v.unknownFields
  1592  			default:
  1593  				return nil
  1594  			}
  1595  		}
  1596  		file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  1597  			switch v := v.(*Annotations); i {
  1598  			case 0:
  1599  				return &v.state
  1600  			case 1:
  1601  				return &v.sizeCache
  1602  			case 2:
  1603  				return &v.unknownFields
  1604  			default:
  1605  				return nil
  1606  			}
  1607  		}
  1608  		file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  1609  			switch v := v.(*MetricsCollection_RootLabels); i {
  1610  			case 0:
  1611  				return &v.state
  1612  			case 1:
  1613  				return &v.sizeCache
  1614  			case 2:
  1615  				return &v.unknownFields
  1616  			default:
  1617  				return nil
  1618  			}
  1619  		}
  1620  		file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  1621  			switch v := v.(*MetricsDataSet_MetricFieldDescriptor); i {
  1622  			case 0:
  1623  				return &v.state
  1624  			case 1:
  1625  				return &v.sizeCache
  1626  			case 2:
  1627  				return &v.unknownFields
  1628  			default:
  1629  				return nil
  1630  			}
  1631  		}
  1632  		file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  1633  			switch v := v.(*MetricsData_MetricField); i {
  1634  			case 0:
  1635  				return &v.state
  1636  			case 1:
  1637  				return &v.sizeCache
  1638  			case 2:
  1639  				return &v.unknownFields
  1640  			default:
  1641  				return nil
  1642  			}
  1643  		}
  1644  		file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  1645  			switch v := v.(*MetricsData_Distribution); i {
  1646  			case 0:
  1647  				return &v.state
  1648  			case 1:
  1649  				return &v.sizeCache
  1650  			case 2:
  1651  				return &v.unknownFields
  1652  			default:
  1653  				return nil
  1654  			}
  1655  		}
  1656  		file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  1657  			switch v := v.(*MetricsData_Distribution_LinearOptions); i {
  1658  			case 0:
  1659  				return &v.state
  1660  			case 1:
  1661  				return &v.sizeCache
  1662  			case 2:
  1663  				return &v.unknownFields
  1664  			default:
  1665  				return nil
  1666  			}
  1667  		}
  1668  		file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  1669  			switch v := v.(*MetricsData_Distribution_ExponentialOptions); i {
  1670  			case 0:
  1671  				return &v.state
  1672  			case 1:
  1673  				return &v.sizeCache
  1674  			case 2:
  1675  				return &v.unknownFields
  1676  			default:
  1677  				return nil
  1678  			}
  1679  		}
  1680  		file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  1681  			switch v := v.(*MetricsData_Distribution_ExplicitOptions); i {
  1682  			case 0:
  1683  				return &v.state
  1684  			case 1:
  1685  				return &v.sizeCache
  1686  			case 2:
  1687  				return &v.unknownFields
  1688  			default:
  1689  				return nil
  1690  			}
  1691  		}
  1692  		file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
  1693  			switch v := v.(*MetricsData_Distribution_Exemplar); i {
  1694  			case 0:
  1695  				return &v.state
  1696  			case 1:
  1697  				return &v.sizeCache
  1698  			case 2:
  1699  				return &v.unknownFields
  1700  			default:
  1701  				return nil
  1702  			}
  1703  		}
  1704  	}
  1705  	file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[3].OneofWrappers = []interface{}{
  1706  		(*MetricsData_BoolValue)(nil),
  1707  		(*MetricsData_StringValue)(nil),
  1708  		(*MetricsData_Int64Value)(nil),
  1709  		(*MetricsData_DoubleValue)(nil),
  1710  		(*MetricsData_DistributionValue)(nil),
  1711  	}
  1712  	file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[5].OneofWrappers = []interface{}{
  1713  		(*MetricsCollection_RootLabels_StringValue)(nil),
  1714  		(*MetricsCollection_RootLabels_Int64Value)(nil),
  1715  		(*MetricsCollection_RootLabels_BoolValue)(nil),
  1716  	}
  1717  	file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[7].OneofWrappers = []interface{}{
  1718  		(*MetricsData_MetricField_StringValue)(nil),
  1719  		(*MetricsData_MetricField_Int64Value)(nil),
  1720  		(*MetricsData_MetricField_BoolValue)(nil),
  1721  	}
  1722  	file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes[8].OneofWrappers = []interface{}{
  1723  		(*MetricsData_Distribution_LinearBuckets)(nil),
  1724  		(*MetricsData_Distribution_ExponentialBuckets)(nil),
  1725  		(*MetricsData_Distribution_ExplicitBuckets)(nil),
  1726  	}
  1727  	type x struct{}
  1728  	out := protoimpl.TypeBuilder{
  1729  		File: protoimpl.DescBuilder{
  1730  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  1731  			RawDescriptor: file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDesc,
  1732  			NumEnums:      3,
  1733  			NumMessages:   13,
  1734  			NumExtensions: 0,
  1735  			NumServices:   0,
  1736  		},
  1737  		GoTypes:           file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_goTypes,
  1738  		DependencyIndexes: file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_depIdxs,
  1739  		EnumInfos:         file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_enumTypes,
  1740  		MessageInfos:      file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_msgTypes,
  1741  	}.Build()
  1742  	File_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto = out.File
  1743  	file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_rawDesc = nil
  1744  	file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_goTypes = nil
  1745  	file_go_chromium_org_luci_common_tsmon_ts_mon_proto_metrics_proto_depIdxs = nil
  1746  }