metric.pb.go 32 KB

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