google-cloud-debugger 0.36.1 → 0.42.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 (45) hide show
  1. checksums.yaml +4 -4
  2. data/AUTHENTICATION.md +2 -1
  3. data/CHANGELOG.md +47 -0
  4. data/CONTRIBUTING.md +4 -4
  5. data/LOGGING.md +1 -1
  6. data/OVERVIEW.md +28 -59
  7. data/TROUBLESHOOTING.md +2 -8
  8. data/ext/google/cloud/debugger/debugger_c/tracer.c +8 -33
  9. data/lib/google-cloud-debugger.rb +14 -15
  10. data/lib/google/cloud/debugger.rb +18 -16
  11. data/lib/google/cloud/debugger/agent.rb +4 -1
  12. data/lib/google/cloud/debugger/breakpoint.rb +9 -9
  13. data/lib/google/cloud/debugger/breakpoint/evaluator.rb +19 -25
  14. data/lib/google/cloud/debugger/breakpoint/source_location.rb +6 -6
  15. data/lib/google/cloud/debugger/breakpoint/stack_frame.rb +5 -5
  16. data/lib/google/cloud/debugger/breakpoint/status_message.rb +4 -6
  17. data/lib/google/cloud/debugger/breakpoint/variable.rb +8 -11
  18. data/lib/google/cloud/debugger/breakpoint/variable_table.rb +1 -1
  19. data/lib/google/cloud/debugger/credentials.rb +9 -6
  20. data/lib/google/cloud/debugger/debuggee.rb +4 -4
  21. data/lib/google/cloud/debugger/middleware.rb +1 -1
  22. data/lib/google/cloud/debugger/rails.rb +2 -2
  23. data/lib/google/cloud/debugger/service.rb +28 -66
  24. data/lib/google/cloud/debugger/snappoint.rb +4 -7
  25. data/lib/google/cloud/debugger/transmitter.rb +1 -1
  26. data/lib/google/cloud/debugger/version.rb +1 -1
  27. metadata +14 -72
  28. data/lib/google/cloud/debugger/v2.rb +0 -243
  29. data/lib/google/cloud/debugger/v2/controller2_client.rb +0 -373
  30. data/lib/google/cloud/debugger/v2/controller2_client_config.json +0 -41
  31. data/lib/google/cloud/debugger/v2/credentials.rb +0 -42
  32. data/lib/google/cloud/debugger/v2/debugger2_client.rb +0 -481
  33. data/lib/google/cloud/debugger/v2/debugger2_client_config.json +0 -51
  34. data/lib/google/cloud/debugger/v2/doc/google/devtools/clouddebugger/v2/controller.rb +0 -91
  35. data/lib/google/cloud/debugger/v2/doc/google/devtools/clouddebugger/v2/data.rb +0 -443
  36. data/lib/google/cloud/debugger/v2/doc/google/devtools/clouddebugger/v2/debugger.rb +0 -151
  37. data/lib/google/cloud/debugger/v2/doc/google/devtools/source/v1/source_context.rb +0 -162
  38. data/lib/google/cloud/debugger/v2/doc/google/protobuf/empty.rb +0 -29
  39. data/lib/google/cloud/debugger/v2/doc/google/protobuf/timestamp.rb +0 -113
  40. data/lib/google/devtools/clouddebugger/v2/controller_pb.rb +0 -50
  41. data/lib/google/devtools/clouddebugger/v2/controller_services_pb.rb +0 -98
  42. data/lib/google/devtools/clouddebugger/v2/data_pb.rb +0 -108
  43. data/lib/google/devtools/clouddebugger/v2/debugger_pb.rb +0 -77
  44. data/lib/google/devtools/clouddebugger/v2/debugger_services_pb.rb +0 -66
  45. data/lib/google/devtools/source/v1/source_context_pb.rb +0 -90
@@ -28,7 +28,7 @@ module Google
28
28
  #
29
29
  # Represent a debuggee application. Contains information that identifies
30
30
  # debuggee applications from each other. Maps to gRPC struct
31
- # {Google::Devtools::Clouddebugger::V2::Debuggee}.
31
+ # Google::Cloud::Debugger::V2::Debuggee.
32
32
  #
33
33
  # It also automatically loads source context information generated from
