google-cloud-monitoring-dashboard-v1 0.1.1 → 0.2.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (25) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -0
  3. data/lib/google/cloud/monitoring/dashboard/v1.rb +3 -0
  4. data/lib/google/cloud/monitoring/dashboard/v1/dashboards_service.rb +1 -0
  5. data/lib/google/cloud/monitoring/dashboard/v1/dashboards_service/client.rb +34 -13
  6. data/lib/google/cloud/monitoring/dashboard/v1/dashboards_service/paths.rb +66 -0
  7. data/lib/google/cloud/monitoring/dashboard/v1/version.rb +1 -1
  8. data/lib/google/monitoring/dashboard/v1/common_pb.rb +1 -0
  9. data/lib/google/monitoring/dashboard/v1/dashboard_pb.rb +2 -0
  10. data/lib/google/monitoring/dashboard/v1/dashboards_service_pb.rb +1 -0
  11. data/lib/google/monitoring/dashboard/v1/dashboards_service_services_pb.rb +6 -7
  12. data/lib/google/monitoring/dashboard/v1/drilldowns_pb.rb +1 -0
  13. data/lib/google/monitoring/dashboard/v1/metrics_pb.rb +2 -0
  14. data/lib/google/monitoring/dashboard/v1/scorecard_pb.rb +1 -0
  15. data/proto_docs/google/api/distribution.rb +225 -0
  16. data/proto_docs/google/api/resource.rb +50 -14
  17. data/proto_docs/google/monitoring/dashboard/v1/common.rb +263 -212
  18. data/proto_docs/google/monitoring/dashboard/v1/dashboard.rb +2 -2
  19. data/proto_docs/google/monitoring/dashboard/v1/dashboards_service.rb +17 -12
  20. data/proto_docs/google/monitoring/dashboard/v1/metrics.rb +13 -4
  21. data/proto_docs/google/monitoring/dashboard/v1/scorecard.rb +2 -2
  22. data/proto_docs/google/monitoring/dashboard/v1/xychart.rb +3 -3
  23. data/proto_docs/google/protobuf/any.rb +138 -0
  24. data/proto_docs/google/protobuf/timestamp.rb +120 -0
  25. metadata +9 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 27ffba53831c8bf280f963549d5021b3134198ac371257267c02fda590fe45c1
4
- data.tar.gz: d342c29e46bfb2c3403b10fb121f9482d3cbf36a35ea75e085f379c2e2a22194
3
+ metadata.gz: b8c843cceb139c4571f47f89c31f0e8babe4b3d0c33d2b3d355321602442c100
4
+ data.tar.gz: a86b25bb91eaa91db6e4e1e4890c39ec106be9be0d913536d54ae6aeb24f7ed4
5
5
  SHA512:
6
- metadata.gz: 7deb879b016813cbd563d6b4d5158602c361cbd18821f64443476d70a95762f167f8e37e248e1c8985b6dc600385d9ab258d16cf628d6c3de4f63076c69427a1
7
- data.tar.gz: bfb38c855356d563af7e775be751834b9fe0b1cc5adf60b4fc79c79449fdd81a33cc6282a3d151c4d7f50715ab4c1b6a35c2904e5c5cdab0dd0df4ab97893d05
6
+ metadata.gz: 57ba3e943b62b08dc007ccc81fa8a50a16e055fdc55666d0d3a0e08b5604e0dbeea85a247e4af98a4e4c1e22383ce23eee95f327ad6cd5955e80d84accce9ac8
7
+ data.tar.gz: 3834ce01aa1d39bbf605611f4a2c4077a36395488182a038643b7cbede142f1159a13f2add3a8f7be2e6669d37ddb34f22748ef6013d76413c9bf4a87816d455
data/README.md CHANGED
@@ -18,6 +18,7 @@ In order to use this library, you first need to go through the following steps:
18
18
 
