google-cloud-monitoring-v3 0.4.1 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/AUTHENTICATION.md +8 -8
  3. data/README.md +1 -1
  4. data/lib/google/cloud/monitoring/v3/alert_policy_service/client.rb +52 -56
  5. data/lib/google/cloud/monitoring/v3/alert_policy_service/paths.rb +14 -0
  6. data/lib/google/cloud/monitoring/v3/group_service/client.rb +58 -66
  7. data/lib/google/cloud/monitoring/v3/group_service/paths.rb +14 -0
  8. data/lib/google/cloud/monitoring/v3/metric_service/client.rb +166 -75
  9. data/lib/google/cloud/monitoring/v3/notification_channel_service/client.rb +75 -79
  10. data/lib/google/cloud/monitoring/v3/notification_channel_service/paths.rb +14 -0
  11. data/lib/google/cloud/monitoring/v3/query_service/client.rb +35 -39
  12. data/lib/google/cloud/monitoring/v3/service_monitoring_service/client.rb +70 -73
  13. data/lib/google/cloud/monitoring/v3/service_monitoring_service/paths.rb +14 -0
  14. data/lib/google/cloud/monitoring/v3/uptime_check_service/client.rb +56 -61
  15. data/lib/google/cloud/monitoring/v3/uptime_check_service/paths.rb +14 -0
  16. data/lib/google/cloud/monitoring/v3/version.rb +1 -1
  17. data/lib/google/monitoring/v3/alert_pb.rb +17 -2
  18. data/lib/google/monitoring/v3/alert_service_pb.rb +2 -2
  19. data/lib/google/monitoring/v3/common_pb.rb +2 -2
  20. data/lib/google/monitoring/v3/group_pb.rb +1 -1
  21. data/lib/google/monitoring/v3/group_service_pb.rb +2 -2
  22. data/lib/google/monitoring/v3/metric_pb.rb +2 -2
  23. data/lib/google/monitoring/v3/metric_service_pb.rb +2 -2
  24. data/lib/google/monitoring/v3/metric_service_services_pb.rb +12 -0
  25. data/lib/google/monitoring/v3/mutation_record_pb.rb +1 -1
  26. data/lib/google/monitoring/v3/notification_pb.rb +2 -2
  27. data/lib/google/monitoring/v3/notification_service_pb.rb +2 -2
  28. data/lib/google/monitoring/v3/query_service_pb.rb +2 -2
  29. data/lib/google/monitoring/v3/service_pb.rb +5 -2
  30. data/lib/google/monitoring/v3/service_service_pb.rb +2 -2
  31. data/lib/google/monitoring/v3/uptime_pb.rb +2 -2
  32. data/lib/google/monitoring/v3/uptime_service_pb.rb +3 -2
  33. data/proto_docs/google/api/distribution.rb +2 -2
  34. data/proto_docs/google/api/field_behavior.rb +7 -1
  35. data/proto_docs/google/api/launch_stage.rb +7 -1
  36. data/proto_docs/google/api/metric.rb +109 -36
  37. data/proto_docs/google/api/monitored_resource.rb +7 -6
  38. data/proto_docs/google/longrunning/operations.rb +164 -0
  39. data/proto_docs/google/monitoring/v3/alert.rb +68 -3
  40. data/proto_docs/google/monitoring/v3/alert_service.rb +4 -2
  41. data/proto_docs/google/monitoring/v3/common.rb +17 -5
  42. data/proto_docs/google/monitoring/v3/group_service.rb +4 -2
  43. data/proto_docs/google/monitoring/v3/metric.rb +3 -1
  44. data/proto_docs/google/monitoring/v3/metric_service.rb +13 -8
  45. data/proto_docs/google/monitoring/v3/notification_service.rb +8 -4
  46. data/proto_docs/google/monitoring/v3/service.rb +38 -6
  47. data/proto_docs/google/monitoring/v3/service_service.rb +4 -2
  48. data/proto_docs/google/monitoring/v3/span_context.rb +2 -2
  49. data/proto_docs/google/monitoring/v3/uptime.rb +5 -2
  50. data/proto_docs/google/monitoring/v3/uptime_service.rb +4 -2
  51. metadata +5 -4