34
34
  # Cloud SDK. See [Stackdriver Debugger
@@ -111,10 +111,10 @@ module Google
111
111
 
112
112
  ##
113
113
  # Convert this debuggee into a gRPC
114
- # Google::Devtools::Clouddebugger::V2::Debuggee struct.
114
+ # Google::Cloud::Debugger::V2::Debuggee struct.
115
115
  def to_grpc
116
116
  source_context = source_context_from_json_file "source-context.json"
117
- Google::Devtools::Clouddebugger::V2::Debuggee.new(
117
+ Google::Cloud::Debugger::V2::Debuggee.new(
118
118
  id: id.to_s,
119
119
  project: project_id_for_request_arg.to_s,
120
120
  description: description.to_s,
@@ -179,7 +179,7 @@ module Google
179
179
  # project ID if available (and if it matches the project set in the
180
180
  # configuration). Otherwise, use the configured project.
181
181
  def project_id_for_request_arg
182
- if project_id == @env.project_id
182
+ if project_id == @env.lookup_metadata("project", "project-id")
183
183
  numeric_id = @env.numeric_project_id
184
184
  return numeric_id.to_s if numeric_id
185
185
  end
@@ -154,7 +154,7 @@ module Google
154
154
  @debugger.agent.tracer.disable_traces_for_thread
155
155
 
156
156
  # Reset quotas after each request finishes.
157
- @debugger.agent.quota_manager.reset if @debugger.agent.quota_manager
157
+ @debugger.agent.quota_manager&.reset
158
158
  end
159
159
 
160
160
  private
@@ -151,13 +151,13 @@ module Google
151
151
  Debugger::Credentials.new credentials
152
152
  end
153
153
  rescue StandardError => e
154
- STDOUT.puts "Note: Google::Cloud::Debugger is disabled because " \
154
+ $stdout.puts "Note: Google::Cloud::Debugger is disabled because " \
155
155
  "it failed to authorize with the service. (#{e.message})"
156
156
  return false
157
157
  end
158
158
 
159
159
  if project_id.to_s.empty?
160
- STDOUT.puts "Note: Google::Cloud::Debugger is disabled because " \
160
+ $stdout.puts "Note: Google::Cloud::Debugger is disabled because " \
161
161
  "the project ID could not be determined."
162
162
  return false
163
163
  end
@@ -16,7 +16,6 @@
16
16
  require "google/cloud/errors"
17
17
  require "google/cloud/debugger/version"
18
18
  require "google/cloud/debugger/v2"
19
- require "google/gax/errors"
20
19
  require "uri"
21
20
 
22
21
  module Google
@@ -26,103 +25,66 @@ module Google
26
25
  # @private Represents the gRPC Debugger service, including all the API
27
26
  # methods.
28
27
  class Service
29
- attr_accessor :project, :credentials, :timeout, :client_config, :host
28
+ attr_accessor :project
29
+ attr_accessor :credentials
30
+ attr_accessor :timeout
31
+ attr_accessor :host
30
32
 
31
33
  ##
32
34
  # Creates a new Service instance.
33
- def initialize project, credentials, timeout: nil, client_config: nil,
34
- host: nil
35
+ def initialize project, credentials, timeout: nil, host: nil
35
36
  @project = project
36
37
  @credentials = credentials
37
38
  @timeout = timeout
38
- @client_config = client_config || {}
39
- @host = host || V2::Debugger2Client::SERVICE_ADDRESS
39
+ @host = host
40
40
  end
41
41
 
42
42
  def cloud_debugger
43
43
  return mocked_debugger if mocked_debugger
44
44
  @cloud_debugger ||=
45
- V2::Controller2Client.new(
46
- credentials: credentials,
47
- timeout: timeout,
48
- client_config: client_config,
49
- service_address: service_address,
50
- service_port: service_port,
51
- lib_name: "gccl",
52
- lib_version: Google::Cloud::Debugger::VERSION
53
- )
45
+ V2::Controller::Client.new do |config|
46
+ config.credentials = credentials if credentials
47
+ config.timeout = timeout if timeout
48
+ config.endpoint = host if host
49
+ config.lib_name = "gccl"
50
+ config.lib_version = Google::Cloud::Debugger::VERSION
51
+ config.metadata = { "google-cloud-resource-prefix" => "projects/#{@project}" }
52
+ end
54
53
  end
55
54
  attr_accessor :mocked_debugger
56
55
 
57
56
  def transmitter
58
57
  return mocked_transmitter if mocked_transmitter
59
58
  @transmitter ||=
60
- V2::Controller2Client.new(
61
- credentials: credentials,
62
- timeout: timeout,
63
- client_config: client_config,
64
- service_address: service_address,
65
- service_port: service_port,
66
- lib_name: "gccl",
67
- lib_version: Google::Cloud::Debugger::VERSION
68
- )
59
+ V2::Controller::Client.new do |config|
60
+ config.credentials = credentials if credentials
61
+ config.timeout = timeout if timeout
62
+ config.endpoint = host if host
63
+ config.lib_name = "gccl"
64
+ config.lib_version = Google::Cloud::Debugger::VERSION
65
+ config.metadata = { "google-cloud-resource-prefix" => "projects/#{@project}" }
66
+ end
69
67
  end
70
68
  attr_accessor :mocked_transmitter
71
69
 
72
70
  def register_debuggee debuggee_grpc
73
- execute do
74
- cloud_debugger.register_debuggee debuggee_grpc,
75
- options: default_options
76
- end
71
+ cloud_debugger.register_debuggee debuggee: debuggee_grpc
77
72
  end
78
73
 
79
74
  def list_active_breakpoints debuggee_id, wait_token
80
- execute do
81
- cloud_debugger.list_active_breakpoints debuggee_id.to_s,
82
- wait_token: wait_token.to_s,
83
- success_on_timeout: true,
84
- options: default_options
85
- end
75
+ cloud_debugger.list_active_breakpoints debuggee_id: debuggee_id.to_s,
76
+ wait_token: wait_token.to_s,
77
+ success_on_timeout: true
86
78
  end
87
79
 
88
80
  def update_active_breakpoint debuggee_id, breakpoint
89
- execute do
90
- transmitter.update_active_breakpoint debuggee_id.to_s,
91
- breakpoint.to_grpc,
92
- options: default_options
93
- end
81
+ transmitter.update_active_breakpoint debuggee_id: debuggee_id.to_s,
82
+ breakpoint: breakpoint.to_grpc
94
83
  end
95
84
 
96
85
  def inspect
97
86
  "#{self.class}(#{@project})"
98
87
  end
99
-
100
- protected
101
-
102
- def service_address
103
- return nil if host.nil?
104
- URI.parse("//#{host}").host
105
- end
106
-
107
- def service_port
108
- return nil if host.nil?
109
- URI.parse("//#{host}").port
110
- end
111
-
112
- def default_headers
113
- { "google-cloud-resource-prefix" => "projects/#{@project}" }
114
- end
115
-
116
- def default_options
117
- Google::Gax::CallOptions.new kwargs: default_headers
118
- end
119
-
120
- def execute
121
- yield
122
- rescue Google::Gax::GaxError => e
123
- # GaxError wraps BadStatus, but exposes it as #cause
124
- raise Google::Cloud::Error.from_error(e.cause)
125
- end
126
88
  end
127
89
  end
128
90
  end
@@ -33,11 +33,11 @@ module Google
33
33
 
34
34
  ##
35
35
  # Max size of payload a Snappoint collects
36
- MAX_PAYLOAD_SIZE = 32768 # 32KB
36
+ MAX_PAYLOAD_SIZE = 32_768 # 32KB
37
37
 
38
38
  ##
39
39
  # @private Max size an evaluated expression variable is allowed to be
40
- MAX_EXPRESSION_LIMIT = 32768 # 32KB
40
+ MAX_EXPRESSION_LIMIT = 32_768 # 32KB
41
41
 
42
42
  ##
43
43
  # @private Max size a normal evaluated variable is allowed to be
@@ -56,8 +56,7 @@ module Google
56
56
  # variable at index 0. This variable will be shared by other variable
57
57
  # evaluations if this Snappoint exceeds size limit.
58
58
  def init_var_table
59
- return if @variable_table[0] &&
60
- @variable_table[0].buffer_full_variable?
59
+ return if @variable_table[0]&.buffer_full_variable?
61
60
 
62
61
  buffer_full_var = Variable.buffer_full_variable
63
62
  @variable_table.variables.unshift buffer_full_var
@@ -179,11 +178,9 @@ module Google
179
178
  end
180
179
  end
181
180
 
182
- result = variable_table.variables.inject result do |sum, var|
181
+ variable_table.variables.inject result do |sum, var|
183
182
  sum + var.payload_size
184
183
  end
185
-
186
- result
187
184
  end
188
185
 
189
186
  ##
@@ -132,7 +132,7 @@ module Google
132
132
  # @return [boolean] `true` when started, `false` otherwise.
133
133
  #
134
134
  def started?
135
- @thread_pool.running? if @thread_pool
135
+ @thread_pool&.running?
136
136
  end
137
137
 
138
138
  ##
@@ -16,7 +16,7 @@
16
16
  module Google
17
17
  module Cloud
18
18
  module Debugger
19
- VERSION = "0.36.1".freeze
19
+ VERSION = "0.42.0".freeze
20
20
  end
21
21
  end
22
22
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-debugger
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.36.1
4
+ version: 0.42.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Heng Xiong
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-05-19 00:00:00.000000000 Z
11
+ date: 2021-04-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: binding_of_caller
@@ -30,80 +30,40 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.2'
33
+ version: '1.5'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '1.2'
40
+ version: '1.5'
41
41
  - !ruby/object:Gem::Dependency
42
- name: google-cloud-logging
42
+ name: google-cloud-debugger-v2
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '1.0'
47
+ version: '0.0'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '1.0'
54
+ version: '0.0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: google-gax
56
+ name: google-cloud-logging
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: '1.8'
62
- type: :runtime
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: '1.8'
69
- - !ruby/object:Gem::Dependency
70
- name: googleapis-common-protos
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: 1.3.9
76
- - - "<"
77
60
  - !ruby/object:Gem::Version
78
61
  version: '2.0'
79
62
  type: :runtime
80
63
  prerelease: false
81
64
  version_requirements: !ruby/object:Gem::Requirement
82
65
  requirements:
83
- - - ">="
84
- - !ruby/object:Gem::Version
85
- version: 1.3.9
86
- - - "<"
87
- - !ruby/object:Gem::Version
88
- version: '2.0'
89
- - !ruby/object:Gem::Dependency
90
- name: googleapis-common-protos-types
91
- requirement: !ruby/object:Gem::Requirement
92
- requirements:
93
- - - ">="
94
- - !ruby/object:Gem::Version
95
- version: 1.0.4
96
- - - "<"
97
- - !ruby/object:Gem::Version
98
- version: '2.0'
99
- type: :runtime
100
- prerelease: false
101
- version_requirements: !ruby/object:Gem::Requirement
102
- requirements:
103
- - - ">="
104
- - !ruby/object:Gem::Version
105
- version: 1.0.4
106
- - - "<"
66
+ - - "~>"
107
67
  - !ruby/object:Gem::Version
108
68
  version: '2.0'
109
69
  - !ruby/object:Gem::Dependency
@@ -140,14 +100,14 @@ dependencies:
140
100
  requirements:
141
101
  - - "~>"
142
102
  - !ruby/object:Gem::Version
143
- version: 1.24.0
103
+ version: 1.25.1
144
104
  type: :development
145
105
  prerelease: false
146
106
  version_requirements: !ruby/object:Gem::Requirement
147
107
  requirements:
148
108
  - - "~>"
149
109
  - !ruby/object:Gem::Version
150
- version: 1.24.0
110
+ version: 1.25.1
151
111
  - !ruby/object:Gem::Dependency
152
112
  name: minitest
153
113
  requirement: !ruby/object:Gem::Requirement
@@ -366,25 +326,7 @@ files:
366
326
  - lib/google/cloud/debugger/snappoint.rb
367
327
  - lib/google/cloud/debugger/tracer.rb
368
328
  - lib/google/cloud/debugger/transmitter.rb
369
- - lib/google/cloud/debugger/v2.rb
370
- - lib/google/cloud/debugger/v2/controller2_client.rb
371
- - lib/google/cloud/debugger/v2/controller2_client_config.json
372
- - lib/google/cloud/debugger/v2/credentials.rb
373
- - lib/google/cloud/debugger/v2/debugger2_client.rb
374
- - lib/google/cloud/debugger/v2/debugger2_client_config.json
375
- - lib/google/cloud/debugger/v2/doc/google/devtools/clouddebugger/v2/controller.rb
376
- - lib/google/cloud/debugger/v2/doc/google/devtools/clouddebugger/v2/data.rb
377
- - lib/google/cloud/debugger/v2/doc/google/devtools/clouddebugger/v2/debugger.rb
378
- - lib/google/cloud/debugger/v2/doc/google/devtools/source/v1/source_context.rb
379
- - lib/google/cloud/debugger/v2/doc/google/protobuf/empty.rb
380
- - lib/google/cloud/debugger/v2/doc/google/protobuf/timestamp.rb
381
329
  - lib/google/cloud/debugger/version.rb
382
- - lib/google/devtools/clouddebugger/v2/controller_pb.rb
383
- - lib/google/devtools/clouddebugger/v2/controller_services_pb.rb
384
- - lib/google/devtools/clouddebugger/v2/data_pb.rb
385
- - lib/google/devtools/clouddebugger/v2/debugger_pb.rb
386
- - lib/google/devtools/clouddebugger/v2/debugger_services_pb.rb
387
- - lib/google/devtools/source/v1/source_context_pb.rb
388
330
  homepage: https://github.com/googleapis/google-cloud-ruby/tree/master/google-cloud-debugger
389
331
  licenses:
390
332
  - Apache-2.0
@@ -395,16 +337,16 @@ require_paths:
395
337
  - lib
396
338
  required_ruby_version: !ruby/object:Gem::Requirement
397
339
  requirements:
398
- - - ">="
340
+ - - "~>"
399
341
  - !ruby/object:Gem::Version
400
- version: '2.4'
342
+ version: '2.5'
401
343
  required_rubygems_version: !ruby/object:Gem::Requirement
402
344
  requirements:
403
345
  - - ">="
404
346
  - !ruby/object:Gem::Version
405
347
  version: '0'
406
348
  requirements: []
407
- rubygems_version: 3.0.6
349
+ rubygems_version: 3.2.13
408
350
  signing_key:
409
351
  specification_version: 4
410
352
  summary: API Client and instrumentation library for Stackdriver Debugger
@@ -1,243 +0,0 @@
1
- # Copyright 2020 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
- # https://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
-
16
- require "google/cloud/debugger/v2/debugger2_client"
17
- require "google/cloud/debugger/v2/controller2_client"
18
-
19
- module Google
20
- module Cloud
21
- module Debugger
22
- # rubocop:disable LineLength
23
-
24
- ##
25
- # # Ruby Client for Stackdriver Debugger API
26
- #
27
- # [Stackdriver Debugger API][Product Documentation]:
28
- # Examines the call stack and variables of a running application without
29
- # stopping or slowing it down.
30
- # - [Product Documentation][]
31
- #
32
- # ## Quick Start
33
- # In order to use this library, you first need to go through the following
34
- # steps:
35
- #
36
- # 1. [Select or create a Cloud Platform project.](https://console.cloud.google.com/project)
37
- # 2. [Enable billing for your project.](https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project)
38
- # 3. [Enable the Stackdriver Debugger API.](https://console.cloud.google.com/apis/library/clouddebugger.googleapis.com)
39
- # 4. [Setup Authentication.](https://googleapis.dev/ruby/google-cloud-debugger/latest/file.AUTHENTICATION.html)
40
- #
41
- # ### Installation
42
- # ```
43
- # $ gem install google-cloud-debugger
44
- # ```
45
- #
46
- # ### Next Steps
47
- # - Read the [Stackdriver Debugger API Product documentation][Product Documentation]
48
- # to learn more about the product and see How-to Guides.
49
- # - View this [repository's main README](https://github.com/googleapis/google-cloud-ruby/blob/master/README.md)
50
- # to see the full list of Cloud APIs that we cover.
51
- #
52
- # [Product Documentation]: https://cloud.google.com/debugger
53
- #
54
- # ## Enabling Logging
55
- #
56
- # To enable logging for this library, set the logger for the underlying [gRPC](https://github.com/grpc/grpc/tree/master/src/ruby) library.
57
- # The logger that you set may be a Ruby stdlib [`Logger`](https://ruby-doc.org/stdlib-2.5.0/libdoc/logger/rdoc/Logger.html) as shown below,
58
- # or a [`Google::Cloud::Logging::Logger`](https://googleapis.dev/ruby/google-cloud-logging/latest)
59
- # that will write logs to [Stackdriver Logging](https://cloud.google.com/logging/). See [grpc/logconfig.rb](https://github.com/grpc/grpc/blob/master/src/ruby/lib/grpc/logconfig.rb)
60
- # and the gRPC [spec_helper.rb](https://github.com/grpc/grpc/blob/master/src/ruby/spec/spec_helper.rb) for additional information.
61
- #
62
- # Configuring a Ruby stdlib logger:
63
- #
64
- # ```ruby
65
- # require "logger"
66
- #
67
- # module MyLogger
68
- # LOGGER = Logger.new $stderr, level: Logger::WARN
69
- # def logger
70
- # LOGGER
71
- # end
72
- # end
73
- #
74
- # # Define a gRPC module-level logger method before grpc/logconfig.rb loads.
75
- # module GRPC
76
- # extend MyLogger
77
- # end
78
- # ```
79
- #
80
- module V2
81
- # rubocop:enable LineLength
82
-
83
- module Debugger2
84
- ##
85
- # The Debugger service provides the API that allows users to collect run-time
86
- # information from a running application, without stopping or slowing it down
87
- # and without modifying its state. An application may include one or
88
- # more replicated processes performing the same work.
89
- #
90
- # A debugged application is represented using the Debuggee concept. The
91
- # Debugger service provides a way to query for available debuggees, but does
92
- # not provide a way to create one. A debuggee is created using the Controller
93
- # service, usually by running a debugger agent with the application.
94
- #
95
- # The Debugger service enables the client to set one or more Breakpoints on a
96
- # Debuggee and collect the results of the set Breakpoints.
97
- #
98
- # @param credentials [Google::Auth::Credentials, String, Hash, GRPC::Core::Channel, GRPC::Core::ChannelCredentials, Proc]
99
- # Provides the means for authenticating requests made by the client. This parameter can
100
- # be many types.
101
- # A `Google::Auth::Credentials` uses a the properties of its represented keyfile for
102
- # authenticating requests made by this client.
103
- # A `String` will be treated as the path to the keyfile to be used for the construction of
104
- # credentials for this client.
105
- # A `Hash` will be treated as the contents of a keyfile to be used for the construction of
106
- # credentials for this client.
107
- # A `GRPC::Core::Channel` will be used to make calls through.
108
- # A `GRPC::Core::ChannelCredentials` for the setting up the RPC client. The channel credentials
109
- # should already be composed with a `GRPC::Core::CallCredentials` object.
110
- # A `Proc` will be used as an updater_proc for the Grpc channel. The proc transforms the
111
- # metadata for requests, generally, to give OAuth credentials.
112
- # @param scopes [Array<String>]
113
- # The OAuth scopes for this service. This parameter is ignored if
114
- # an updater_proc is supplied.
115
- # @param client_config [Hash]
116
- # A Hash for call options for each method. See
117
- # Google::Gax#construct_settings for the structure of
118
- # this data. Falls back to the default config if not specified
119
- # or the specified config is missing data points.
120
- # @param timeout [Numeric]
121
- # The default timeout, in seconds, for calls made through this client.
122
- # @param metadata [Hash]
123
- # Default metadata to be sent with each request. This can be overridden on a per call basis.
124
- # @param service_address [String]
125
- # Override for the service hostname, or `nil` to leave as the default.
126
- # @param service_port [Integer]
127
- # Override for the service port, or `nil` to leave as the default.
128
- # @param exception_transformer [Proc]
129
- # An optional proc that intercepts any exceptions raised during an API call to inject
130
- # custom error handling.
131
- def self.new \
132
- credentials: nil,
133
- scopes: nil,
134
- client_config: nil,
135
- timeout: nil,
136
- metadata: nil,
137
- service_address: nil,
138
- service_port: nil,
139
- exception_transformer: nil,
140
- lib_name: nil,
141
- lib_version: nil
142
- kwargs = {
143
- credentials: credentials,
144
- scopes: scopes,
145
- client_config: client_config,
146
- timeout: timeout,
147
- metadata: metadata,
148
- exception_transformer: exception_transformer,
149
- lib_name: lib_name,
150
- service_address: service_address,
151
- service_port: service_port,
152
- lib_version: lib_version
153
- }.select { |_, v| v != nil }
154
- Google::Cloud::Debugger::V2::Debugger2Client.new(**kwargs)
155
- end
156
- end
157
-
158
- module Controller2
159
- ##
160
- # The Controller service provides the API for orchestrating a collection of
161
- # debugger agents to perform debugging tasks. These agents are each attached
162
- # to a process of an application which may include one or more replicas.
163
- #
164
- # The debugger agents register with the Controller to identify the application
165
- # being debugged, the Debuggee. All agents that register with the same data,
166
- # represent the same Debuggee, and are assigned the same `debuggee_id`.
167
- #
168
- # The debugger agents call the Controller to retrieve the list of active
169
- # Breakpoints. Agents with the same `debuggee_id` get the same breakpoints
170
- # list. An agent that can fulfill the breakpoint request updates the
171
- # Controller with the breakpoint result. The controller selects the first
172
- # result received and discards the rest of the results.
173
- # Agents that poll again for active breakpoints will no longer have
174
- # the completed breakpoint in the list and should remove that breakpoint from
175
- # their attached process.
176
- #
177
- # The Controller service does not provide a way to retrieve the results of
178
- # a completed breakpoint. This functionality is available using the Debugger
179
- # service.
180
- #
181
- # @param credentials [Google::Auth::Credentials, String, Hash, GRPC::Core::Channel, GRPC::Core::ChannelCredentials, Proc]
182
- # Provides the means for authenticating requests made by the client. This parameter can
183
- # be many types.
184
- # A `Google::Auth::Credentials` uses a the properties of its represented keyfile for
185
- # authenticating requests made by this client.
186
- # A `String` will be treated as the path to the keyfile to be used for the construction of
187
- # credentials for this client.
188
- # A `Hash` will be treated as the contents of a keyfile to be used for the construction of
189
- # credentials for this client.
190
- # A `GRPC::Core::Channel` will be used to make calls through.
191
- # A `GRPC::Core::ChannelCredentials` for the setting up the RPC client. The channel credentials
192
- # should already be composed with a `GRPC::Core::CallCredentials` object.
193
- # A `Proc` will be used as an updater_proc for the Grpc channel. The proc transforms the
194
- # metadata for requests, generally, to give OAuth credentials.
195
- # @param scopes [Array<String>]
196
- # The OAuth scopes for this service. This parameter is ignored if
197
- # an updater_proc is supplied.
198
- # @param client_config [Hash]
199
- # A Hash for call options for each method. See
200
- # Google::Gax#construct_settings for the structure of
201
- # this data. Falls back to the default config if not specified
202
- # or the specified config is missing data points.
203
- # @param timeout [Numeric]
204
- # The default timeout, in seconds, for calls made through this client.
205
- # @param metadata [Hash]
206
- # Default metadata to be sent with each request. This can be overridden on a per call basis.
207
- # @param service_address [String]
208
- # Override for the service hostname, or `nil` to leave as the default.
209
- # @param service_port [Integer]
210
- # Override for the service port, or `nil` to leave as the default.
211
- # @param exception_transformer [Proc]
212
- # An optional proc that intercepts any exceptions raised during an API call to inject
213
- # custom error handling.
214
- def self.new \
215
- credentials: nil,
216
- scopes: nil,
217
- client_config: nil,
218
- timeout: nil,
219
- metadata: nil,
220
- service_address: nil,
221
- service_port: nil,
222
- exception_transformer: nil,
223
- lib_name: nil,
224
- lib_version: nil
225
- kwargs = {
226
- credentials: credentials,
227
- scopes: scopes,
228
- client_config: client_config,
229
- timeout: timeout,
230
- metadata: metadata,
231
- exception_transformer: exception_transformer,
232
- lib_name: lib_name,
233
- service_address: service_address,
234
- service_port: service_port,
235
- lib_version: lib_version
236
- }.select { |_, v| v != nil }
237
- Google::Cloud::Debugger::V2::Controller2Client.new(**kwargs)
238
- end
239
- end
240
- end
241
- end
242
- end
243
- end