19
19
  1. [Select or create a Cloud Platform project.](https://console.cloud.google.com/project)
20
20
  1. [Enable billing for your project.](https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project)
21
+ 1. [Enable the API.](https://console.cloud.google.com/apis/library/monitoring.googleapis.com)
21
22
  1. {file:AUTHENTICATION.md Set up authentication.}
22
23
 
23
24
  ## Quick Start
@@ -33,6 +34,9 @@ response = client.create_dashboard request
33
34
  View the [Client Library Documentation](https://googleapis.dev/ruby/google-cloud-monitoring-dashboard-v1/latest)
34
35
  for class and method documentation.
35
36
 
37
+ See also the [Product Documentation](https://cloud.google.com/monitoring)
38
+ for general usage information.
39
+
36
40
  ## Enabling Logging
37
41
 
38
42
  To enable logging for this library, set the logger for the underlying [gRPC](https://github.com/grpc/grpc/tree/master/src/ruby) library.
@@ -35,3 +35,6 @@ module Google
35
35
  end
36
36
  end
37
37
  end
38
+
39
+ helper_path = ::File.join __dir__, "v1", "_helpers.rb"
40
+ require "google/cloud/monitoring/dashboard/v1/_helpers" if ::File.file? helper_path
@@ -23,6 +23,7 @@ require "gapic/config/method"
23
23
  require "google/cloud/monitoring/dashboard/v1/version"
24
24
 
25
25
  require "google/cloud/monitoring/dashboard/v1/dashboards_service/credentials"
26
+ require "google/cloud/monitoring/dashboard/v1/dashboards_service/paths"
26
27
  require "google/cloud/monitoring/dashboard/v1/dashboards_service/client"
27
28
 
28
29
  module Google
@@ -32,6 +32,8 @@ module Google
32
32
  # widgets in a specific layout.
33
33
  #
34
34
  class Client
35
+ include Paths
36
+
35
37
  # @private
36
38
  attr_reader :dashboards_service_stub
37
39
 
@@ -65,6 +67,20 @@ module Google
65
67
  end
66
68
  default_config = Client::Configuration.new parent_config
67
69
 
70
+ default_config.timeout = 30.0
71
+ default_config.retry_policy = {
72
+ initial_delay: 1.0,
73
+ max_delay: 10.0,
74
+ multiplier: 1.3,
75
+ retry_codes: [14, 2]
76
+ }
77
+
78
+ default_config.rpcs.create_dashboard.timeout = 30.0
79
+
80
+ default_config.rpcs.delete_dashboard.timeout = 30.0
81
+
82
+ default_config.rpcs.update_dashboard.timeout = 30.0
83
+
68
84
  default_config
69
85
  end
70
86
  yield @configure if block_given?
@@ -167,9 +183,11 @@ module Google
167
183
  # the default parameter values, pass an empty Hash as a request object (see above).
168
184
  #
169
185
  # @param parent [::String]
170
- # Required. The project on which to execute the request. The format is
171
- # `"projects/{project_id_or_number}"`. The \\{project_id_or_number} must match
172
- # the dashboard resource name.
186
+ # Required. The project on which to execute the request. The format is:
187
+ #
188
+ # projects/[PROJECT_ID_OR_NUMBER]
189
+ #
190
+ # The `[PROJECT_ID_OR_NUMBER]` must match the dashboard resource name.
173
191
  # @param dashboard [::Google::Cloud::Monitoring::Dashboard::V1::Dashboard, ::Hash]
174
192
  # Required. The initial dashboard specification.
175
193
  #
@@ -241,8 +259,9 @@ module Google
241
259
  # the default parameter values, pass an empty Hash as a request object (see above).
242
260
  #
243
261
  # @param parent [::String]
244
- # Required. The scope of the dashboards to list. A project scope must be
245
- # specified in the form of `"projects/{project_id_or_number}"`.
262
+ # Required. The scope of the dashboards to list. The format is:
263
+ #
264
+ # projects/[PROJECT_ID_OR_NUMBER]
246
265
  # @param page_size [::Integer]
247
266
  # A positive number that is the maximum number of results to return.
248
267
  # If unspecified, a default of 1000 is used.
@@ -320,10 +339,11 @@ module Google
320
339
  # the default parameter values, pass an empty Hash as a request object (see above).
321
340
  #
322
341
  # @param name [::String]
323
- # Required. The resource name of the Dashboard. The format is one of
324
- # `"dashboards/{dashboard_id}"` (for system dashboards) or
325
- # `"projects/{project_id_or_number}/dashboards/{dashboard_id}"`
326
- # (for custom dashboards).
342
+ # Required. The resource name of the Dashboard. The format is one of:
343
+ #
344
+ # - `dashboards/[DASHBOARD_ID]` (for system dashboards)
345
+ # - `projects/[PROJECT_ID_OR_NUMBER]/dashboards/[DASHBOARD_ID]`
346
+ # (for custom dashboards).
327
347
  #
328
348
  # @yield [response, operation] Access the result along with the RPC operation
329
349
  # @yieldparam response [::Google::Cloud::Monitoring::Dashboard::V1::Dashboard]
@@ -393,8 +413,9 @@ module Google
393
413
  # the default parameter values, pass an empty Hash as a request object (see above).
394
414
  #
395
415
  # @param name [::String]
396
- # Required. The resource name of the Dashboard. The format is
397
- # `"projects/{project_id_or_number}/dashboards/{dashboard_id}"`.
416
+ # Required. The resource name of the Dashboard. The format is:
417
+ #
418
+ # projects/[PROJECT_ID_OR_NUMBER]/dashboards/[DASHBOARD_ID]
398
419
  #
399
420
  # @yield [response, operation] Access the result along with the RPC operation
400
421
  # @yieldparam response [::Google::Protobuf::Empty]
@@ -596,7 +617,7 @@ module Google
596
617
 
597
618
  config_attr :endpoint, "monitoring.googleapis.com", ::String
598
619
  config_attr :credentials, nil do |value|
599
- allowed = [::String, ::Hash, ::Proc, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
620
+ allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
600
621
  allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
601
622
  allowed.any? { |klass| klass === value }
602
623
  end
@@ -636,7 +657,7 @@ module Google
636
657
  # Each configuration object is of type `Gapic::Config::Method` and includes
637
658
  # the following configuration fields:
638
659
  #
639
- # * `timeout` (*type:* `Numeric`) - The call timeout in milliseconds
660
+ # * `timeout` (*type:* `Numeric`) - The call timeout in seconds
640
661
  # * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional gRPC headers
641
662
  # * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
642
663
  # include the following keys:
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Monitoring
23
+ module Dashboard
24
+ module V1
25
+ module DashboardsService
26
+ # Path helper methods for the DashboardsService API.
27
+ module Paths
28
+ ##
29
+ # Create a fully-qualified Dashboard resource string.
30
+ #
31
+ # The resource will be in the following format:
32
+ #
33
+ # `projects/{project}/dashboards/{dashboard}`
34
+ #
35
+ # @param project [String]
36
+ # @param dashboard [String]
37
+ #
38
+ # @return [::String]
39
+ def dashboard_path project:, dashboard:
40
+ raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
41
+
42
+ "projects/#{project}/dashboards/#{dashboard}"
43
+ end
44
+
45
+ ##
46
+ # Create a fully-qualified Project resource string.
47
+ #
48
+ # The resource will be in the following format:
49
+ #
50
+ # `projects/{project}`
51
+ #
52
+ # @param project [String]
53
+ #
54
+ # @return [::String]
55
+ def project_path project:
56
+ "projects/#{project}"
57
+ end
58
+
59
+ extend self
60
+ end
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
66
+ end
@@ -22,7 +22,7 @@ module Google
22
22
  module Monitoring
23
23
  module Dashboard
24
24
  module V1
25
- VERSION = "0.1.1"
25
+ VERSION = "0.2.4"
26
26
  end
27
27
  end
28
28
  end
@@ -3,6 +3,7 @@
3
3
 
4
4
  require 'google/protobuf'
5
5
 
6
+ require 'google/api/distribution_pb'
6
7
  require 'google/protobuf/duration_pb'
7
8
  Google::Protobuf::DescriptorPool.generated_pool.build do
8
9
  add_file("google/monitoring/dashboard/v1/common.proto", :syntax => :proto3) do
@@ -3,6 +3,8 @@
3
3
 
4
4
  require 'google/protobuf'
5
5
 
6
+ require 'google/api/field_behavior_pb'
7
+ require 'google/api/resource_pb'
6
8
  require 'google/monitoring/dashboard/v1/layouts_pb'
7
9
  Google::Protobuf::DescriptorPool.generated_pool.build do
8
10
  add_file("google/monitoring/dashboard/v1/dashboard.proto", :syntax => :proto3) do
@@ -5,6 +5,7 @@ require 'google/protobuf'
5
5
 
6
6
  require 'google/api/annotations_pb'
7
7
  require 'google/api/field_behavior_pb'
8
+ require 'google/api/resource_pb'
8
9
  require 'google/monitoring/dashboard/v1/dashboard_pb'
9
10
  require 'google/protobuf/empty_pb'
10
11
  require 'google/protobuf/field_mask_pb'
@@ -1,7 +1,7 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # Source: google/monitoring/dashboard/v1/dashboards_service.proto for package 'Google.Cloud.Monitoring.Dashboard.V1'
3
3
  # Original file comments:
4
- # Copyright 2019 Google LLC.
4
+ # Copyright 2020 Google LLC
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
7
7
  # you may not use this file except in compliance with the License.
@@ -15,7 +15,6 @@
15
15
  # See the License for the specific language governing permissions and
16
16
  # limitations under the License.
17
17
  #
18
- #
19
18
 
20
19
  require 'grpc'
21
20
  require 'google/monitoring/dashboard/v1/dashboards_service_pb'
@@ -41,31 +40,31 @@ module Google
41
40
  # This method requires the `monitoring.dashboards.create` permission
42
41
  # on the specified project. For more information, see
43
42
  # [Google Cloud IAM](https://cloud.google.com/iam).
44
- rpc :CreateDashboard, Google::Cloud::Monitoring::Dashboard::V1::CreateDashboardRequest, Google::Cloud::Monitoring::Dashboard::V1::Dashboard
43
+ rpc :CreateDashboard, ::Google::Cloud::Monitoring::Dashboard::V1::CreateDashboardRequest, ::Google::Cloud::Monitoring::Dashboard::V1::Dashboard
45
44
  # Lists the existing dashboards.
46
45
  #
47
46
  # This method requires the `monitoring.dashboards.list` permission
48
47
  # on the specified project. For more information, see
49
48
  # [Google Cloud IAM](https://cloud.google.com/iam).
50
- rpc :ListDashboards, Google::Cloud::Monitoring::Dashboard::V1::ListDashboardsRequest, Google::Cloud::Monitoring::Dashboard::V1::ListDashboardsResponse
49
+ rpc :ListDashboards, ::Google::Cloud::Monitoring::Dashboard::V1::ListDashboardsRequest, ::Google::Cloud::Monitoring::Dashboard::V1::ListDashboardsResponse
51
50
  # Fetches a specific dashboard.
52
51
  #
53
52
  # This method requires the `monitoring.dashboards.get` permission
54
53
  # on the specified dashboard. For more information, see
55
54
  # [Google Cloud IAM](https://cloud.google.com/iam).
56
- rpc :GetDashboard, Google::Cloud::Monitoring::Dashboard::V1::GetDashboardRequest, Google::Cloud::Monitoring::Dashboard::V1::Dashboard
55
+ rpc :GetDashboard, ::Google::Cloud::Monitoring::Dashboard::V1::GetDashboardRequest, ::Google::Cloud::Monitoring::Dashboard::V1::Dashboard
57
56
  # Deletes an existing custom dashboard.
58
57
  #
59
58
  # This method requires the `monitoring.dashboards.delete` permission
60
59
  # on the specified dashboard. For more information, see
61
60
  # [Google Cloud IAM](https://cloud.google.com/iam).
62
- rpc :DeleteDashboard, Google::Cloud::Monitoring::Dashboard::V1::DeleteDashboardRequest, Google::Protobuf::Empty
61
+ rpc :DeleteDashboard, ::Google::Cloud::Monitoring::Dashboard::V1::DeleteDashboardRequest, ::Google::Protobuf::Empty
63
62
  # Replaces an existing custom dashboard with a new definition.
64
63
  #
65
64
  # This method requires the `monitoring.dashboards.update` permission
66
65
  # on the specified dashboard. For more information, see
67
66
  # [Google Cloud IAM](https://cloud.google.com/iam).
68
- rpc :UpdateDashboard, Google::Cloud::Monitoring::Dashboard::V1::UpdateDashboardRequest, Google::Cloud::Monitoring::Dashboard::V1::Dashboard
67
+ rpc :UpdateDashboard, ::Google::Cloud::Monitoring::Dashboard::V1::UpdateDashboardRequest, ::Google::Cloud::Monitoring::Dashboard::V1::Dashboard
69
68
  end
70
69
 
71
70
  Stub = Service.rpc_stub_class
@@ -3,6 +3,7 @@
3
3
 
4
4
  require 'google/protobuf'
5
5
 
6
+ require 'google/monitoring/dashboard/v1/common_pb'
6
7
  Google::Protobuf::DescriptorPool.generated_pool.build do
7
8
  add_file("google/monitoring/dashboard/v1/drilldowns.proto", :syntax => :proto3) do
8
9
  end
@@ -12,11 +12,13 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
12
12
  oneof :source do
13
13
  optional :time_series_filter, :message, 1, "google.monitoring.dashboard.v1.TimeSeriesFilter"
14
14
  optional :time_series_filter_ratio, :message, 2, "google.monitoring.dashboard.v1.TimeSeriesFilterRatio"
15
+ optional :time_series_query_language, :string, 3
15
16
  end
16
17
  end
17
18
  add_message "google.monitoring.dashboard.v1.TimeSeriesFilter" do
18
19
  optional :filter, :string, 1
19
20
  optional :aggregation, :message, 2, "google.monitoring.dashboard.v1.Aggregation"
21
+ optional :secondary_aggregation, :message, 3, "google.monitoring.dashboard.v1.Aggregation"
20
22
  oneof :output_filter do
21
23
  optional :pick_time_series_filter, :message, 4, "google.monitoring.dashboard.v1.PickTimeSeriesFilter"
22
24
  optional :statistical_time_series_filter, :message, 5, "google.monitoring.dashboard.v1.StatisticalTimeSeriesFilter"
@@ -3,6 +3,7 @@
3
3
 
4
4
  require 'google/protobuf'
5
5
 
6
+ require 'google/api/field_behavior_pb'
6
7
  require 'google/monitoring/dashboard/v1/metrics_pb'
7
8
  require 'google/protobuf/duration_pb'
8
9
  Google::Protobuf::DescriptorPool.generated_pool.build do
@@ -0,0 +1,225 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Api
22
+ # `Distribution` contains summary statistics for a population of values. It
23
+ # optionally contains a histogram representing the distribution of those values
24
+ # across a set of buckets.
25
+ #
26
+ # The summary statistics are the count, mean, sum of the squared deviation from
27
+ # the mean, the minimum, and the maximum of the set of population of values.
28
+ # The histogram is based on a sequence of buckets and gives a count of values
29
+ # that fall into each bucket. The boundaries of the buckets are given either
30
+ # explicitly or by formulas for buckets of fixed or exponentially increasing
31
+ # widths.
32
+ #
33
+ # Although it is not forbidden, it is generally a bad idea to include
34
+ # non-finite values (infinities or NaNs) in the population of values, as this
35
+ # will render the `mean` and `sum_of_squared_deviation` fields meaningless.
36
+ # @!attribute [rw] count
37
+ # @return [::Integer]
38
+ # The number of values in the population. Must be non-negative. This value
39
+ # must equal the sum of the values in `bucket_counts` if a histogram is
40
+ # provided.
41
+ # @!attribute [rw] mean
42
+ # @return [::Float]
43
+ # The arithmetic mean of the values in the population. If `count` is zero
44
+ # then this field must be zero.
45
+ # @!attribute [rw] sum_of_squared_deviation
46
+ # @return [::Float]
47
+ # The sum of squared deviations from the mean of the values in the
48
+ # population. For values x_i this is:
49
+ #
50
+ # Sum[i=1..n]((x_i - mean)^2)
51
+ #
52
+ # Knuth, "The Art of Computer Programming", Vol. 2, page 323, 3rd edition
53
+ # describes Welford's method for accumulating this sum in one pass.
54
+ #
55
+ # If `count` is zero then this field must be zero.
56
+ # @!attribute [rw] range
57
+ # @return [::Google::Api::Distribution::Range]
58
+ # If specified, contains the range of the population values. The field
59
+ # must not be present if the `count` is zero.
60
+ # @!attribute [rw] bucket_options
61
+ # @return [::Google::Api::Distribution::BucketOptions]
62
+ # Defines the histogram bucket boundaries. If the distribution does not
63
+ # contain a histogram, then omit this field.
64
+ # @!attribute [rw] bucket_counts
65
+ # @return [::Array<::Integer>]
66
+ # The number of values in each bucket of the histogram, as described in
67
+ # `bucket_options`. If the distribution does not have a histogram, then omit
68
+ # this field. If there is a histogram, then the sum of the values in
69
+ # `bucket_counts` must equal the value in the `count` field of the
70
+ # distribution.
71
+ #
72
+ # If present, `bucket_counts` should contain N values, where N is the number
73
+ # of buckets specified in `bucket_options`. If you supply fewer than N
74
+ # values, the remaining values are assumed to be 0.
75
+ #
76
+ # The order of the values in `bucket_counts` follows the bucket numbering
77
+ # schemes described for the three bucket types. The first value must be the
78
+ # count for the underflow bucket (number 0). The next N-2 values are the
79
+ # counts for the finite buckets (number 1 through N-2). The N'th value in
80
+ # `bucket_counts` is the count for the overflow bucket (number N-1).
81
+ # @!attribute [rw] exemplars
82
+ # @return [::Array<::Google::Api::Distribution::Exemplar>]
83
+ # Must be in increasing order of `value` field.
84
+ class Distribution
85
+ include ::Google::Protobuf::MessageExts
86
+ extend ::Google::Protobuf::MessageExts::ClassMethods
87
+
88
+ # The range of the population values.
89
+ # @!attribute [rw] min
90
+ # @return [::Float]
91
+ # The minimum of the population values.
92
+ # @!attribute [rw] max
93
+ # @return [::Float]
94
+ # The maximum of the population values.
95
+ class Range
96
+ include ::Google::Protobuf::MessageExts
97
+ extend ::Google::Protobuf::MessageExts::ClassMethods
98
+ end
99
+
100
+ # `BucketOptions` describes the bucket boundaries used to create a histogram
101
+ # for the distribution. The buckets can be in a linear sequence, an
102
+ # exponential sequence, or each bucket can be specified explicitly.
103
+ # `BucketOptions` does not include the number of values in each bucket.
104
+ #
105
+ # A bucket has an inclusive lower bound and exclusive upper bound for the
106
+ # values that are counted for that bucket. The upper bound of a bucket must
107
+ # be strictly greater than the lower bound. The sequence of N buckets for a
108
+ # distribution consists of an underflow bucket (number 0), zero or more
109
+ # finite buckets (number 1 through N - 2) and an overflow bucket (number N -
110
+ # 1). The buckets are contiguous: the lower bound of bucket i (i > 0) is the
111
+ # same as the upper bound of bucket i - 1. The buckets span the whole range
112
+ # of finite values: lower bound of the underflow bucket is -infinity and the
113
+ # upper bound of the overflow bucket is +infinity. The finite buckets are
114
+ # so-called because both bounds are finite.
115
+ # @!attribute [rw] linear_buckets
116
+ # @return [::Google::Api::Distribution::BucketOptions::Linear]
117
+ # The linear bucket.
118
+ # @!attribute [rw] exponential_buckets
119
+ # @return [::Google::Api::Distribution::BucketOptions::Exponential]
120
+ # The exponential buckets.
121
+ # @!attribute [rw] explicit_buckets
122
+ # @return [::Google::Api::Distribution::BucketOptions::Explicit]
123
+ # The explicit buckets.
124
+ class BucketOptions
125
+ include ::Google::Protobuf::MessageExts
126
+ extend ::Google::Protobuf::MessageExts::ClassMethods
127
+
128
+ # Specifies a linear sequence of buckets that all have the same width
129
+ # (except overflow and underflow). Each bucket represents a constant
130
+ # absolute uncertainty on the specific value in the bucket.
131
+ #
132
+ # There are `num_finite_buckets + 2` (= N) buckets. Bucket `i` has the
133
+ # following boundaries:
134
+ #
135
+ # Upper bound (0 <= i < N-1): offset + (width * i).
136
+ # Lower bound (1 <= i < N): offset + (width * (i - 1)).
137
+ # @!attribute [rw] num_finite_buckets
138
+ # @return [::Integer]
139
+ # Must be greater than 0.
140
+ # @!attribute [rw] width
141
+ # @return [::Float]
142
+ # Must be greater than 0.
143
+ # @!attribute [rw] offset
144
+ # @return [::Float]
145
+ # Lower bound of the first bucket.
146
+ class Linear
147
+ include ::Google::Protobuf::MessageExts
148
+ extend ::Google::Protobuf::MessageExts::ClassMethods
149
+ end
150
+
151
+ # Specifies an exponential sequence of buckets that have a width that is
152
+ # proportional to the value of the lower bound. Each bucket represents a
153
+ # constant relative uncertainty on a specific value in the bucket.
154
+ #
155
+ # There are `num_finite_buckets + 2` (= N) buckets. Bucket `i` has the
156
+ # following boundaries:
157
+ #
158
+ # Upper bound (0 <= i < N-1): scale * (growth_factor ^ i).
159
+ # Lower bound (1 <= i < N): scale * (growth_factor ^ (i - 1)).
160
+ # @!attribute [rw] num_finite_buckets
161
+ # @return [::Integer]
162
+ # Must be greater than 0.
163
+ # @!attribute [rw] growth_factor
164
+ # @return [::Float]
165
+ # Must be greater than 1.
166
+ # @!attribute [rw] scale
167
+ # @return [::Float]
168
+ # Must be greater than 0.
169
+ class Exponential
170
+ include ::Google::Protobuf::MessageExts
171
+ extend ::Google::Protobuf::MessageExts::ClassMethods
172
+ end
173
+
174
+ # Specifies a set of buckets with arbitrary widths.
175
+ #
176
+ # There are `size(bounds) + 1` (= N) buckets. Bucket `i` has the following
177
+ # boundaries:
178
+ #
179
+ # Upper bound (0 <= i < N-1): bounds[i]
180
+ # Lower bound (1 <= i < N); bounds[i - 1]
181
+ #
182
+ # The `bounds` field must contain at least one element. If `bounds` has
183
+ # only one element, then there are no finite buckets, and that single
184
+ # element is the common boundary of the overflow and underflow buckets.
185
+ # @!attribute [rw] bounds
186
+ # @return [::Array<::Float>]
187
+ # The values must be monotonically increasing.
188
+ class Explicit
189
+ include ::Google::Protobuf::MessageExts
190
+ extend ::Google::Protobuf::MessageExts::ClassMethods
191
+ end
192
+ end
193
+
194
+ # Exemplars are example points that may be used to annotate aggregated
195
+ # distribution values. They are metadata that gives information about a
196
+ # particular value added to a Distribution bucket, such as a trace ID that
197
+ # was active when a value was added. They may contain further information,
198
+ # such as a example values and timestamps, origin, etc.
199
+ # @!attribute [rw] value
200
+ # @return [::Float]
201
+ # Value of the exemplar point. This value determines to which bucket the
202
+ # exemplar belongs.
203
+ # @!attribute [rw] timestamp
204
+ # @return [::Google::Protobuf::Timestamp]
205
+ # The observation (sampling) time of the above value.
206
+ # @!attribute [rw] attachments
207
+ # @return [::Array<::Google::Protobuf::Any>]
208
+ # Contextual information about the example value. Examples are:
209
+ #
210
+ # Trace ID: type.googleapis.com/google.devtools.cloudtrace.v1.Trace
211
+ #
212
+ # Literal string: type.googleapis.com/google.protobuf.StringValue
213
+ #
214
+ # Labels dropped during aggregation:
215
+ # type.googleapis.com/google.monitoring.v3.DroppedLabels
216
+ #
217
+ # There may be only a single attachment of any given message type in a
218
+ # single exemplar, and this is enforced by the system.
219
+ class Exemplar
220
+ include ::Google::Protobuf::MessageExts
221
+ extend ::Google::Protobuf::MessageExts::ClassMethods
222
+ end
223
+ end
224
+ end
225
+ end