@@ -1,11 +1,11 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # source: google/monitoring/v3/common.proto
3
3
 
4
- require 'google/protobuf'
5
-
6
4
  require 'google/api/distribution_pb'
7
5
  require 'google/protobuf/duration_pb'
8
6
  require 'google/protobuf/timestamp_pb'
7
+ require 'google/protobuf'
8
+
9
9
  Google::Protobuf::DescriptorPool.generated_pool.build do
10
10
  add_file("google/monitoring/v3/common.proto", :syntax => :proto3) do
11
11
  add_message "google.monitoring.v3.TypedValue" do
@@ -1,9 +1,9 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # source: google/monitoring/v3/group.proto
3
3
 
4
+ require 'google/api/resource_pb'
4
5
  require 'google/protobuf'
5
6
 
6
- require 'google/api/resource_pb'
7
7
  Google::Protobuf::DescriptorPool.generated_pool.build do
8
8
  add_file("google/monitoring/v3/group.proto", :syntax => :proto3) do
9
9
  add_message "google.monitoring.v3.Group" do
@@ -1,8 +1,6 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # source: google/monitoring/v3/group_service.proto
3
3
 
4
- require 'google/protobuf'
5
-
6
4
  require 'google/api/annotations_pb'
7
5
  require 'google/api/client_pb'
8
6
  require 'google/api/field_behavior_pb'
@@ -11,6 +9,8 @@ require 'google/api/resource_pb'
11
9
  require 'google/monitoring/v3/common_pb'
12
10
  require 'google/monitoring/v3/group_pb'
13
11
  require 'google/protobuf/empty_pb'
12
+ require 'google/protobuf'
13
+
14
14
  Google::Protobuf::DescriptorPool.generated_pool.build do
15
15
  add_file("google/monitoring/v3/group_service.proto", :syntax => :proto3) do
16
16
  add_message "google.monitoring.v3.ListGroupsRequest" do
@@ -1,14 +1,14 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # source: google/monitoring/v3/metric.proto
3
3
 
4
- require 'google/protobuf'
5
-
6
4
  require 'google/api/distribution_pb'
7
5
  require 'google/api/label_pb'
8
6
  require 'google/api/metric_pb'
9
7
  require 'google/api/monitored_resource_pb'
10
8
  require 'google/monitoring/v3/common_pb'
11
9
  require 'google/protobuf/duration_pb'
10
+ require 'google/protobuf'
11
+
12
12
  Google::Protobuf::DescriptorPool.generated_pool.build do
13
13
  add_file("google/monitoring/v3/metric.proto", :syntax => :proto3) do
14
14
  add_message "google.monitoring.v3.Point" do
@@ -1,8 +1,6 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # source: google/monitoring/v3/metric_service.proto
3
3
 
4
- require 'google/protobuf'
5
-
6
4
  require 'google/api/annotations_pb'
7
5
  require 'google/api/client_pb'
8
6
  require 'google/api/field_behavior_pb'
@@ -15,6 +13,8 @@ require 'google/monitoring/v3/metric_pb'
15
13
  require 'google/protobuf/duration_pb'
16
14
  require 'google/protobuf/empty_pb'
17
15
  require 'google/rpc/status_pb'
16
+ require 'google/protobuf'
17
+
18
18
  Google::Protobuf::DescriptorPool.generated_pool.build do
19
19
  add_file("google/monitoring/v3/metric_service.proto", :syntax => :proto3) do
20
20
  add_message "google.monitoring.v3.ListMonitoredResourceDescriptorsRequest" do
@@ -43,6 +43,8 @@ module Google
43
43
  # Gets a single metric descriptor. This method does not require a Workspace.
44
44
  rpc :GetMetricDescriptor, ::Google::Cloud::Monitoring::V3::GetMetricDescriptorRequest, ::Google::Api::MetricDescriptor
45
45
  # Creates a new metric descriptor.
