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

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 (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