...

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

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

     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/metric.proto
    20  
    21  package metric
    22  
    23  import (
    24  	reflect "reflect"
    25  	sync "sync"
    26  
    27  	api "google.golang.org/genproto/googleapis/api"
    28  	label "google.golang.org/genproto/googleapis/api/label"
    29  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    30  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    31  	durationpb "google.golang.org/protobuf/types/known/durationpb"
    32  )
    33  
    34  const (
    35  	// Verify that this generated code is sufficiently up-to-date.
    36  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    37  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    38  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    39  )
    40  
    41  // The kind of measurement. It describes how the data is reported.
    42  // For information on setting the start time and end time based on
    43  // the MetricKind, see [TimeInterval][google.monitoring.v3.TimeInterval].
    44  type MetricDescriptor_MetricKind int32
    45  
    46  const (
    47  	// Do not use this default value.
    48  	MetricDescriptor_METRIC_KIND_UNSPECIFIED MetricDescriptor_MetricKind = 0
    49  	// An instantaneous measurement of a value.
    50  	MetricDescriptor_GAUGE MetricDescriptor_MetricKind = 1
    51  	// The change in a value during a time interval.
    52  	MetricDescriptor_DELTA MetricDescriptor_MetricKind = 2
    53  	// A value accumulated over a time interval.  Cumulative
    54  	// measurements in a time series should have the same start time
    55  	// and increasing end times, until an event resets the cumulative
    56  	// value to zero and sets a new start time for the following
    57  	// points.
    58  	MetricDescriptor_CUMULATIVE MetricDescriptor_MetricKind = 3
    59  )
    60  
    61  // Enum value maps for MetricDescriptor_MetricKind.
    62  var (
    63  	MetricDescriptor_MetricKind_name = map[int32]string{
    64  		0: "METRIC_KIND_UNSPECIFIED",
    65  		1: "GAUGE",
    66  		2: "DELTA",
    67  		3: "CUMULATIVE",
    68  	}
    69  	MetricDescriptor_MetricKind_value = map[string]int32{
    70  		"METRIC_KIND_UNSPECIFIED": 0,
    71  		"GAUGE":                   1,
    72  		"DELTA":                   2,
    73  		"CUMULATIVE":              3,
    74  	}
    75  )
    76  
    77  func (x MetricDescriptor_MetricKind) Enum() *MetricDescriptor_MetricKind {
    78  	p := new(MetricDescriptor_MetricKind)
    79  	*p = x
    80  	return p
    81  }
    82  
    83  func (x MetricDescriptor_MetricKind) String() string {
    84  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    85  }
    86  
    87  func (MetricDescriptor_MetricKind) Descriptor() protoreflect.EnumDescriptor {
    88  	return file_google_api_metric_proto_enumTypes[0].Descriptor()
    89  }
    90  
    91  func (MetricDescriptor_MetricKind) Type() protoreflect.EnumType {
    92  	return &file_google_api_metric_proto_enumTypes[0]
    93  }
    94  
    95  func (x MetricDescriptor_MetricKind) Number() protoreflect.EnumNumber {
    96  	return protoreflect.EnumNumber(x)
    97  }
    98  
    99  // Deprecated: Use MetricDescriptor_MetricKind.Descriptor instead.
   100  func (MetricDescriptor_MetricKind) EnumDescriptor() ([]byte, []int) {
   101  	return file_google_api_metric_proto_rawDescGZIP(), []int{0, 0}
   102  }
   103  
   104  // The value type of a metric.
   105  type MetricDescriptor_ValueType int32
   106  
   107  const (
   108  	// Do not use this default value.
   109  	MetricDescriptor_VALUE_TYPE_UNSPECIFIED MetricDescriptor_ValueType = 0
   110  	// The value is a boolean.
   111  	// This value type can be used only if the metric kind is `GAUGE`.
   112  	MetricDescriptor_BOOL MetricDescriptor_ValueType = 1
   113  	// The value is a signed 64-bit integer.
   114  	MetricDescriptor_INT64 MetricDescriptor_ValueType = 2
   115  	// The value is a double precision floating point number.
   116  	MetricDescriptor_DOUBLE MetricDescriptor_ValueType = 3
   117  	// The value is a text string.
   118  	// This value type can be used only if the metric kind is `GAUGE`.
   119  	MetricDescriptor_STRING MetricDescriptor_ValueType = 4
   120  	// The value is a [`Distribution`][google.api.Distribution].
   121  	MetricDescriptor_DISTRIBUTION MetricDescriptor_ValueType = 5
   122  	// The value is money.
   123  	MetricDescriptor_MONEY MetricDescriptor_ValueType = 6
   124  )
   125  
   126  // Enum value maps for MetricDescriptor_ValueType.
   127  var (
   128  	MetricDescriptor_ValueType_name = map[int32]string{
   129  		0: "VALUE_TYPE_UNSPECIFIED",
   130  		1: "BOOL",
   131  		2: "INT64",
   132  		3: "DOUBLE",
   133  		4: "STRING",
   134  		5: "DISTRIBUTION",
   135  		6: "MONEY",
   136  	}
   137  	MetricDescriptor_ValueType_value = map[string]int32{
   138  		"VALUE_TYPE_UNSPECIFIED": 0,
   139  		"BOOL":                   1,
   140  		"INT64":                  2,
   141  		"DOUBLE":                 3,
   142  		"STRING":                 4,
   143  		"DISTRIBUTION":           5,
   144  		"MONEY":                  6,
   145  	}
   146  )
   147  
   148  func (x MetricDescriptor_ValueType) Enum() *MetricDescriptor_ValueType {
   149  	p := new(MetricDescriptor_ValueType)
   150  	*p = x
   151  	return p
   152  }
   153  
   154  func (x MetricDescriptor_ValueType) String() string {
   155  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   156  }
   157  
   158  func (MetricDescriptor_ValueType) Descriptor() protoreflect.EnumDescriptor {
   159  	return file_google_api_metric_proto_enumTypes[1].Descriptor()
   160  }
   161  
   162  func (MetricDescriptor_ValueType) Type() protoreflect.EnumType {
   163  	return &file_google_api_metric_proto_enumTypes[1]
   164  }
   165  
   166  func (x MetricDescriptor_ValueType) Number() protoreflect.EnumNumber {
   167  	return protoreflect.EnumNumber(x)
   168  }
   169  
   170  // Deprecated: Use MetricDescriptor_ValueType.Descriptor instead.
   171  func (MetricDescriptor_ValueType) EnumDescriptor() ([]byte, []int) {
   172  	return file_google_api_metric_proto_rawDescGZIP(), []int{0, 1}
   173  }
   174  
   175  // Defines a metric type and its schema. Once a metric descriptor is created,
   176  // deleting or altering it stops data collection and makes the metric type's
   177  // existing data unusable.
   178  type MetricDescriptor struct {
   179  	state         protoimpl.MessageState
   180  	sizeCache     protoimpl.SizeCache
   181  	unknownFields protoimpl.UnknownFields
   182  
   183  	// The resource name of the metric descriptor.
   184  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   185  	// The metric type, including its DNS name prefix. The type is not
   186  	// URL-encoded. All user-defined metric types have the DNS name
   187  	// `custom.googleapis.com` or `external.googleapis.com`. Metric types should
   188  	// use a natural hierarchical grouping. For example:
   189  	//
   190  	//	"custom.googleapis.com/invoice/paid/amount"
   191  	//	"external.googleapis.com/prometheus/up"
   192  	//	"appengine.googleapis.com/http/server/response_latencies"
   193  	Type string `protobuf:"bytes,8,opt,name=type,proto3" json:"type,omitempty"`
   194  	// The set of labels that can be used to describe a specific
   195  	// instance of this metric type. For example, the
   196  	// `appengine.googleapis.com/http/server/response_latencies` metric
   197  	// type has a label for the HTTP response code, `response_code`, so
   198  	// you can look at latencies for successful responses or just
   199  	// for responses that failed.
   200  	Labels []*label.LabelDescriptor `protobuf:"bytes,2,rep,name=labels,proto3" json:"labels,omitempty"`
   201  	// Whether the metric records instantaneous values, changes to a value, etc.
   202  	// Some combinations of `metric_kind` and `value_type` might not be supported.
   203  	MetricKind MetricDescriptor_MetricKind `protobuf:"varint,3,opt,name=metric_kind,json=metricKind,proto3,enum=google.api.MetricDescriptor_MetricKind" json:"metric_kind,omitempty"`
   204  	// Whether the measurement is an integer, a floating-point number, etc.
   205  	// Some combinations of `metric_kind` and `value_type` might not be supported.
   206  	ValueType MetricDescriptor_ValueType `protobuf:"varint,4,opt,name=value_type,json=valueType,proto3,enum=google.api.MetricDescriptor_ValueType" json:"value_type,omitempty"`
   207  	// The units in which the metric value is reported. It is only applicable
   208  	// if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The `unit`
   209  	// defines the representation of the stored metric values.
   210  	//
   211  	// Different systems might scale the values to be more easily displayed (so a
   212  	// value of `0.02kBy` _might_ be displayed as `20By`, and a value of
   213  	// `3523kBy` _might_ be displayed as `3.5MBy`). However, if the `unit` is
   214  	// `kBy`, then the value of the metric is always in thousands of bytes, no
   215  	// matter how it might be displayed.
   216  	//
   217  	// If you want a custom metric to record the exact number of CPU-seconds used
   218  	// by a job, you can create an `INT64 CUMULATIVE` metric whose `unit` is
   219  	// `s{CPU}` (or equivalently `1s{CPU}` or just `s`). If the job uses 12,005
   220  	// CPU-seconds, then the value is written as `12005`.
   221  	//
   222  	// Alternatively, if you want a custom metric to record data in a more
   223  	// granular way, you can create a `DOUBLE CUMULATIVE` metric whose `unit` is
   224  	// `ks{CPU}`, and then write the value `12.005` (which is `12005/1000`),
   225  	// or use `Kis{CPU}` and write `11.723` (which is `12005/1024`).
   226  	//
   227  	// The supported units are a subset of [The Unified Code for Units of
   228  	// Measure](https://unitsofmeasure.org/ucum.html) standard:
   229  	//
   230  	// **Basic units (UNIT)**
   231  	//
   232  	// * `bit`   bit
   233  	// * `By`    byte
   234  	// * `s`     second
   235  	// * `min`   minute
   236  	// * `h`     hour
   237  	// * `d`     day
   238  	// * `1`     dimensionless
   239  	//
   240  	// **Prefixes (PREFIX)**
   241  	//
   242  	// * `k`     kilo    (10^3)
   243  	// * `M`     mega    (10^6)
   244  	// * `G`     giga    (10^9)
   245  	// * `T`     tera    (10^12)
   246  	// * `P`     peta    (10^15)
   247  	// * `E`     exa     (10^18)
   248  	// * `Z`     zetta   (10^21)
   249  	// * `Y`     yotta   (10^24)
   250  	//
   251  	// * `m`     milli   (10^-3)
   252  	// * `u`     micro   (10^-6)
   253  	// * `n`     nano    (10^-9)
   254  	// * `p`     pico    (10^-12)
   255  	// * `f`     femto   (10^-15)
   256  	// * `a`     atto    (10^-18)
   257  	// * `z`     zepto   (10^-21)
   258  	// * `y`     yocto   (10^-24)
   259  	//
   260  	// * `Ki`    kibi    (2^10)
   261  	// * `Mi`    mebi    (2^20)
   262  	// * `Gi`    gibi    (2^30)
   263  	// * `Ti`    tebi    (2^40)
   264  	// * `Pi`    pebi    (2^50)
   265  	//
   266  	// **Grammar**
   267  	//
   268  	// The grammar also includes these connectors:
   269  	//
   270  	//   - `/`    division or ratio (as an infix operator). For examples,
   271  	//     `kBy/{email}` or `MiBy/10ms` (although you should almost never
   272  	//     have `/s` in a metric `unit`; rates should always be computed at
   273  	//     query time from the underlying cumulative or delta value).
   274  	//   - `.`    multiplication or composition (as an infix operator). For
   275  	//     examples, `GBy.d` or `k{watt}.h`.
   276  	//
   277  	// The grammar for a unit is as follows:
   278  	//
   279  	//	Expression = Component { "." Component } { "/" Component } ;
   280  	//
   281  	//	Component = ( [ PREFIX ] UNIT | "%" ) [ Annotation ]
   282  	//	          | Annotation
   283  	//	          | "1"
   284  	//	          ;
   285  	//
   286  	//	Annotation = "{" NAME "}" ;
   287  	//
   288  	// Notes:
   289  	//
   290  	//   - `Annotation` is just a comment if it follows a `UNIT`. If the annotation
   291  	//     is used alone, then the unit is equivalent to `1`. For examples,
   292  	//     `{request}/s == 1/s`, `By{transmitted}/s == By/s`.
   293  	//   - `NAME` is a sequence of non-blank printable ASCII characters not
   294  	//     containing `{` or `}`.
   295  	//   - `1` represents a unitary [dimensionless
   296  	//     unit](https://en.wikipedia.org/wiki/Dimensionless_quantity) of 1, such
   297  	//     as in `1/s`. It is typically used when none of the basic units are
   298  	//     appropriate. For example, "new users per day" can be represented as
   299  	//     `1/d` or `{new-users}/d` (and a metric value `5` would mean "5 new
   300  	//     users). Alternatively, "thousands of page views per day" would be
   301  	//     represented as `1000/d` or `k1/d` or `k{page_views}/d` (and a metric
   302  	//     value of `5.3` would mean "5300 page views per day").
   303  	//   - `%` represents dimensionless value of 1/100, and annotates values giving
   304  	//     a percentage (so the metric values are typically in the range of 0..100,
   305  	//     and a metric value `3` means "3 percent").
   306  	//   - `10^2.%` indicates a metric contains a ratio, typically in the range
   307  	//     0..1, that will be multiplied by 100 and displayed as a percentage
   308  	//     (so a metric value `0.03` means "3 percent").
   309  	Unit string `protobuf:"bytes,5,opt,name=unit,proto3" json:"unit,omitempty"`
   310  	// A detailed description of the metric, which can be used in documentation.
   311  	Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"`
   312  	// A concise name for the metric, which can be displayed in user interfaces.
   313  	// Use sentence case without an ending period, for example "Request count".
   314  	// This field is optional but it is recommended to be set for any metrics
   315  	// associated with user-visible concepts, such as Quota.
   316  	DisplayName string `protobuf:"bytes,7,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
   317  	// Optional. Metadata which can be used to guide usage of the metric.
   318  	Metadata *MetricDescriptor_MetricDescriptorMetadata `protobuf:"bytes,10,opt,name=metadata,proto3" json:"metadata,omitempty"`
   319  	// Optional. The launch stage of the metric definition.
   320  	LaunchStage api.LaunchStage `protobuf:"varint,12,opt,name=launch_stage,json=launchStage,proto3,enum=google.api.LaunchStage" json:"launch_stage,omitempty"`
   321  	// Read-only. If present, then a [time
   322  	// series][google.monitoring.v3.TimeSeries], which is identified partially by
   323  	// a metric type and a
   324  	// [MonitoredResourceDescriptor][google.api.MonitoredResourceDescriptor], that
   325  	// is associated with this metric type can only be associated with one of the
   326  	// monitored resource types listed here.
   327  	MonitoredResourceTypes []string `protobuf:"bytes,13,rep,name=monitored_resource_types,json=monitoredResourceTypes,proto3" json:"monitored_resource_types,omitempty"`
   328  }
   329  
   330  func (x *MetricDescriptor) Reset() {
   331  	*x = MetricDescriptor{}
   332  	if protoimpl.UnsafeEnabled {
   333  		mi := &file_google_api_metric_proto_msgTypes[0]
   334  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   335  		ms.StoreMessageInfo(mi)
   336  	}
   337  }
   338  
   339  func (x *MetricDescriptor) String() string {
   340  	return protoimpl.X.MessageStringOf(x)
   341  }
   342  
   343  func (*MetricDescriptor) ProtoMessage() {}
   344  
   345  func (x *MetricDescriptor) ProtoReflect() protoreflect.Message {
   346  	mi := &file_google_api_metric_proto_msgTypes[0]
   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 MetricDescriptor.ProtoReflect.Descriptor instead.
   358  func (*MetricDescriptor) Descriptor() ([]byte, []int) {
   359  	return file_google_api_metric_proto_rawDescGZIP(), []int{0}
   360  }
   361  
   362  func (x *MetricDescriptor) GetName() string {
   363  	if x != nil {
   364  		return x.Name
   365  	}
   366  	return ""
   367  }
   368  
   369  func (x *MetricDescriptor) GetType() string {
   370  	if x != nil {
   371  		return x.Type
   372  	}
   373  	return ""
   374  }
   375  
   376  func (x *MetricDescriptor) GetLabels() []*label.LabelDescriptor {
   377  	if x != nil {
   378  		return x.Labels
   379  	}
   380  	return nil
   381  }
   382  
   383  func (x *MetricDescriptor) GetMetricKind() MetricDescriptor_MetricKind {
   384  	if x != nil {
   385  		return x.MetricKind
   386  	}
   387  	return MetricDescriptor_METRIC_KIND_UNSPECIFIED
   388  }
   389  
   390  func (x *MetricDescriptor) GetValueType() MetricDescriptor_ValueType {
   391  	if x != nil {
   392  		return x.ValueType
   393  	}
   394  	return MetricDescriptor_VALUE_TYPE_UNSPECIFIED
   395  }
   396  
   397  func (x *MetricDescriptor) GetUnit() string {
   398  	if x != nil {
   399  		return x.Unit
   400  	}
   401  	return ""
   402  }
   403  
   404  func (x *MetricDescriptor) GetDescription() string {
   405  	if x != nil {
   406  		return x.Description
   407  	}
   408  	return ""
   409  }
   410  
   411  func (x *MetricDescriptor) GetDisplayName() string {
   412  	if x != nil {
   413  		return x.DisplayName
   414  	}
   415  	return ""
   416  }
   417  
   418  func (x *MetricDescriptor) GetMetadata() *MetricDescriptor_MetricDescriptorMetadata {
   419  	if x != nil {
   420  		return x.Metadata
   421  	}
   422  	return nil
   423  }
   424  
   425  func (x *MetricDescriptor) GetLaunchStage() api.LaunchStage {
   426  	if x != nil {
   427  		return x.LaunchStage
   428  	}
   429  	return api.LaunchStage_LAUNCH_STAGE_UNSPECIFIED
   430  }
   431  
   432  func (x *MetricDescriptor) GetMonitoredResourceTypes() []string {
   433  	if x != nil {
   434  		return x.MonitoredResourceTypes
   435  	}
   436  	return nil
   437  }
   438  
   439  // A specific metric, identified by specifying values for all of the
   440  // labels of a [`MetricDescriptor`][google.api.MetricDescriptor].
   441  type Metric struct {
   442  	state         protoimpl.MessageState
   443  	sizeCache     protoimpl.SizeCache
   444  	unknownFields protoimpl.UnknownFields
   445  
   446  	// An existing metric type, see
   447  	// [google.api.MetricDescriptor][google.api.MetricDescriptor]. For example,
   448  	// `custom.googleapis.com/invoice/paid/amount`.
   449  	Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"`
   450  	// The set of label values that uniquely identify this metric. All
   451  	// labels listed in the `MetricDescriptor` must be assigned values.
   452  	Labels map[string]string `protobuf:"bytes,2,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   453  }
   454  
   455  func (x *Metric) Reset() {
   456  	*x = Metric{}
   457  	if protoimpl.UnsafeEnabled {
   458  		mi := &file_google_api_metric_proto_msgTypes[1]
   459  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   460  		ms.StoreMessageInfo(mi)
   461  	}
   462  }
   463  
   464  func (x *Metric) String() string {
   465  	return protoimpl.X.MessageStringOf(x)
   466  }
   467  
   468  func (*Metric) ProtoMessage() {}
   469  
   470  func (x *Metric) ProtoReflect() protoreflect.Message {
   471  	mi := &file_google_api_metric_proto_msgTypes[1]
   472  	if protoimpl.UnsafeEnabled && x != nil {
   473  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   474  		if ms.LoadMessageInfo() == nil {
   475  			ms.StoreMessageInfo(mi)
   476  		}
   477  		return ms
   478  	}
   479  	return mi.MessageOf(x)
   480  }
   481  
   482  // Deprecated: Use Metric.ProtoReflect.Descriptor instead.
   483  func (*Metric) Descriptor() ([]byte, []int) {
   484  	return file_google_api_metric_proto_rawDescGZIP(), []int{1}
   485  }
   486  
   487  func (x *Metric) GetType() string {
   488  	if x != nil {
   489  		return x.Type
   490  	}
   491  	return ""
   492  }
   493  
   494  func (x *Metric) GetLabels() map[string]string {
   495  	if x != nil {
   496  		return x.Labels
   497  	}
   498  	return nil
   499  }
   500  
   501  // Additional annotations that can be used to guide the usage of a metric.
   502  type MetricDescriptor_MetricDescriptorMetadata struct {
   503  	state         protoimpl.MessageState
   504  	sizeCache     protoimpl.SizeCache
   505  	unknownFields protoimpl.UnknownFields
   506  
   507  	// Deprecated. Must use the
   508  	// [MetricDescriptor.launch_stage][google.api.MetricDescriptor.launch_stage]
   509  	// instead.
   510  	//
   511  	// Deprecated: Do not use.
   512  	LaunchStage api.LaunchStage `protobuf:"varint,1,opt,name=launch_stage,json=launchStage,proto3,enum=google.api.LaunchStage" json:"launch_stage,omitempty"`
   513  	// The sampling period of metric data points. For metrics which are written
   514  	// periodically, consecutive data points are stored at this time interval,
   515  	// excluding data loss due to errors. Metrics with a higher granularity have
   516  	// a smaller sampling period.
   517  	SamplePeriod *durationpb.Duration `protobuf:"bytes,2,opt,name=sample_period,json=samplePeriod,proto3" json:"sample_period,omitempty"`
   518  	// The delay of data points caused by ingestion. Data points older than this
   519  	// age are guaranteed to be ingested and available to be read, excluding
   520  	// data loss due to errors.
   521  	IngestDelay *durationpb.Duration `protobuf:"bytes,3,opt,name=ingest_delay,json=ingestDelay,proto3" json:"ingest_delay,omitempty"`
   522  }
   523  
   524  func (x *MetricDescriptor_MetricDescriptorMetadata) Reset() {
   525  	*x = MetricDescriptor_MetricDescriptorMetadata{}
   526  	if protoimpl.UnsafeEnabled {
   527  		mi := &file_google_api_metric_proto_msgTypes[2]
   528  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   529  		ms.StoreMessageInfo(mi)
   530  	}
   531  }
   532  
   533  func (x *MetricDescriptor_MetricDescriptorMetadata) String() string {
   534  	return protoimpl.X.MessageStringOf(x)
   535  }
   536  
   537  func (*MetricDescriptor_MetricDescriptorMetadata) ProtoMessage() {}
   538  
   539  func (x *MetricDescriptor_MetricDescriptorMetadata) ProtoReflect() protoreflect.Message {
   540  	mi := &file_google_api_metric_proto_msgTypes[2]
   541  	if protoimpl.UnsafeEnabled && x != nil {
   542  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   543  		if ms.LoadMessageInfo() == nil {
   544  			ms.StoreMessageInfo(mi)
   545  		}
   546  		return ms
   547  	}
   548  	return mi.MessageOf(x)
   549  }
   550  
   551  // Deprecated: Use MetricDescriptor_MetricDescriptorMetadata.ProtoReflect.Descriptor instead.
   552  func (*MetricDescriptor_MetricDescriptorMetadata) Descriptor() ([]byte, []int) {
   553  	return file_google_api_metric_proto_rawDescGZIP(), []int{0, 0}
   554  }
   555  
   556  // Deprecated: Do not use.
   557  func (x *MetricDescriptor_MetricDescriptorMetadata) GetLaunchStage() api.LaunchStage {
   558  	if x != nil {
   559  		return x.LaunchStage
   560  	}
   561  	return api.LaunchStage_LAUNCH_STAGE_UNSPECIFIED
   562  }
   563  
   564  func (x *MetricDescriptor_MetricDescriptorMetadata) GetSamplePeriod() *durationpb.Duration {
   565  	if x != nil {
   566  		return x.SamplePeriod
   567  	}
   568  	return nil
   569  }
   570  
   571  func (x *MetricDescriptor_MetricDescriptorMetadata) GetIngestDelay() *durationpb.Duration {
   572  	if x != nil {
   573  		return x.IngestDelay
   574  	}
   575  	return nil
   576  }
   577  
   578  var File_google_api_metric_proto protoreflect.FileDescriptor
   579  
   580  var file_google_api_metric_proto_rawDesc = []byte{
   581  	0x0a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x65, 0x74,
   582  	0x72, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
   583  	0x65, 0x2e, 0x61, 0x70, 0x69, 0x1a, 0x16, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70,
   584  	0x69, 0x2f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x67,
   585  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68,
   586  	0x5f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f,
   587  	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75,
   588  	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc1, 0x07, 0x0a,
   589  	0x10, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f,
   590  	0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
   591  	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20,
   592  	0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x6c, 0x61, 0x62,
   593  	0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
   594  	0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x44, 0x65, 0x73, 0x63,
   595  	0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x48,
   596  	0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x03, 0x20,
   597  	0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69,
   598  	0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f,
   599  	0x72, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x0a, 0x6d, 0x65,
   600  	0x74, 0x72, 0x69, 0x63, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x45, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75,
   601  	0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x67,
   602  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
   603  	0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65,
   604  	0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12,
   605  	0x12, 0x0a, 0x04, 0x75, 0x6e, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75,
   606  	0x6e, 0x69, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
   607  	0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
   608  	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79,
   609  	0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73,
   610  	0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x51, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61,
   611  	0x64, 0x61, 0x74, 0x61, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f,
   612  	0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44, 0x65,
   613  	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44,
   614  	0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
   615  	0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3a, 0x0a, 0x0c, 0x6c,
   616  	0x61, 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28,
   617  	0x0e, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c,
   618  	0x61, 0x75, 0x6e, 0x63, 0x68, 0x53, 0x74, 0x61, 0x67, 0x65, 0x52, 0x0b, 0x6c, 0x61, 0x75, 0x6e,
   619  	0x63, 0x68, 0x53, 0x74, 0x61, 0x67, 0x65, 0x12, 0x38, 0x0a, 0x18, 0x6d, 0x6f, 0x6e, 0x69, 0x74,
   620  	0x6f, 0x72, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79,
   621  	0x70, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x16, 0x6d, 0x6f, 0x6e, 0x69, 0x74,
   622  	0x6f, 0x72, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65,
   623  	0x73, 0x1a, 0xd8, 0x01, 0x0a, 0x18, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44, 0x65, 0x73, 0x63,
   624  	0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3e,
   625  	0x0a, 0x0c, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x18, 0x01,
   626  	0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70,
   627  	0x69, 0x2e, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x53, 0x74, 0x61, 0x67, 0x65, 0x42, 0x02, 0x18,
   628  	0x01, 0x52, 0x0b, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x53, 0x74, 0x61, 0x67, 0x65, 0x12, 0x3e,
   629  	0x0a, 0x0d, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18,
   630  	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
   631  	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
   632  	0x52, 0x0c, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x3c,
   633  	0x0a, 0x0c, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x03,
   634  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
   635  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
   636  	0x0b, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x22, 0x4f, 0x0a, 0x0a,
   637  	0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x1b, 0x0a, 0x17, 0x4d, 0x45,
   638  	0x54, 0x52, 0x49, 0x43, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43,
   639  	0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x47, 0x41, 0x55, 0x47, 0x45,
   640  	0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x44, 0x45, 0x4c, 0x54, 0x41, 0x10, 0x02, 0x12, 0x0e, 0x0a,
   641  	0x0a, 0x43, 0x55, 0x4d, 0x55, 0x4c, 0x41, 0x54, 0x49, 0x56, 0x45, 0x10, 0x03, 0x22, 0x71, 0x0a,
   642  	0x09, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x56, 0x41,
   643  	0x4c, 0x55, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49,
   644  	0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x4f, 0x4f, 0x4c, 0x10, 0x01,
   645  	0x12, 0x09, 0x0a, 0x05, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x44,
   646  	0x4f, 0x55, 0x42, 0x4c, 0x45, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x49, 0x4e,
   647  	0x47, 0x10, 0x04, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x49, 0x53, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54,
   648  	0x49, 0x4f, 0x4e, 0x10, 0x05, 0x12, 0x09, 0x0a, 0x05, 0x4d, 0x4f, 0x4e, 0x45, 0x59, 0x10, 0x06,
   649  	0x22, 0x8f, 0x01, 0x0a, 0x06, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x74,
   650  	0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12,
   651  	0x36, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
   652  	0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x65, 0x74,
   653  	0x72, 0x69, 0x63, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
   654  	0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c,
   655  	0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
   656  	0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
   657  	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
   658  	0x38, 0x01, 0x42, 0x5f, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
   659  	0x2e, 0x61, 0x70, 0x69, 0x42, 0x0b, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x50, 0x72, 0x6f, 0x74,
   660  	0x6f, 0x50, 0x01, 0x5a, 0x37, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61,
   661  	0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f,
   662  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d,
   663  	0x65, 0x74, 0x72, 0x69, 0x63, 0x3b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0xa2, 0x02, 0x04, 0x47,
   664  	0x41, 0x50, 0x49, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
   665  }
   666  
   667  var (
   668  	file_google_api_metric_proto_rawDescOnce sync.Once
   669  	file_google_api_metric_proto_rawDescData = file_google_api_metric_proto_rawDesc
   670  )
   671  
   672  func file_google_api_metric_proto_rawDescGZIP() []byte {
   673  	file_google_api_metric_proto_rawDescOnce.Do(func() {
   674  		file_google_api_metric_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_api_metric_proto_rawDescData)
   675  	})
   676  	return file_google_api_metric_proto_rawDescData
   677  }
   678  
   679  var file_google_api_metric_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
   680  var file_google_api_metric_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
   681  var file_google_api_metric_proto_goTypes = []interface{}{
   682  	(MetricDescriptor_MetricKind)(0),                  // 0: google.api.MetricDescriptor.MetricKind
   683  	(MetricDescriptor_ValueType)(0),                   // 1: google.api.MetricDescriptor.ValueType
   684  	(*MetricDescriptor)(nil),                          // 2: google.api.MetricDescriptor
   685  	(*Metric)(nil),                                    // 3: google.api.Metric
   686  	(*MetricDescriptor_MetricDescriptorMetadata)(nil), // 4: google.api.MetricDescriptor.MetricDescriptorMetadata
   687  	nil,                           // 5: google.api.Metric.LabelsEntry
   688  	(*label.LabelDescriptor)(nil), // 6: google.api.LabelDescriptor
   689  	(api.LaunchStage)(0),          // 7: google.api.LaunchStage
   690  	(*durationpb.Duration)(nil),   // 8: google.protobuf.Duration
   691  }
   692  var file_google_api_metric_proto_depIdxs = []int32{
   693  	6, // 0: google.api.MetricDescriptor.labels:type_name -> google.api.LabelDescriptor
   694  	0, // 1: google.api.MetricDescriptor.metric_kind:type_name -> google.api.MetricDescriptor.MetricKind
   695  	1, // 2: google.api.MetricDescriptor.value_type:type_name -> google.api.MetricDescriptor.ValueType
   696  	4, // 3: google.api.MetricDescriptor.metadata:type_name -> google.api.MetricDescriptor.MetricDescriptorMetadata
   697  	7, // 4: google.api.MetricDescriptor.launch_stage:type_name -> google.api.LaunchStage
   698  	5, // 5: google.api.Metric.labels:type_name -> google.api.Metric.LabelsEntry
   699  	7, // 6: google.api.MetricDescriptor.MetricDescriptorMetadata.launch_stage:type_name -> google.api.LaunchStage
   700  	8, // 7: google.api.MetricDescriptor.MetricDescriptorMetadata.sample_period:type_name -> google.protobuf.Duration
   701  	8, // 8: google.api.MetricDescriptor.MetricDescriptorMetadata.ingest_delay:type_name -> google.protobuf.Duration
   702  	9, // [9:9] is the sub-list for method output_type
   703  	9, // [9:9] is the sub-list for method input_type
   704  	9, // [9:9] is the sub-list for extension type_name
   705  	9, // [9:9] is the sub-list for extension extendee
   706  	0, // [0:9] is the sub-list for field type_name
   707  }
   708  
   709  func init() { file_google_api_metric_proto_init() }
   710  func file_google_api_metric_proto_init() {
   711  	if File_google_api_metric_proto != nil {
   712  		return
   713  	}
   714  	if !protoimpl.UnsafeEnabled {
   715  		file_google_api_metric_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
   716  			switch v := v.(*MetricDescriptor); i {
   717  			case 0:
   718  				return &v.state
   719  			case 1:
   720  				return &v.sizeCache
   721  			case 2:
   722  				return &v.unknownFields
   723  			default:
   724  				return nil
   725  			}
   726  		}
   727  		file_google_api_metric_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
   728  			switch v := v.(*Metric); i {
   729  			case 0:
   730  				return &v.state
   731  			case 1:
   732  				return &v.sizeCache
   733  			case 2:
   734  				return &v.unknownFields
   735  			default:
   736  				return nil
   737  			}
   738  		}
   739  		file_google_api_metric_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
   740  			switch v := v.(*MetricDescriptor_MetricDescriptorMetadata); i {
   741  			case 0:
   742  				return &v.state
   743  			case 1:
   744  				return &v.sizeCache
   745  			case 2:
   746  				return &v.unknownFields
   747  			default:
   748  				return nil
   749  			}
   750  		}
   751  	}
   752  	type x struct{}
   753  	out := protoimpl.TypeBuilder{
   754  		File: protoimpl.DescBuilder{
   755  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
   756  			RawDescriptor: file_google_api_metric_proto_rawDesc,
   757  			NumEnums:      2,
   758  			NumMessages:   4,
   759  			NumExtensions: 0,
   760  			NumServices:   0,
   761  		},
   762  		GoTypes:           file_google_api_metric_proto_goTypes,
   763  		DependencyIndexes: file_google_api_metric_proto_depIdxs,
   764  		EnumInfos:         file_google_api_metric_proto_enumTypes,
   765  		MessageInfos:      file_google_api_metric_proto_msgTypes,
   766  	}.Build()
   767  	File_google_api_metric_proto = out.File
   768  	file_google_api_metric_proto_rawDesc = nil
   769  	file_google_api_metric_proto_goTypes = nil
   770  	file_google_api_metric_proto_depIdxs = nil
   771  }
   772  

View as plain text