46
+ # The creation is executed asynchronously and callers may check the returned
47
+ # operation to track its progress.
46
48
  # User-created metric descriptors define
47
49
  # [custom metrics](https://cloud.google.com/monitoring/custom-metrics).
48
50
  rpc :CreateMetricDescriptor, ::Google::Cloud::Monitoring::V3::CreateMetricDescriptorRequest, ::Google::Api::MetricDescriptor
@@ -57,6 +59,16 @@ module Google
57
59
  # If any time series could not be written, a corresponding failure message is
58
60
  # included in the error response.
59
61
  rpc :CreateTimeSeries, ::Google::Cloud::Monitoring::V3::CreateTimeSeriesRequest, ::Google::Protobuf::Empty
62
+ # Creates or adds data to one or more service time series. A service time
63
+ # series is a time series for a metric from a Google Cloud service. The
64
+ # response is empty if all time series in the request were written. If any
65
+ # time series could not be written, a corresponding failure message is
66
+ # included in the error response. This endpoint rejects writes to
67
+ # user-defined metrics.
68
+ # This method is only for use by Google Cloud services. Use
69
+ # [projects.timeSeries.create][google.monitoring.v3.MetricService.CreateTimeSeries]
70
+ # instead.
71
+ rpc :CreateServiceTimeSeries, ::Google::Cloud::Monitoring::V3::CreateTimeSeriesRequest, ::Google::Protobuf::Empty
60
72
  end
61
73
 
62
74
  Stub = Service.rpc_stub_class
@@ -1,9 +1,9 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # source: google/monitoring/v3/mutation_record.proto
3
3
 
4
+ require 'google/protobuf/timestamp_pb'
4
5
  require 'google/protobuf'
5
6
 
6
- require 'google/protobuf/timestamp_pb'
7
7
  Google::Protobuf::DescriptorPool.generated_pool.build do
8
8
  add_file("google/monitoring/v3/mutation_record.proto", :syntax => :proto3) do
9
9
  add_message "google.monitoring.v3.MutationRecord" do
@@ -1,14 +1,14 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # source: google/monitoring/v3/notification.proto
3
3
 
4
- require 'google/protobuf'
5
-
6
4
  require 'google/api/label_pb'
7
5
  require 'google/api/launch_stage_pb'
8
6
  require 'google/api/resource_pb'
9
7
  require 'google/monitoring/v3/common_pb'
10
8
  require 'google/monitoring/v3/mutation_record_pb'
11
9
  require 'google/protobuf/wrappers_pb'
10
+ require 'google/protobuf'
11
+
12
12
  Google::Protobuf::DescriptorPool.generated_pool.build do
13
13
  add_file("google/monitoring/v3/notification.proto", :syntax => :proto3) do
14
14
  add_message "google.monitoring.v3.NotificationChannelDescriptor" do
@@ -1,8 +1,6 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # source: google/monitoring/v3/notification_service.proto
3
3
 
4
- require 'google/protobuf'
5
-
6
4
  require 'google/api/annotations_pb'
7
5
  require 'google/api/client_pb'
8
6
  require 'google/api/field_behavior_pb'
@@ -12,6 +10,8 @@ require 'google/protobuf/empty_pb'
12
10
  require 'google/protobuf/field_mask_pb'
13
11
  require 'google/protobuf/struct_pb'
14
12
  require 'google/protobuf/timestamp_pb'
13
+ require 'google/protobuf'
14
+
15
15
  Google::Protobuf::DescriptorPool.generated_pool.build do
16
16
  add_file("google/monitoring/v3/notification_service.proto", :syntax => :proto3) do
17
17
  add_message "google.monitoring.v3.ListNotificationChannelDescriptorsRequest" do
@@ -1,13 +1,13 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # source: google/monitoring/v3/query_service.proto
3
3
 
4
- require 'google/protobuf'
5
-
6
4
  require 'google/api/annotations_pb'
7
5
  require 'google/api/label_pb'
8
6
  require 'google/monitoring/v3/metric_pb'
9
7
  require 'google/monitoring/v3/metric_service_pb'
