...

Source file src/google.golang.org/genproto/googleapis/api/distribution/distribution.pb.go

Documentation: google.golang.org/genproto/googleapis/api/distribution

     1  // Copyright 2024 Google LLC
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  // Code generated by protoc-gen-go. DO NOT EDIT.
    16  // versions:
    17  // 	protoc-gen-go v1.26.0
    18  // 	protoc        v4.24.4
    19  // source: google/api/distribution.proto
    20  
    21  package distribution
    22  
    23  import (
    24  	reflect "reflect"
    25  	sync "sync"
    26  
    27  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    28  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    29  	anypb "google.golang.org/protobuf/types/known/anypb"
    30  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    31  )
    32  
    33  const (
    34  	// Verify that this generated code is sufficiently up-to-date.
    35  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    36  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    37  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    38  )
    39  
    40  // `Distribution` contains summary statistics for a population of values. It
    41  // optionally contains a histogram representing the distribution of those values
    42  // across a set of buckets.
    43  //
    44  // The summary statistics are the count, mean, sum of the squared deviation from
    45  // the mean, the minimum, and the maximum of the set of population of values.
    46  // The histogram is based on a sequence of buckets and gives a count of values
    47  // that fall into each bucket. The boundaries of the buckets are given either
    48  // explicitly or by formulas for buckets of fixed or exponentially increasing
    49  // widths.
    50  //
    51  // Although it is not forbidden, it is generally a bad idea to include
    52  // non-finite values (infinities or NaNs) in the population of values, as this
    53  // will render the `mean` and `sum_of_squared_deviation` fields meaningless.
    54  type Distribution struct {
    55  	state         protoimpl.MessageState
    56  	sizeCache     protoimpl.SizeCache
    57  	unknownFields protoimpl.UnknownFields
    58  
    59  	// The number of values in the population. Must be non-negative. This value
    60  	// must equal the sum of the values in `bucket_counts` if a histogram is
    61  	// provided.
    62  	Count int64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"`
    63  	// The arithmetic mean of the values in the population. If `count` is zero
    64  	// then this field must be zero.
    65  	Mean float64 `protobuf:"fixed64,2,opt,name=mean,proto3" json:"mean,omitempty"`
    66  	// The sum of squared deviations from the mean of the values in the
    67  	// population. For values x_i this is:
    68  	//
    69  	//	Sum[i=1..n]((x_i - mean)^2)
    70  	//
    71  	// Knuth, "The Art of Computer Programming", Vol. 2, page 232, 3rd edition
    72  	// describes Welford's method for accumulating this sum in one pass.
    73  	//
    74  	// If `count` is zero then this field must be zero.
    75  	SumOfSquaredDeviation float64 `protobuf:"fixed64,3,opt,name=sum_of_squared_deviation,json=sumOfSquaredDeviation,proto3" json:"sum_of_squared_deviation,omitempty"`
    76  	// If specified, contains the range of the population values. The field
    77  	// must not be present if the `count` is zero.
    78  	Range *Distribution_Range `protobuf:"bytes,4,opt,name=range,proto3" json:"range,omitempty"`
    79  	// Defines the histogram bucket boundaries. If the distribution does not
    80  	// contain a histogram, then omit this field.
    81  	BucketOptions *Distribution_BucketOptions `protobuf:"bytes,6,opt,name=bucket_options,json=bucketOptions,proto3" json:"bucket_options,omitempty"`
    82  	// The number of values in each bucket of the histogram, as described in
    83  	// `bucket_options`. If the distribution does not have a histogram, then omit
    84  	// this field. If there is a histogram, then the sum of the values in
    85  	// `bucket_counts` must equal the value in the `count` field of the
    86  	// distribution.
    87  	//
    88  	// If present, `bucket_counts` should contain N values, where N is the number
    89  	// of buckets specified in `bucket_options`. If you supply fewer than N
    90  	// values, the remaining values are assumed to be 0.
    91  	//
    92  	// The order of the values in `bucket_counts` follows the bucket numbering
    93  	// schemes described for the three bucket types. The first value must be the
    94  	// count for the underflow bucket (number 0). The next N-2 values are the
    95  	// counts for the finite buckets (number 1 through N-2). The N'th value in
    96  	// `bucket_counts` is the count for the overflow bucket (number N-1).
    97  	BucketCounts []int64 `protobuf:"varint,7,rep,packed,name=bucket_counts,json=bucketCounts,proto3" json:"bucket_counts,omitempty"`
    98  	// Must be in increasing order of `value` field.
    99  	Exemplars []*Distribution_Exemplar `protobuf:"bytes,10,rep,name=exemplars,proto3" json:"exemplars,omitempty"`
   100  }
   101  
   102  func (x *Distribution) Reset() {
   103  	*x = Distribution{}
   104  	if protoimpl.UnsafeEnabled {
   105  		mi := &file_google_api_distribution_proto_msgTypes[0]
   106  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   107  		ms.StoreMessageInfo(mi)
   108  	}
   109  }
   110  
   111  func (x *Distribution) String() string {
   112  	return protoimpl.X.MessageStringOf(x)
   113  }
   114  
   115  func (*Distribution) ProtoMessage() {}
   116  
   117  func (x *Distribution) ProtoReflect() protoreflect.Message {
   118  	mi := &file_google_api_distribution_proto_msgTypes[0]
   119  	if protoimpl.UnsafeEnabled && x != nil {
   120  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   121  		if ms.LoadMessageInfo() == nil {
   122  			ms.StoreMessageInfo(mi)
   123  		}
   124  		return ms
   125  	}
   126  	return mi.MessageOf(x)
   127  }
   128  
   129  // Deprecated: Use Distribution.ProtoReflect.Descriptor instead.
   130  func (*Distribution) Descriptor() ([]byte, []int) {
   131  	return file_google_api_distribution_proto_rawDescGZIP(), []int{0}
   132  }
   133  
   134  func (x *Distribution) GetCount() int64 {
   135  	if x != nil {
   136  		return x.Count
   137  	}
   138  	return 0
   139  }
   140  
   141  func (x *Distribution) GetMean() float64 {
   142  	if x != nil {
   143  		return x.Mean
   144  	}
   145  	return 0
   146  }
   147  
   148  func (x *Distribution) GetSumOfSquaredDeviation() float64 {
   149  	if x != nil {
   150  		return x.SumOfSquaredDeviation
   151  	}
   152  	return 0
   153  }
   154  
   155  func (x *Distribution) GetRange() *Distribution_Range {
   156  	if x != nil {
   157  		return x.Range
   158  	}
   159  	return nil
   160  }
   161  
   162  func (x *Distribution) GetBucketOptions() *Distribution_BucketOptions {
   163  	if x != nil {
   164  		return x.BucketOptions
   165  	}
   166  	return nil
   167  }
   168  
   169  func (x *Distribution) GetBucketCounts() []int64 {
   170  	if x != nil {
   171  		return x.BucketCounts
   172  	}
   173  	return nil
   174  }
   175  
   176  func (x *Distribution) GetExemplars() []*Distribution_Exemplar {
   177  	if x != nil {
   178  		return x.Exemplars
   179  	}
   180  	return nil
   181  }
   182  
   183  // The range of the population values.
   184  type Distribution_Range struct {
   185  	state         protoimpl.MessageState
   186  	sizeCache     protoimpl.SizeCache
   187  	unknownFields protoimpl.UnknownFields
   188  
   189  	// The minimum of the population values.
   190  	Min float64 `protobuf:"fixed64,1,opt,name=min,proto3" json:"min,omitempty"`
   191  	// The maximum of the population values.
   192  	Max float64 `protobuf:"fixed64,2,opt,name=max,proto3" json:"max,omitempty"`
   193  }
   194  
   195  func (x *Distribution_Range) Reset() {
   196  	*x = Distribution_Range{}
   197  	if protoimpl.UnsafeEnabled {
   198  		mi := &file_google_api_distribution_proto_msgTypes[1]
   199  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   200  		ms.StoreMessageInfo(mi)
   201  	}
   202  }
   203  
   204  func (x *Distribution_Range) String() string {
   205  	return protoimpl.X.MessageStringOf(x)
   206  }
   207  
   208  func (*Distribution_Range) ProtoMessage() {}
   209  
   210  func (x *Distribution_Range) ProtoReflect() protoreflect.Message {
   211  	mi := &file_google_api_distribution_proto_msgTypes[1]
   212  	if protoimpl.UnsafeEnabled && x != nil {
   213  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   214  		if ms.LoadMessageInfo() == nil {
   215  			ms.StoreMessageInfo(mi)
   216  		}
   217  		return ms
   218  	}
   219  	return mi.MessageOf(x)
   220  }
   221  
   222  // Deprecated: Use Distribution_Range.ProtoReflect.Descriptor instead.
   223  func (*Distribution_Range) Descriptor() ([]byte, []int) {
   224  	return file_google_api_distribution_proto_rawDescGZIP(), []int{0, 0}
   225  }
   226  
   227  func (x *Distribution_Range) GetMin() float64 {
   228  	if x != nil {
   229  		return x.Min
   230  	}
   231  	return 0
   232  }
   233  
   234  func (x *Distribution_Range) GetMax() float64 {
   235  	if x != nil {
   236  		return x.Max
   237  	}
   238  	return 0
   239  }
   240  
   241  // `BucketOptions` describes the bucket boundaries used to create a histogram
   242  // for the distribution. The buckets can be in a linear sequence, an
   243  // exponential sequence, or each bucket can be specified explicitly.
   244  // `BucketOptions` does not include the number of values in each bucket.
   245  //
   246  // A bucket has an inclusive lower bound and exclusive upper bound for the
   247  // values that are counted for that bucket. The upper bound of a bucket must
   248  // be strictly greater than the lower bound. The sequence of N buckets for a
   249  // distribution consists of an underflow bucket (number 0), zero or more
   250  // finite buckets (number 1 through N - 2) and an overflow bucket (number N -
   251  // 1). The buckets are contiguous: the lower bound of bucket i (i > 0) is the
   252  // same as the upper bound of bucket i - 1. The buckets span the whole range
   253  // of finite values: lower bound of the underflow bucket is -infinity and the
   254  // upper bound of the overflow bucket is +infinity. The finite buckets are
   255  // so-called because both bounds are finite.
   256  type Distribution_BucketOptions struct {
   257  	state         protoimpl.MessageState
   258  	sizeCache     protoimpl.SizeCache
   259  	unknownFields protoimpl.UnknownFields
   260  
   261  	// Exactly one of these three fields must be set.
   262  	//
   263  	// Types that are assignable to Options:
   264  	//
   265  	//	*Distribution_BucketOptions_LinearBuckets
   266  	//	*Distribution_BucketOptions_ExponentialBuckets
   267  	//	*Distribution_BucketOptions_ExplicitBuckets
   268  	Options isDistribution_BucketOptions_Options `protobuf_oneof:"options"`
   269  }
   270  
   271  func (x *Distribution_BucketOptions) Reset() {
   272  	*x = Distribution_BucketOptions{}
   273  	if protoimpl.UnsafeEnabled {
   274  		mi := &file_google_api_distribution_proto_msgTypes[2]
   275  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   276  		ms.StoreMessageInfo(mi)
   277  	}
   278  }
   279  
   280  func (x *Distribution_BucketOptions) String() string {
   281  	return protoimpl.X.MessageStringOf(x)
   282  }
   283  
   284  func (*Distribution_BucketOptions) ProtoMessage() {}
   285  
   286  func (x *Distribution_BucketOptions) ProtoReflect() protoreflect.Message {
   287  	mi := &file_google_api_distribution_proto_msgTypes[2]
   288  	if protoimpl.UnsafeEnabled && x != nil {
   289  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   290  		if ms.LoadMessageInfo() == nil {
   291  			ms.StoreMessageInfo(mi)
   292  		}
   293  		return ms
   294  	}
   295  	return mi.MessageOf(x)
   296  }
   297  
   298  // Deprecated: Use Distribution_BucketOptions.ProtoReflect.Descriptor instead.
   299  func (*Distribution_BucketOptions) Descriptor() ([]byte, []int) {
   300  	return file_google_api_distribution_proto_rawDescGZIP(), []int{0, 1}
   301  }
   302  
   303  func (m *Distribution_BucketOptions) GetOptions() isDistribution_BucketOptions_Options {
   304  	if m != nil {
   305  		return m.Options
   306  	}
   307  	return nil
   308  }
   309  
   310  func (x *Distribution_BucketOptions) GetLinearBuckets() *Distribution_BucketOptions_Linear {
   311  	if x, ok := x.GetOptions().(*Distribution_BucketOptions_LinearBuckets); ok {
   312  		return x.LinearBuckets
   313  	}
   314  	return nil
   315  }
   316  
   317  func (x *Distribution_BucketOptions) GetExponentialBuckets() *Distribution_BucketOptions_Exponential {
   318  	if x, ok := x.GetOptions().(*Distribution_BucketOptions_ExponentialBuckets); ok {
   319  		return x.ExponentialBuckets
   320  	}
   321  	return nil
   322  }
   323  
   324  func (x *Distribution_BucketOptions) GetExplicitBuckets() *Distribution_BucketOptions_Explicit {
   325  	if x, ok := x.GetOptions().(*Distribution_BucketOptions_ExplicitBuckets); ok {
   326  		return x.ExplicitBuckets
   327  	}
   328  	return nil
   329  }
   330  
   331  type isDistribution_BucketOptions_Options interface {
   332  	isDistribution_BucketOptions_Options()
   333  }
   334  
   335  type Distribution_BucketOptions_LinearBuckets struct {
   336  	// The linear bucket.
   337  	LinearBuckets *Distribution_BucketOptions_Linear `protobuf:"bytes,1,opt,name=linear_buckets,json=linearBuckets,proto3,oneof"`
   338  }
   339  
   340  type Distribution_BucketOptions_ExponentialBuckets struct {
   341  	// The exponential buckets.
   342  	ExponentialBuckets *Distribution_BucketOptions_Exponential `protobuf:"bytes,2,opt,name=exponential_buckets,json=exponentialBuckets,proto3,oneof"`
   343  }
   344  
   345  type Distribution_BucketOptions_ExplicitBuckets struct {
   346  	// The explicit buckets.
   347  	ExplicitBuckets *Distribution_BucketOptions_Explicit `protobuf:"bytes,3,opt,name=explicit_buckets,json=explicitBuckets,proto3,oneof"`
   348  }
   349  
   350  func (*Distribution_BucketOptions_LinearBuckets) isDistribution_BucketOptions_Options() {}
   351  
   352  func (*Distribution_BucketOptions_ExponentialBuckets) isDistribution_BucketOptions_Options() {}
   353  
   354  func (*Distribution_BucketOptions_ExplicitBuckets) isDistribution_BucketOptions_Options() {}
   355  
   356  // Exemplars are example points that may be used to annotate aggregated
   357  // distribution values. They are metadata that gives information about a
   358  // particular value added to a Distribution bucket, such as a trace ID that
   359  // was active when a value was added. They may contain further information,
   360  // such as a example values and timestamps, origin, etc.
   361  type Distribution_Exemplar struct {
   362  	state         protoimpl.MessageState
   363  	sizeCache     protoimpl.SizeCache
   364  	unknownFields protoimpl.UnknownFields
   365  
   366  	// Value of the exemplar point. This value determines to which bucket the
   367  	// exemplar belongs.
   368  	Value float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value,omitempty"`
   369  	// The observation (sampling) time of the above value.
   370  	Timestamp *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
   371  	// Contextual information about the example value. Examples are:
   372  	//
   373  	//	Trace: type.googleapis.com/google.monitoring.v3.SpanContext
   374  	//
   375  	//	Literal string: type.googleapis.com/google.protobuf.StringValue
   376  	//
   377  	//	Labels dropped during aggregation:
   378  	//	  type.googleapis.com/google.monitoring.v3.DroppedLabels
   379  	//
   380  	// There may be only a single attachment of any given message type in a
   381  	// single exemplar, and this is enforced by the system.
   382  	Attachments []*anypb.Any `protobuf:"bytes,3,rep,name=attachments,proto3" json:"attachments,omitempty"`
   383  }
   384  
   385  func (x *Distribution_Exemplar) Reset() {
   386  	*x = Distribution_Exemplar{}
   387  	if protoimpl.UnsafeEnabled {
   388  		mi := &file_google_api_distribution_proto_msgTypes[3]
   389  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   390  		ms.StoreMessageInfo(mi)
   391  	}
   392  }
   393  
   394  func (x *Distribution_Exemplar) String() string {
   395  	return protoimpl.X.MessageStringOf(x)
   396  }
   397  
   398  func (*Distribution_Exemplar) ProtoMessage() {}
   399  
   400  func (x *Distribution_Exemplar) ProtoReflect() protoreflect.Message {
   401  	mi := &file_google_api_distribution_proto_msgTypes[3]
   402  	if protoimpl.UnsafeEnabled && x != nil {
   403  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   404  		if ms.LoadMessageInfo() == nil {
   405  			ms.StoreMessageInfo(mi)
   406  		}
   407  		return ms
   408  	}
   409  	return mi.MessageOf(x)
   410  }
   411  
   412  // Deprecated: Use Distribution_Exemplar.ProtoReflect.Descriptor instead.
   413  func (*Distribution_Exemplar) Descriptor() ([]byte, []int) {
   414  	return file_google_api_distribution_proto_rawDescGZIP(), []int{0, 2}
   415  }
   416  
   417  func (x *Distribution_Exemplar) GetValue() float64 {
   418  	if x != nil {
   419  		return x.Value
   420  	}
   421  	return 0
   422  }
   423  
   424  func (x *Distribution_Exemplar) GetTimestamp() *timestamppb.Timestamp {
   425  	if x != nil {
   426  		return x.Timestamp
   427  	}
   428  	return nil
   429  }
   430  
   431  func (x *Distribution_Exemplar) GetAttachments() []*anypb.Any {
   432  	if x != nil {
   433  		return x.Attachments
   434  	}
   435  	return nil
   436  }
   437  
   438  // Specifies a linear sequence of buckets that all have the same width
   439  // (except overflow and underflow). Each bucket represents a constant
   440  // absolute uncertainty on the specific value in the bucket.
   441  //
   442  // There are `num_finite_buckets + 2` (= N) buckets. Bucket `i` has the
   443  // following boundaries:
   444  //
   445  //	Upper bound (0 <= i < N-1):     offset + (width * i).
   446  //
   447  //	Lower bound (1 <= i < N):       offset + (width * (i - 1)).
   448  type Distribution_BucketOptions_Linear struct {
   449  	state         protoimpl.MessageState
   450  	sizeCache     protoimpl.SizeCache
   451  	unknownFields protoimpl.UnknownFields
   452  
   453  	// Must be greater than 0.
   454  	NumFiniteBuckets int32 `protobuf:"varint,1,opt,name=num_finite_buckets,json=numFiniteBuckets,proto3" json:"num_finite_buckets,omitempty"`
   455  	// Must be greater than 0.
   456  	Width float64 `protobuf:"fixed64,2,opt,name=width,proto3" json:"width,omitempty"`
   457  	// Lower bound of the first bucket.
   458  	Offset float64 `protobuf:"fixed64,3,opt,name=offset,proto3" json:"offset,omitempty"`
   459  }
   460  
   461  func (x *Distribution_BucketOptions_Linear) Reset() {
   462  	*x = Distribution_BucketOptions_Linear{}
   463  	if protoimpl.UnsafeEnabled {
   464  		mi := &file_google_api_distribution_proto_msgTypes[4]
   465  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   466  		ms.StoreMessageInfo(mi)
   467  	}
   468  }
   469  
   470  func (x *Distribution_BucketOptions_Linear) String() string {
   471  	return protoimpl.X.MessageStringOf(x)
   472  }
   473  
   474  func (*Distribution_BucketOptions_Linear) ProtoMessage() {}
   475  
   476  func (x *Distribution_BucketOptions_Linear) ProtoReflect() protoreflect.Message {
   477  	mi := &file_google_api_distribution_proto_msgTypes[4]
   478  	if protoimpl.UnsafeEnabled && x != nil {
   479  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   480  		if ms.LoadMessageInfo() == nil {
   481  			ms.StoreMessageInfo(mi)
   482  		}
   483  		return ms
   484  	}
   485  	return mi.MessageOf(x)
   486  }
   487  
   488  // Deprecated: Use Distribution_BucketOptions_Linear.ProtoReflect.Descriptor instead.
   489  func (*Distribution_BucketOptions_Linear) Descriptor() ([]byte, []int) {
   490  	return file_google_api_distribution_proto_rawDescGZIP(), []int{0, 1, 0}
   491  }
   492  
   493  func (x *Distribution_BucketOptions_Linear) GetNumFiniteBuckets() int32 {
   494  	if x != nil {
   495  		return x.NumFiniteBuckets
   496  	}
   497  	return 0
   498  }
   499  
   500  func (x *Distribution_BucketOptions_Linear) GetWidth() float64 {
   501  	if x != nil {
   502  		return x.Width
   503  	}
   504  	return 0
   505  }
   506  
   507  func (x *Distribution_BucketOptions_Linear) GetOffset() float64 {
   508  	if x != nil {
   509  		return x.Offset
   510  	}
   511  	return 0
   512  }
   513  
   514  // Specifies an exponential sequence of buckets that have a width that is
   515  // proportional to the value of the lower bound. Each bucket represents a
   516  // constant relative uncertainty on a specific value in the bucket.
   517  //
   518  // There are `num_finite_buckets + 2` (= N) buckets. Bucket `i` has the
   519  // following boundaries:
   520  //
   521  //	Upper bound (0 <= i < N-1):     scale * (growth_factor ^ i).
   522  //
   523  //	Lower bound (1 <= i < N):       scale * (growth_factor ^ (i - 1)).
   524  type Distribution_BucketOptions_Exponential struct {
   525  	state         protoimpl.MessageState
   526  	sizeCache     protoimpl.SizeCache
   527  	unknownFields protoimpl.UnknownFields
   528  
   529  	// Must be greater than 0.
   530  	NumFiniteBuckets int32 `protobuf:"varint,1,opt,name=num_finite_buckets,json=numFiniteBuckets,proto3" json:"num_finite_buckets,omitempty"`
   531  	// Must be greater than 1.
   532  	GrowthFactor float64 `protobuf:"fixed64,2,opt,name=growth_factor,json=growthFactor,proto3" json:"growth_factor,omitempty"`
   533  	// Must be greater than 0.
   534  	Scale float64 `protobuf:"fixed64,3,opt,name=scale,proto3" json:"scale,omitempty"`
   535  }
   536  
   537  func (x *Distribution_BucketOptions_Exponential) Reset() {
   538  	*x = Distribution_BucketOptions_Exponential{}
   539  	if protoimpl.UnsafeEnabled {
   540  		mi := &file_google_api_distribution_proto_msgTypes[5]
   541  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   542  		ms.StoreMessageInfo(mi)
   543  	}
   544  }
   545  
   546  func (x *Distribution_BucketOptions_Exponential) String() string {
   547  	return protoimpl.X.MessageStringOf(x)
   548  }
   549  
   550  func (*Distribution_BucketOptions_Exponential) ProtoMessage() {}
   551  
   552  func (x *Distribution_BucketOptions_Exponential) ProtoReflect() protoreflect.Message {
   553  	mi := &file_google_api_distribution_proto_msgTypes[5]
   554  	if protoimpl.UnsafeEnabled && x != nil {
   555  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   556  		if ms.LoadMessageInfo() == nil {
   557  			ms.StoreMessageInfo(mi)
   558  		}
   559  		return ms
   560  	}
   561  	return mi.MessageOf(x)
   562  }
   563  
   564  // Deprecated: Use Distribution_BucketOptions_Exponential.ProtoReflect.Descriptor instead.
   565  func (*Distribution_BucketOptions_Exponential) Descriptor() ([]byte, []int) {
   566  	return file_google_api_distribution_proto_rawDescGZIP(), []int{0, 1, 1}
   567  }
   568  
   569  func (x *Distribution_BucketOptions_Exponential) GetNumFiniteBuckets() int32 {
   570  	if x != nil {
   571  		return x.NumFiniteBuckets
   572  	}
   573  	return 0
   574  }
   575  
   576  func (x *Distribution_BucketOptions_Exponential) GetGrowthFactor() float64 {
   577  	if x != nil {
   578  		return x.GrowthFactor
   579  	}
   580  	return 0
   581  }
   582  
   583  func (x *Distribution_BucketOptions_Exponential) GetScale() float64 {
   584  	if x != nil {
   585  		return x.Scale
   586  	}
   587  	return 0
   588  }
   589  
   590  // Specifies a set of buckets with arbitrary widths.
   591  //
   592  // There are `size(bounds) + 1` (= N) buckets. Bucket `i` has the following
   593  // boundaries:
   594  //
   595  //	Upper bound (0 <= i < N-1):     bounds[i]
   596  //	Lower bound (1 <= i < N);       bounds[i - 1]
   597  //
   598  // The `bounds` field must contain at least one element. If `bounds` has
   599  // only one element, then there are no finite buckets, and that single
   600  // element is the common boundary of the overflow and underflow buckets.
   601  type Distribution_BucketOptions_Explicit struct {
   602  	state         protoimpl.MessageState
   603  	sizeCache     protoimpl.SizeCache
   604  	unknownFields protoimpl.UnknownFields
   605  
   606  	// The values must be monotonically increasing.
   607  	Bounds []float64 `protobuf:"fixed64,1,rep,packed,name=bounds,proto3" json:"bounds,omitempty"`
   608  }
   609  
   610  func (x *Distribution_BucketOptions_Explicit) Reset() {
   611  	*x = Distribution_BucketOptions_Explicit{}
   612  	if protoimpl.UnsafeEnabled {
   613  		mi := &file_google_api_distribution_proto_msgTypes[6]
   614  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   615  		ms.StoreMessageInfo(mi)
   616  	}
   617  }
   618  
   619  func (x *Distribution_BucketOptions_Explicit) String() string {
   620  	return protoimpl.X.MessageStringOf(x)
   621  }
   622  
   623  func (*Distribution_BucketOptions_Explicit) ProtoMessage() {}
   624  
   625  func (x *Distribution_BucketOptions_Explicit) ProtoReflect() protoreflect.Message {
   626  	mi := &file_google_api_distribution_proto_msgTypes[6]
   627  	if protoimpl.UnsafeEnabled && x != nil {
   628  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   629  		if ms.LoadMessageInfo() == nil {
   630  			ms.StoreMessageInfo(mi)
   631  		}
   632  		return ms
   633  	}
   634  	return mi.MessageOf(x)
   635  }
   636  
   637  // Deprecated: Use Distribution_BucketOptions_Explicit.ProtoReflect.Descriptor instead.
   638  func (*Distribution_BucketOptions_Explicit) Descriptor() ([]byte, []int) {
   639  	return file_google_api_distribution_proto_rawDescGZIP(), []int{0, 1, 2}
   640  }
   641  
   642  func (x *Distribution_BucketOptions_Explicit) GetBounds() []float64 {
   643  	if x != nil {
   644  		return x.Bounds
   645  	}
   646  	return nil
   647  }
   648  
   649  var File_google_api_distribution_proto protoreflect.FileDescriptor
   650  
   651  var file_google_api_distribution_proto_rawDesc = []byte{
   652  	0x0a, 0x1d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x69, 0x73,
   653  	0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
   654  	0x0a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x1a, 0x19, 0x67, 0x6f, 0x6f,
   655  	0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79,
   656  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70,
   657  	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
   658  	0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xda, 0x08, 0x0a, 0x0c, 0x44, 0x69, 0x73, 0x74,
   659  	0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e,
   660  	0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12,
   661  	0x0a, 0x04, 0x6d, 0x65, 0x61, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x04, 0x6d, 0x65,
   662  	0x61, 0x6e, 0x12, 0x37, 0x0a, 0x18, 0x73, 0x75, 0x6d, 0x5f, 0x6f, 0x66, 0x5f, 0x73, 0x71, 0x75,
   663  	0x61, 0x72, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03,
   664  	0x20, 0x01, 0x28, 0x01, 0x52, 0x15, 0x73, 0x75, 0x6d, 0x4f, 0x66, 0x53, 0x71, 0x75, 0x61, 0x72,
   665  	0x65, 0x64, 0x44, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x05, 0x72,
   666  	0x61, 0x6e, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f,
   667  	0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75,
   668  	0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67,
   669  	0x65, 0x12, 0x4d, 0x0a, 0x0e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69,
   670  	0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
   671  	0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
   672  	0x69, 0x6f, 0x6e, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
   673  	0x73, 0x52, 0x0d, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
   674  	0x12, 0x23, 0x0a, 0x0d, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
   675  	0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0c, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x43,
   676  	0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x3f, 0x0a, 0x09, 0x65, 0x78, 0x65, 0x6d, 0x70, 0x6c, 0x61,
   677  	0x72, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
   678  	0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69,
   679  	0x6f, 0x6e, 0x2e, 0x45, 0x78, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x72, 0x52, 0x09, 0x65, 0x78, 0x65,
   680  	0x6d, 0x70, 0x6c, 0x61, 0x72, 0x73, 0x1a, 0x2b, 0x0a, 0x05, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12,
   681  	0x10, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x6d, 0x69,
   682  	0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03,
   683  	0x6d, 0x61, 0x78, 0x1a, 0xb9, 0x04, 0x0a, 0x0d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70,
   684  	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x56, 0x0a, 0x0e, 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x5f,
   685  	0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e,
   686  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x72,
   687  	0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70,
   688  	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x48, 0x00, 0x52, 0x0d,
   689  	0x6c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x65, 0x0a,
   690  	0x13, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x62, 0x75, 0x63,
   691  	0x6b, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f,
   692  	0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75,
   693  	0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f,
   694  	0x6e, 0x73, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x48, 0x00,
   695  	0x52, 0x12, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x42, 0x75, 0x63,
   696  	0x6b, 0x65, 0x74, 0x73, 0x12, 0x5c, 0x0a, 0x10, 0x65, 0x78, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74,
   697  	0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f,
   698  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x69, 0x73, 0x74,
   699  	0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4f,
   700  	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x48,
   701  	0x00, 0x52, 0x0f, 0x65, 0x78, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65,
   702  	0x74, 0x73, 0x1a, 0x64, 0x0a, 0x06, 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x12, 0x2c, 0x0a, 0x12,
   703  	0x6e, 0x75, 0x6d, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x65, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65,
   704  	0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6e, 0x75, 0x6d, 0x46, 0x69, 0x6e,
   705  	0x69, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69,
   706  	0x64, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68,
   707  	0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01,
   708  	0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x1a, 0x76, 0x0a, 0x0b, 0x45, 0x78, 0x70, 0x6f,
   709  	0x6e, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x12, 0x2c, 0x0a, 0x12, 0x6e, 0x75, 0x6d, 0x5f, 0x66,
   710  	0x69, 0x6e, 0x69, 0x74, 0x65, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20,
   711  	0x01, 0x28, 0x05, 0x52, 0x10, 0x6e, 0x75, 0x6d, 0x46, 0x69, 0x6e, 0x69, 0x74, 0x65, 0x42, 0x75,
   712  	0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x67, 0x72, 0x6f, 0x77, 0x74, 0x68, 0x5f,
   713  	0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x67, 0x72,
   714  	0x6f, 0x77, 0x74, 0x68, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63,
   715  	0x61, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65,
   716  	0x1a, 0x22, 0x0a, 0x08, 0x45, 0x78, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06,
   717  	0x62, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x01, 0x52, 0x06, 0x62, 0x6f,
   718  	0x75, 0x6e, 0x64, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a,
   719  	0x92, 0x01, 0x0a, 0x08, 0x45, 0x78, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x72, 0x12, 0x14, 0x0a, 0x05,
   720  	0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c,
   721  	0x75, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18,
   722  	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
   723  	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
   724  	0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x36, 0x0a, 0x0b,
   725  	0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
   726  	0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
   727  	0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d,
   728  	0x65, 0x6e, 0x74, 0x73, 0x42, 0x71, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
   729  	0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x42, 0x11, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75,
   730  	0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x67, 0x6f, 0x6f,
   731  	0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67,
   732  	0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
   733  	0x69, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
   734  	0x69, 0x6f, 0x6e, 0x3b, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e,
   735  	0xa2, 0x02, 0x04, 0x47, 0x41, 0x50, 0x49, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
   736  }
   737  
   738  var (
   739  	file_google_api_distribution_proto_rawDescOnce sync.Once
   740  	file_google_api_distribution_proto_rawDescData = file_google_api_distribution_proto_rawDesc
   741  )
   742  
   743  func file_google_api_distribution_proto_rawDescGZIP() []byte {
   744  	file_google_api_distribution_proto_rawDescOnce.Do(func() {
   745  		file_google_api_distribution_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_api_distribution_proto_rawDescData)
   746  	})
   747  	return file_google_api_distribution_proto_rawDescData
   748  }
   749  
   750  var file_google_api_distribution_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
   751  var file_google_api_distribution_proto_goTypes = []interface{}{
   752  	(*Distribution)(nil),                           // 0: google.api.Distribution
   753  	(*Distribution_Range)(nil),                     // 1: google.api.Distribution.Range
   754  	(*Distribution_BucketOptions)(nil),             // 2: google.api.Distribution.BucketOptions
   755  	(*Distribution_Exemplar)(nil),                  // 3: google.api.Distribution.Exemplar
   756  	(*Distribution_BucketOptions_Linear)(nil),      // 4: google.api.Distribution.BucketOptions.Linear
   757  	(*Distribution_BucketOptions_Exponential)(nil), // 5: google.api.Distribution.BucketOptions.Exponential
   758  	(*Distribution_BucketOptions_Explicit)(nil),    // 6: google.api.Distribution.BucketOptions.Explicit
   759  	(*timestamppb.Timestamp)(nil),                  // 7: google.protobuf.Timestamp
   760  	(*anypb.Any)(nil),                              // 8: google.protobuf.Any
   761  }
   762  var file_google_api_distribution_proto_depIdxs = []int32{
   763  	1, // 0: google.api.Distribution.range:type_name -> google.api.Distribution.Range
   764  	2, // 1: google.api.Distribution.bucket_options:type_name -> google.api.Distribution.BucketOptions
   765  	3, // 2: google.api.Distribution.exemplars:type_name -> google.api.Distribution.Exemplar
   766  	4, // 3: google.api.Distribution.BucketOptions.linear_buckets:type_name -> google.api.Distribution.BucketOptions.Linear
   767  	5, // 4: google.api.Distribution.BucketOptions.exponential_buckets:type_name -> google.api.Distribution.BucketOptions.Exponential
   768  	6, // 5: google.api.Distribution.BucketOptions.explicit_buckets:type_name -> google.api.Distribution.BucketOptions.Explicit
   769  	7, // 6: google.api.Distribution.Exemplar.timestamp:type_name -> google.protobuf.Timestamp
   770  	8, // 7: google.api.Distribution.Exemplar.attachments:type_name -> google.protobuf.Any
   771  	8, // [8:8] is the sub-list for method output_type
   772  	8, // [8:8] is the sub-list for method input_type
   773  	8, // [8:8] is the sub-list for extension type_name
   774  	8, // [8:8] is the sub-list for extension extendee
   775  	0, // [0:8] is the sub-list for field type_name
   776  }
   777  
   778  func init() { file_google_api_distribution_proto_init() }
   779  func file_google_api_distribution_proto_init() {
   780  	if File_google_api_distribution_proto != nil {
   781  		return
   782  	}
   783  	if !protoimpl.UnsafeEnabled {
   784  		file_google_api_distribution_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
   785  			switch v := v.(*Distribution); i {
   786  			case 0:
   787  				return &v.state
   788  			case 1:
   789  				return &v.sizeCache
   790  			case 2:
   791  				return &v.unknownFields
   792  			default:
   793  				return nil
   794  			}
   795  		}
   796  		file_google_api_distribution_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
   797  			switch v := v.(*Distribution_Range); i {
   798  			case 0:
   799  				return &v.state
   800  			case 1:
   801  				return &v.sizeCache
   802  			case 2:
   803  				return &v.unknownFields
   804  			default:
   805  				return nil
   806  			}
   807  		}
   808  		file_google_api_distribution_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
   809  			switch v := v.(*Distribution_BucketOptions); i {
   810  			case 0:
   811  				return &v.state
   812  			case 1:
   813  				return &v.sizeCache
   814  			case 2:
   815  				return &v.unknownFields
   816  			default:
   817  				return nil
   818  			}
   819  		}
   820  		file_google_api_distribution_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
   821  			switch v := v.(*Distribution_Exemplar); i {
   822  			case 0:
   823  				return &v.state
   824  			case 1:
   825  				return &v.sizeCache
   826  			case 2:
   827  				return &v.unknownFields
   828  			default:
   829  				return nil
   830  			}
   831  		}
   832  		file_google_api_distribution_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
   833  			switch v := v.(*Distribution_BucketOptions_Linear); i {
   834  			case 0:
   835  				return &v.state
   836  			case 1:
   837  				return &v.sizeCache
   838  			case 2:
   839  				return &v.unknownFields
   840  			default:
   841  				return nil
   842  			}
   843  		}
   844  		file_google_api_distribution_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
   845  			switch v := v.(*Distribution_BucketOptions_Exponential); i {
   846  			case 0:
   847  				return &v.state
   848  			case 1:
   849  				return &v.sizeCache
   850  			case 2:
   851  				return &v.unknownFields
   852  			default:
   853  				return nil
   854  			}
   855  		}
   856  		file_google_api_distribution_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
   857  			switch v := v.(*Distribution_BucketOptions_Explicit); i {
   858  			case 0:
   859  				return &v.state
   860  			case 1:
   861  				return &v.sizeCache
   862  			case 2:
   863  				return &v.unknownFields
   864  			default:
   865  				return nil
   866  			}
   867  		}
   868  	}
   869  	file_google_api_distribution_proto_msgTypes[2].OneofWrappers = []interface{}{
   870  		(*Distribution_BucketOptions_LinearBuckets)(nil),
   871  		(*Distribution_BucketOptions_ExponentialBuckets)(nil),
   872  		(*Distribution_BucketOptions_ExplicitBuckets)(nil),
   873  	}
   874  	type x struct{}
   875  	out := protoimpl.TypeBuilder{
   876  		File: protoimpl.DescBuilder{
   877  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
   878  			RawDescriptor: file_google_api_distribution_proto_rawDesc,
   879  			NumEnums:      0,
   880  			NumMessages:   7,
   881  			NumExtensions: 0,
   882  			NumServices:   0,
   883  		},
   884  		GoTypes:           file_google_api_distribution_proto_goTypes,
   885  		DependencyIndexes: file_google_api_distribution_proto_depIdxs,
   886  		MessageInfos:      file_google_api_distribution_proto_msgTypes,
   887  	}.Build()
   888  	File_google_api_distribution_proto = out.File
   889  	file_google_api_distribution_proto_rawDesc = nil
   890  	file_google_api_distribution_proto_goTypes = nil
   891  	file_google_api_distribution_proto_depIdxs = nil
   892  }
   893  

View as plain text