10
8
  require 'google/api/client_pb'
9
+ require 'google/protobuf'
10
+
11
11
  Google::Protobuf::DescriptorPool.generated_pool.build do
12
12
  add_file("google/monitoring/v3/query_service.proto", :syntax => :proto3) do
13
13
  end
@@ -1,18 +1,20 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # source: google/monitoring/v3/service.proto
3
3
 
4
- require 'google/protobuf'
5
-
4
+ require 'google/api/field_behavior_pb'
6
5
  require 'google/api/resource_pb'
7
6
  require 'google/protobuf/duration_pb'
8
7
  require 'google/protobuf/timestamp_pb'
9
8
  require 'google/type/calendar_period_pb'
9
+ require 'google/protobuf'
10
+
10
11
  Google::Protobuf::DescriptorPool.generated_pool.build do
11
12
  add_file("google/monitoring/v3/service.proto", :syntax => :proto3) do
12
13
  add_message "google.monitoring.v3.Service" do
13
14
  optional :name, :string, 1
14
15
  optional :display_name, :string, 2
15
16
  optional :telemetry, :message, 13, "google.monitoring.v3.Service.Telemetry"
17
+ map :user_labels, :string, :string, 14
16
18
  oneof :identifier do
17
19
  optional :custom, :message, 6, "google.monitoring.v3.Service.Custom"
18
20
  optional :app_engine, :message, 7, "google.monitoring.v3.Service.AppEngine"
@@ -54,6 +56,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
54
56
  optional :display_name, :string, 11
55
57
  optional :service_level_indicator, :message, 3, "google.monitoring.v3.ServiceLevelIndicator"
56
58
  optional :goal, :double, 4
59
+ map :user_labels, :string, :string, 12
57
60
  oneof :period do
58
61
  optional :rolling_period, :message, 5, "google.protobuf.Duration"
59
62
  optional :calendar_period, :enum, 6, "google.type.CalendarPeriod"
@@ -1,8 +1,6 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # source: google/monitoring/v3/service_service.proto
3
3
 
4
- require 'google/protobuf'
5
-
6
4
  require 'google/api/annotations_pb'
7
5
  require 'google/api/client_pb'
8
6
  require 'google/api/field_behavior_pb'
@@ -10,6 +8,8 @@ require 'google/api/resource_pb'
10
8
  require 'google/monitoring/v3/service_pb'
11
9
  require 'google/protobuf/empty_pb'
12
10
  require 'google/protobuf/field_mask_pb'
11
+ require 'google/protobuf'
12
+
13
13
  Google::Protobuf::DescriptorPool.generated_pool.build do
14
14
  add_file("google/monitoring/v3/service_service.proto", :syntax => :proto3) do
15
15
  add_message "google.monitoring.v3.CreateServiceRequest" do
@@ -1,11 +1,11 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # source: google/monitoring/v3/uptime.proto
3
3
 
4
- require 'google/protobuf'
5
-
6
4
  require 'google/api/monitored_resource_pb'
7
5
  require 'google/api/resource_pb'
8
6
  require 'google/protobuf/duration_pb'
7
+ require 'google/protobuf'
8
+
9
9
  Google::Protobuf::DescriptorPool.generated_pool.build do
10
10
  add_file("google/monitoring/v3/uptime.proto", :syntax => :proto3) do
11
11
  add_message "google.monitoring.v3.InternalChecker" do
@@ -1,16 +1,17 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # source: google/monitoring/v3/uptime_service.proto
3
3
 
4
- require 'google/protobuf'
5
-
6
4
  require 'google/api/annotations_pb'
7
5
  require 'google/api/client_pb'
8
6
  require 'google/api/field_behavior_pb'
9
7
  require 'google/api/resource_pb'
8
+ require 'google/longrunning/operations_pb'
10
9
  require 'google/monitoring/v3/uptime_pb'
11
10
  require 'google/protobuf/duration_pb'
12
11
  require 'google/protobuf/empty_pb'
13
12
  require 'google/protobuf/field_mask_pb'
13
+ require 'google/protobuf'
14
+
14
15
  Google::Protobuf::DescriptorPool.generated_pool.build do
15
16
  add_file("google/monitoring/v3/uptime_service.proto", :syntax => :proto3) do
16
17
  add_message "google.monitoring.v3.ListUptimeCheckConfigsRequest" do
@@ -49,7 +49,7 @@ module Google
49
49
  #
50
50
  # Sum[i=1..n]((x_i - mean)^2)
51
51
  #
52
- # Knuth, "The Art of Computer Programming", Vol. 2, page 323, 3rd edition
52
+ # Knuth, "The Art of Computer Programming", Vol. 2, page 232, 3rd edition
53
53
  # describes Welford's method for accumulating this sum in one pass.
54
54
  #
55
55
  # If `count` is zero then this field must be zero.
@@ -207,7 +207,7 @@ module Google
207
207
  # @return [::Array<::Google::Protobuf::Any>]
208
208
  # Contextual information about the example value. Examples are:
209
209
  #
210
- # Trace ID: type.googleapis.com/google.devtools.cloudtrace.v1.Trace
210
+ # Trace: type.googleapis.com/google.monitoring.v3.SpanContext
211
211
  #
212
212
  # Literal string: type.googleapis.com/google.protobuf.StringValue
213
213
  #
@@ -57,9 +57,15 @@ module Google
57
57
 
58
58
  # Denotes that a (repeated) field is an unordered list.
59
59
  # This indicates that the service may provide the elements of the list
60
- # in any arbitrary order, rather than the order the user originally
60
+ # in any arbitrary order, rather than the order the user originally
61
61
  # provided. Additionally, the list's order may or may not be stable.
62
62
  UNORDERED_LIST = 6
63
+
64
+ # Denotes that this field returns a non-empty default value if not set.
65
+ # This indicates that if the user provides the empty value in a request,
66
+ # a non-empty value will be returned. The user will not be aware of what
67
+ # non-empty value to expect.
68
+ NON_EMPTY_DEFAULT = 7
63
69
  end
64
70
  end
65
71
  end
@@ -25,6 +25,12 @@ module Google
25
25
  # Do not use this default value.
26
26
  LAUNCH_STAGE_UNSPECIFIED = 0
27
27
 
28
+ # The feature is not yet implemented. Users can not use it.
29
+ UNIMPLEMENTED = 6
30
+
31
+ # Prelaunch features are hidden from users and are only visible internally.
32
+ PRELAUNCH = 7
33
+
28
34
  # Early Access features are limited to a closed group of testers. To use
29
35
  # these features, you must sign up in advance and sign a Trusted Tester
30
36
  # agreement (which includes confidentiality provisions). These features may
@@ -36,7 +42,7 @@ module Google
36
42
  # for widespread use. By Alpha, all significant design issues are resolved
37
43
  # and we are in the process of verifying functionality. Alpha customers
38
44
  # need to apply for access, agree to applicable terms, and have their
39
- # projects whitelisted. Alpha releases don’t have to be feature complete,
45
+ # projects allowlisted. Alpha releases don’t have to be feature complete,
40
46
  # no SLAs are provided, and there are no technical support obligations, but
41
47
  # they will be far enough along that customers can actually use them in
42
48
  # test environments or for limited-use tests -- just like they would in
@@ -28,11 +28,12 @@ module Google
28
28
  # @!attribute [rw] type
29
29
  # @return [::String]
30
30
  # The metric type, including its DNS name prefix. The type is not
31
- # URL-encoded. All user-defined custom metric types have the DNS name
32
- # `custom.googleapis.com`. Metric types should use a natural hierarchical
33
- # grouping. For example:
31
+ # URL-encoded. All user-defined metric types have the DNS name
32
+ # `custom.googleapis.com` or `external.googleapis.com`. Metric types should
33
+ # use a natural hierarchical grouping. For example:
34
34
  #
35
35
  # "custom.googleapis.com/invoice/paid/amount"
36
+ # "external.googleapis.com/prometheus/up"
36
37
  # "appengine.googleapis.com/http/server/response_latencies"
37
38
  # @!attribute [rw] labels
38
39
  # @return [::Array<::Google::Api::LabelDescriptor>]
@@ -52,10 +53,28 @@ module Google
52
53
  # Some combinations of `metric_kind` and `value_type` might not be supported.
53
54
  # @!attribute [rw] unit
54
55
  # @return [::String]
55
- # The unit in which the metric value is reported. It is only applicable
56
- # if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The
57
- # supported units are a subset of [The Unified Code for Units of
58
- # Measure](http://unitsofmeasure.org/ucum.html) standard:
56
+ # The units in which the metric value is reported. It is only applicable
57
+ # if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The `unit`
58
+ # defines the representation of the stored metric values.
59
+ #
60
+ # Different systems might scale the values to be more easily displayed (so a
61
+ # value of `0.02kBy` _might_ be displayed as `20By`, and a value of
62
+ # `3523kBy` _might_ be displayed as `3.5MBy`). However, if the `unit` is
63
+ # `kBy`, then the value of the metric is always in thousands of bytes, no
64
+ # matter how it might be displayed.
65
+ #
66
+ # If you want a custom metric to record the exact number of CPU-seconds used
67
+ # by a job, you can create an `INT64 CUMULATIVE` metric whose `unit` is
68
+ # `s{CPU}` (or equivalently `1s{CPU}` or just `s`). If the job uses 12,005
69
+ # CPU-seconds, then the value is written as `12005`.
70
+ #
71
+ # Alternatively, if you want a custom metric to record data in a more
72
+ # granular way, you can create a `DOUBLE CUMULATIVE` metric whose `unit` is
73
+ # `ks{CPU}`, and then write the value `12.005` (which is `12005/1000`),
74
+ # or use `Kis{CPU}` and write `11.723` (which is `12005/1024`).
75
+ #
76
+ # The supported units are a subset of [The Unified Code for Units of
77
+ # Measure](https://unitsofmeasure.org/ucum.html) standard:
59
78
  #
60
79
  # **Basic units (UNIT)**
61
80
  #
@@ -65,36 +84,44 @@ module Google
65
84
  # * `min` minute
66
85
  # * `h` hour
67
86
  # * `d` day
87
+ # * `1` dimensionless
68
88
  #
69
89
  # **Prefixes (PREFIX)**
70
90
  #
71
- # * `k` kilo (10**3)
72
- # * `M` mega (10**6)
73
- # * `G` giga (10**9)
74
- # * `T` tera (10**12)
75
- # * `P` peta (10**15)
76
- # * `E` exa (10**18)
77
- # * `Z` zetta (10**21)
78
- # * `Y` yotta (10**24)
79
- # * `m` milli (10**-3)
80
- # * `u` micro (10**-6)
81
- # * `n` nano (10**-9)
82
- # * `p` pico (10**-12)
83
- # * `f` femto (10**-15)
84
- # * `a` atto (10**-18)
85
- # * `z` zepto (10**-21)
86
- # * `y` yocto (10**-24)
87
- # * `Ki` kibi (2**10)
88
- # * `Mi` mebi (2**20)
89
- # * `Gi` gibi (2**30)
90
- # * `Ti` tebi (2**40)
91
+ # * `k` kilo (10^3)
92
+ # * `M` mega (10^6)
93
+ # * `G` giga (10^9)
94
+ # * `T` tera (10^12)
95
+ # * `P` peta (10^15)
96
+ # * `E` exa (10^18)
97
+ # * `Z` zetta (10^21)
98
+ # * `Y` yotta (10^24)
99
+ #
100
+ # * `m` milli (10^-3)
101
+ # * `u` micro (10^-6)
102
+ # * `n` nano (10^-9)
103
+ # * `p` pico (10^-12)
104
+ # * `f` femto (10^-15)
105
+ # * `a` atto (10^-18)
106
+ # * `z` zepto (10^-21)
107
+ # * `y` yocto (10^-24)
108
+ #
109
+ # * `Ki` kibi (2^10)
110
+ # * `Mi` mebi (2^20)
111
+ # * `Gi` gibi (2^30)
112
+ # * `Ti` tebi (2^40)
113
+ # * `Pi` pebi (2^50)
91
114
  #
92
115
  # **Grammar**
93
116
  #
94
117
  # The grammar also includes these connectors:
95
118
  #
96
- # * `/` division (as an infix operator, e.g. `1/s`).
97
- # * `.` multiplication (as an infix operator, e.g. `GBy.d`)
119
+ # * `/` division or ratio (as an infix operator). For examples,
120
+ # `kBy/{email}` or `MiBy/10ms` (although you should almost never
121
+ # have `/s` in a metric `unit`; rates should always be computed at
122
+ # query time from the underlying cumulative or delta value).
123
+ # * `.` multiplication or composition (as an infix operator). For
124
+ # examples, `GBy.d` or `k{watt}.h`.
98
125
  #
99
126
  # The grammar for a unit is as follows:
100
127
  #
@@ -109,14 +136,25 @@ module Google
109
136
  #
110
137
  # Notes:
111
138
  #
112
- # * `Annotation` is just a comment if it follows a `UNIT` and is
113
- # equivalent to `1` if it is used alone. For examples,
114
- # `{requests}/s == 1/s`, `By{transmitted}/s == By/s`.
139
+ # * `Annotation` is just a comment if it follows a `UNIT`. If the annotation
140
+ # is used alone, then the unit is equivalent to `1`. For examples,
141
+ # `{request}/s == 1/s`, `By{transmitted}/s == By/s`.
115
142
  # * `NAME` is a sequence of non-blank printable ASCII characters not
116
- # containing '\\{' or '}'.
117
- # * `1` represents dimensionless value 1, such as in `1/s`.
118
- # * `%` represents dimensionless value 1/100, and annotates values giving
119
- # a percentage.
143
+ # containing `{` or `}`.
144
+ # * `1` represents a unitary [dimensionless
145
+ # unit](https://en.wikipedia.org/wiki/Dimensionless_quantity) of 1, such
146
+ # as in `1/s`. It is typically used when none of the basic units are
147
+ # appropriate. For example, "new users per day" can be represented as
148
+ # `1/d` or `{new-users}/d` (and a metric value `5` would mean "5 new
149
+ # users). Alternatively, "thousands of page views per day" would be
150
+ # represented as `1000/d` or `k1/d` or `k{page_views}/d` (and a metric
151
+ # value of `5.3` would mean "5300 page views per day").
152
+ # * `%` represents dimensionless value of 1/100, and annotates values giving
153
+ # a percentage (so the metric values are typically in the range of 0..100,
154
+ # and a metric value `3` means "3 percent").
155
+ # * `10^2.%` indicates a metric contains a ratio, typically in the range
156
+ # 0..1, that will be multiplied by 100 and displayed as a percentage
157
+ # (so a metric value `0.03` means "3 percent").
120
158
  # @!attribute [rw] description
121
159
  # @return [::String]
122
160
  # A detailed description of the metric, which can be used in documentation.
@@ -126,11 +164,46 @@ module Google
126
164
  # Use sentence case without an ending period, for example "Request count".
127
165
  # This field is optional but it is recommended to be set for any metrics
128
166
  # associated with user-visible concepts, such as Quota.
167
+ # @!attribute [rw] metadata
168
+ # @return [::Google::Api::MetricDescriptor::MetricDescriptorMetadata]
169
+ # Optional. Metadata which can be used to guide usage of the metric.
170
+ # @!attribute [rw] launch_stage
171
+ # @return [::Google::Api::LaunchStage]
172
+ # Optional. The launch stage of the metric definition.
173
+ # @!attribute [rw] monitored_resource_types
174
+ # @return [::Array<::String>]
175
+ # Read-only. If present, then a [time
176
+ # series][google.monitoring.v3.TimeSeries], which is identified partially by
177
+ # a metric type and a {::Google::Api::MonitoredResourceDescriptor MonitoredResourceDescriptor}, that is associated
178
+ # with this metric type can only be associated with one of the monitored
179
+ # resource types listed here.
129
180
  class MetricDescriptor
130
181
  include ::Google::Protobuf::MessageExts
131
182
  extend ::Google::Protobuf::MessageExts::ClassMethods
132
183
 
184
+ # Additional annotations that can be used to guide the usage of a metric.
185
+ # @!attribute [rw] launch_stage
186
+ # @return [::Google::Api::LaunchStage]
187
+ # Deprecated. Must use the {::Google::Api::MetricDescriptor#launch_stage MetricDescriptor.launch_stage} instead.
188
+ # @!attribute [rw] sample_period
189
+ # @return [::Google::Protobuf::Duration]
190
+ # The sampling period of metric data points. For metrics which are written
191
+ # periodically, consecutive data points are stored at this time interval,
192
+ # excluding data loss due to errors. Metrics with a higher granularity have
193
+ # a smaller sampling period.
194
+ # @!attribute [rw] ingest_delay
195
+ # @return [::Google::Protobuf::Duration]
196
+ # The delay of data points caused by ingestion. Data points older than this
197
+ # age are guaranteed to be ingested and available to be read, excluding
198
+ # data loss due to errors.
199
+ class MetricDescriptorMetadata
200
+ include ::Google::Protobuf::MessageExts
201
+ extend ::Google::Protobuf::MessageExts::ClassMethods
202
+ end
203
+
133
204
  # The kind of measurement. It describes how the data is reported.
205
+ # For information on setting the start time and end time based on
206
+ # the MetricKind, see {::Google::Cloud::Monitoring::V3::TimeInterval TimeInterval}.
134
207
  module MetricKind
135
208
  # Do not use this default value.
136
209
  METRIC_KIND_UNSPECIFIED = 0
@@ -40,7 +40,6 @@ module Google
40
40
  # @return [::String]
41
41
  # Required. The monitored resource type. For example, the type
42
42
  # `"cloudsql_database"` represents databases in Google Cloud SQL.
43
- # The maximum length of this value is 256 characters.
44
43
  # @!attribute [rw] display_name
45
44
  # @return [::String]
46
45
  # Optional. A concise name for the monitored resource type that might be
@@ -56,6 +55,9 @@ module Google
56
55
  # Required. A set of labels used to describe instances of this monitored
57
56
  # resource type. For example, an individual Google Cloud SQL database is
58
57
  # identified by values for the labels `"database_id"` and `"zone"`.
58
+ # @!attribute [rw] launch_stage
59
+ # @return [::Google::Api::LaunchStage]
60
+ # Optional. The launch stage of the monitored resource definition.
59
61
  class MonitoredResourceDescriptor
60
62
  include ::Google::Protobuf::MessageExts
61
63
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -101,15 +103,14 @@ module Google
101
103
  # Auxiliary metadata for a {::Google::Api::MonitoredResource MonitoredResource} object.
102
104
  # {::Google::Api::MonitoredResource MonitoredResource} objects contain the minimum set of information to
103
105
  # uniquely identify a monitored resource instance. There is some other useful
104
- # auxiliary metadata. Google Stackdriver Monitoring & Logging uses an ingestion
105
- # pipeline to extract metadata for cloud resources of all types , and stores
106
+ # auxiliary metadata. Monitoring and Logging use an ingestion
107
+ # pipeline to extract metadata for cloud resources of all types, and store
106
108
  # the metadata in this message.
107
109
  # @!attribute [rw] system_labels
108
110
  # @return [::Google::Protobuf::Struct]
109
111
  # Output only. Values for predefined system metadata labels.
110
- # System labels are a kind of metadata extracted by Google Stackdriver.
111
- # Stackdriver determines what system labels are useful and how to obtain
112
- # their values. Some examples: "machine_image", "vpc", "subnet_id",
112
+ # System labels are a kind of metadata extracted by Google, including
113
+ # "machine_image", "vpc", "subnet_id",
113
114
  # "security_group", "name", etc.
114
115
  # System label values can be only strings, Boolean values, or a list of
115
116
  # strings. For example: