google-cloud-debugger 0.28.2 → 0.29.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/README.md +33 -33
- data/lib/google-cloud-debugger.rb +12 -9
- data/lib/google/cloud/debugger.rb +23 -17
- data/lib/google/cloud/debugger/credentials.rb +32 -15
- data/lib/google/cloud/debugger/debuggee.rb +16 -1
- data/lib/google/cloud/debugger/middleware.rb +1 -1
- data/lib/google/cloud/debugger/project.rb +6 -5
- data/lib/google/cloud/debugger/rails.rb +9 -3
- data/lib/google/cloud/debugger/service.rb +4 -24
- data/lib/google/cloud/debugger/v2.rb +182 -0
- data/lib/google/cloud/debugger/v2/controller2_client.rb +85 -58
- data/lib/google/cloud/debugger/v2/debugger2_client.rb +81 -56
- data/lib/google/cloud/debugger/v2/doc/google/devtools/clouddebugger/v2/data.rb +24 -27
- data/lib/google/cloud/debugger/v2/doc/google/devtools/clouddebugger/v2/debugger.rb +23 -11
- data/lib/google/cloud/debugger/v2/doc/google/protobuf/timestamp.rb +26 -1
- data/lib/google/cloud/debugger/v2/doc/overview.rb +54 -0
- data/lib/google/cloud/debugger/version.rb +1 -1
- data/lib/google/devtools/clouddebugger/v2/controller_services_pb.rb +10 -11
- data/lib/google/devtools/clouddebugger/v2/debugger_services_pb.rb +4 -4
- metadata +8 -7
@@ -25,37 +25,22 @@ module Google
|
|
25
25
|
# @private Represents the gRPC Debugger service, including all the API
|
26
26
|
# methods.
|
27
27
|
class Service
|
28
|
-
attr_accessor :project, :credentials, :
|
28
|
+
attr_accessor :project, :credentials, :timeout, :client_config
|
29
29
|
|
30
30
|
##
|
31
31
|
# Creates a new Service instance.
|
32
|
-
def initialize project, credentials,
|
33
|
-
client_config: nil
|
32
|
+
def initialize project, credentials, timeout: nil, client_config: nil
|
34
33
|
@project = project
|
35
34
|
@credentials = credentials
|
36
|
-
@host = host || V2::Controller2Client::SERVICE_ADDRESS
|
37
35
|
@timeout = timeout
|
38
36
|
@client_config = client_config || {}
|
39
37
|
end
|
40
38
|
|
41
|
-
def channel
|
42
|
-
require "grpc"
|
43
|
-
GRPC::Core::Channel.new host, nil, chan_creds
|
44
|
-
end
|
45
|
-
|
46
|
-
def chan_creds
|
47
|
-
return credentials if insecure?
|
48
|
-
require "grpc"
|
49
|
-
GRPC::Core::ChannelCredentials.new.compose \
|
50
|
-
GRPC::Core::CallCredentials.new credentials.client.updater_proc
|
51
|
-
end
|
52
|
-
|
53
39
|
def cloud_debugger
|
54
40
|
return mocked_debugger if mocked_debugger
|
55
41
|
@debugger ||=
|
56
42
|
V2::Controller2Client.new(
|
57
|
-
|
58
|
-
channel: channel,
|
43
|
+
credentials: credentials,
|
59
44
|
timeout: timeout,
|
60
45
|
client_config: client_config,
|
61
46
|
lib_name: "gccl",
|
@@ -67,8 +52,7 @@ module Google
|
|
67
52
|
return mocked_transmitter if mocked_transmitter
|
68
53
|
@transmitter ||=
|
69
54
|
V2::Controller2Client.new(
|
70
|
-
|
71
|
-
channel: channel,
|
55
|
+
credentials: credentials,
|
72
56
|
timeout: timeout,
|
73
57
|
client_config: client_config,
|
74
58
|
lib_name: "gccl",
|
@@ -76,10 +60,6 @@ module Google
|
|
76
60
|
end
|
77
61
|
attr_accessor :mocked_transmitter
|
78
62
|
|
79
|
-
def insecure?
|
80
|
-
credentials == :this_channel_is_insecure
|
81
|
-
end
|
82
|
-
|
83
63
|
def register_debuggee debuggee_grpc
|
84
64
|
execute do
|
85
65
|
cloud_debugger.register_debuggee debuggee_grpc,
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# Copyright 2017, Google Inc. All rights reserved.
|
2
|
+
#
|
2
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
3
4
|
# you may not use this file except in compliance with the License.
|
4
5
|
# You may obtain a copy of the License at
|
@@ -13,3 +14,184 @@
|
|
13
14
|
|
14
15
|
require "google/cloud/debugger/v2/debugger2_client"
|
15
16
|
require "google/cloud/debugger/v2/controller2_client"
|
17
|
+
|
18
|
+
module Google
|
19
|
+
module Cloud
|
20
|
+
# rubocop:disable LineLength
|
21
|
+
|
22
|
+
##
|
23
|
+
# # Ruby Client for Stackdriver Debugger API ([Alpha](https://github.com/GoogleCloudPlatform/google-cloud-ruby#versioning))
|
24
|
+
#
|
25
|
+
# [Stackdriver Debugger API][Product Documentation]:
|
26
|
+
# Examines the call stack and variables of a running application
|
27
|
+
# without stopping or slowing it down.
|
28
|
+
# - [Product Documentation][]
|
29
|
+
#
|
30
|
+
# ## Quick Start
|
31
|
+
# In order to use this library, you first need to go through the following
|
32
|
+
# steps:
|
33
|
+
#
|
34
|
+
# 1. [Select or create a Cloud Platform project.](https://console.cloud.google.com/project)
|
35
|
+
# 2. [Enable the Stackdriver Debugger API.](https://console.cloud.google.com/apis/api/debugger)
|
36
|
+
# 3. [Setup Authentication.](https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud/master/guides/authentication)
|
37
|
+
#
|
38
|
+
# ### Next Steps
|
39
|
+
# - Read the [Stackdriver Debugger API Product documentation][Product Documentation]
|
40
|
+
# to learn more about the product and see How-to Guides.
|
41
|
+
# - View this [repository's main README](https://github.com/GoogleCloudPlatform/google-cloud-ruby/blob/master/README.md)
|
42
|
+
# to see the full list of Cloud APIs that we cover.
|
43
|
+
#
|
44
|
+
# [Product Documentation]: https://cloud.google.com/debugger
|
45
|
+
#
|
46
|
+
#
|
47
|
+
module Debugger
|
48
|
+
module V2
|
49
|
+
# rubocop:enable LineLength
|
50
|
+
|
51
|
+
module Debugger2
|
52
|
+
##
|
53
|
+
# The Debugger service provides the API that allows users to collect run-time
|
54
|
+
# information from a running application, without stopping or slowing it down
|
55
|
+
# and without modifying its state. An application may include one or
|
56
|
+
# more replicated processes performing the same work.
|
57
|
+
#
|
58
|
+
# A debugged application is represented using the Debuggee concept. The
|
59
|
+
# Debugger service provides a way to query for available debuggees, but does
|
60
|
+
# not provide a way to create one. A debuggee is created using the Controller
|
61
|
+
# service, usually by running a debugger agent with the application.
|
62
|
+
#
|
63
|
+
# The Debugger service enables the client to set one or more Breakpoints on a
|
64
|
+
# Debuggee and collect the results of the set Breakpoints.
|
65
|
+
#
|
66
|
+
# @param credentials [Google::Auth::Credentials, String, Hash, GRPC::Core::Channel, GRPC::Core::ChannelCredentials, Proc]
|
67
|
+
# Provides the means for authenticating requests made by the client. This parameter can
|
68
|
+
# be many types.
|
69
|
+
# A `Google::Auth::Credentials` uses a the properties of its represented keyfile for
|
70
|
+
# authenticating requests made by this client.
|
71
|
+
# A `String` will be treated as the path to the keyfile to be used for the construction of
|
72
|
+
# credentials for this client.
|
73
|
+
# A `Hash` will be treated as the contents of a keyfile to be used for the construction of
|
74
|
+
# credentials for this client.
|
75
|
+
# A `GRPC::Core::Channel` will be used to make calls through.
|
76
|
+
# A `GRPC::Core::ChannelCredentials` for the setting up the RPC client. The channel credentials
|
77
|
+
# should already be composed with a `GRPC::Core::CallCredentials` object.
|
78
|
+
# A `Proc` will be used as an updater_proc for the Grpc channel. The proc transforms the
|
79
|
+
# metadata for requests, generally, to give OAuth credentials.
|
80
|
+
# @param scopes [Array<String>]
|
81
|
+
# The OAuth scopes for this service. This parameter is ignored if
|
82
|
+
# an updater_proc is supplied.
|
83
|
+
# @param client_config [Hash]
|
84
|
+
# A Hash for call options for each method. See
|
85
|
+
# Google::Gax#construct_settings for the structure of
|
86
|
+
# this data. Falls back to the default config if not specified
|
87
|
+
# or the specified config is missing data points.
|
88
|
+
# @param timeout [Numeric]
|
89
|
+
# The default timeout, in seconds, for calls made through this client.
|
90
|
+
def self.new \
|
91
|
+
service_path: nil,
|
92
|
+
port: nil,
|
93
|
+
channel: nil,
|
94
|
+
chan_creds: nil,
|
95
|
+
updater_proc: nil,
|
96
|
+
credentials: nil,
|
97
|
+
scopes: nil,
|
98
|
+
client_config: nil,
|
99
|
+
timeout: nil,
|
100
|
+
lib_name: nil,
|
101
|
+
lib_version: nil
|
102
|
+
kwargs = {
|
103
|
+
service_path: service_path,
|
104
|
+
port: port,
|
105
|
+
channel: channel,
|
106
|
+
chan_creds: chan_creds,
|
107
|
+
updater_proc: updater_proc,
|
108
|
+
credentials: credentials,
|
109
|
+
scopes: scopes,
|
110
|
+
client_config: client_config,
|
111
|
+
timeout: timeout,
|
112
|
+
lib_name: lib_name,
|
113
|
+
lib_version: lib_version
|
114
|
+
}.select { |_, v| v != nil }
|
115
|
+
Google::Cloud::Debugger::V2::Debugger2Client.new(**kwargs)
|
116
|
+
end
|
117
|
+
end
|
118
|
+
|
119
|
+
module Controller2
|
120
|
+
##
|
121
|
+
# The Controller service provides the API for orchestrating a collection of
|
122
|
+
# debugger agents to perform debugging tasks. These agents are each attached
|
123
|
+
# to a process of an application which may include one or more replicas.
|
124
|
+
#
|
125
|
+
# The debugger agents register with the Controller to identify the application
|
126
|
+
# being debugged, the Debuggee. All agents that register with the same data,
|
127
|
+
# represent the same Debuggee, and are assigned the same +debuggee_id+.
|
128
|
+
#
|
129
|
+
# The debugger agents call the Controller to retrieve the list of active
|
130
|
+
# Breakpoints. Agents with the same +debuggee_id+ get the same breakpoints
|
131
|
+
# list. An agent that can fulfill the breakpoint request updates the
|
132
|
+
# Controller with the breakpoint result. The controller selects the first
|
133
|
+
# result received and discards the rest of the results.
|
134
|
+
# Agents that poll again for active breakpoints will no longer have
|
135
|
+
# the completed breakpoint in the list and should remove that breakpoint from
|
136
|
+
# their attached process.
|
137
|
+
#
|
138
|
+
# The Controller service does not provide a way to retrieve the results of
|
139
|
+
# a completed breakpoint. This functionality is available using the Debugger
|
140
|
+
# service.
|
141
|
+
#
|
142
|
+
# @param credentials [Google::Auth::Credentials, String, Hash, GRPC::Core::Channel, GRPC::Core::ChannelCredentials, Proc]
|
143
|
+
# Provides the means for authenticating requests made by the client. This parameter can
|
144
|
+
# be many types.
|
145
|
+
# A `Google::Auth::Credentials` uses a the properties of its represented keyfile for
|
146
|
+
# authenticating requests made by this client.
|
147
|
+
# A `String` will be treated as the path to the keyfile to be used for the construction of
|
148
|
+
# credentials for this client.
|
149
|
+
# A `Hash` will be treated as the contents of a keyfile to be used for the construction of
|
150
|
+
# credentials for this client.
|
151
|
+
# A `GRPC::Core::Channel` will be used to make calls through.
|
152
|
+
# A `GRPC::Core::ChannelCredentials` for the setting up the RPC client. The channel credentials
|
153
|
+
# should already be composed with a `GRPC::Core::CallCredentials` object.
|
154
|
+
# A `Proc` will be used as an updater_proc for the Grpc channel. The proc transforms the
|
155
|
+
# metadata for requests, generally, to give OAuth credentials.
|
156
|
+
# @param scopes [Array<String>]
|
157
|
+
# The OAuth scopes for this service. This parameter is ignored if
|
158
|
+
# an updater_proc is supplied.
|
159
|
+
# @param client_config [Hash]
|
160
|
+
# A Hash for call options for each method. See
|
161
|
+
# Google::Gax#construct_settings for the structure of
|
162
|
+
# this data. Falls back to the default config if not specified
|
163
|
+
# or the specified config is missing data points.
|
164
|
+
# @param timeout [Numeric]
|
165
|
+
# The default timeout, in seconds, for calls made through this client.
|
166
|
+
def self.new \
|
167
|
+
service_path: nil,
|
168
|
+
port: nil,
|
169
|
+
channel: nil,
|
170
|
+
chan_creds: nil,
|
171
|
+
updater_proc: nil,
|
172
|
+
credentials: nil,
|
173
|
+
scopes: nil,
|
174
|
+
client_config: nil,
|
175
|
+
timeout: nil,
|
176
|
+
lib_name: nil,
|
177
|
+
lib_version: nil
|
178
|
+
kwargs = {
|
179
|
+
service_path: service_path,
|
180
|
+
port: port,
|
181
|
+
channel: channel,
|
182
|
+
chan_creds: chan_creds,
|
183
|
+
updater_proc: updater_proc,
|
184
|
+
credentials: credentials,
|
185
|
+
scopes: scopes,
|
186
|
+
client_config: client_config,
|
187
|
+
timeout: timeout,
|
188
|
+
lib_name: lib_name,
|
189
|
+
lib_version: lib_version
|
190
|
+
}.select { |_, v| v != nil }
|
191
|
+
Google::Cloud::Debugger::V2::Controller2Client.new(**kwargs)
|
192
|
+
end
|
193
|
+
end
|
194
|
+
end
|
195
|
+
end
|
196
|
+
end
|
197
|
+
end
|
@@ -28,6 +28,7 @@ require "pathname"
|
|
28
28
|
require "google/gax"
|
29
29
|
|
30
30
|
require "google/devtools/clouddebugger/v2/controller_pb"
|
31
|
+
require "google/cloud/debugger/credentials"
|
31
32
|
|
32
33
|
module Google
|
33
34
|
module Cloud
|
@@ -74,21 +75,24 @@ module Google
|
|
74
75
|
"https://www.googleapis.com/auth/cloud_debugger"
|
75
76
|
].freeze
|
76
77
|
|
77
|
-
# @param
|
78
|
-
#
|
79
|
-
#
|
80
|
-
#
|
81
|
-
#
|
82
|
-
# A
|
83
|
-
#
|
84
|
-
# A
|
85
|
-
#
|
86
|
-
# A
|
87
|
-
#
|
78
|
+
# @param credentials [Google::Auth::Credentials, String, Hash, GRPC::Core::Channel, GRPC::Core::ChannelCredentials, Proc]
|
79
|
+
# Provides the means for authenticating requests made by the client. This parameter can
|
80
|
+
# be many types.
|
81
|
+
# A `Google::Auth::Credentials` uses a the properties of its represented keyfile for
|
82
|
+
# authenticating requests made by this client.
|
83
|
+
# A `String` will be treated as the path to the keyfile to be used for the construction of
|
84
|
+
# credentials for this client.
|
85
|
+
# A `Hash` will be treated as the contents of a keyfile to be used for the construction of
|
86
|
+
# credentials for this client.
|
87
|
+
# A `GRPC::Core::Channel` will be used to make calls through.
|
88
|
+
# A `GRPC::Core::ChannelCredentials` for the setting up the RPC client. The channel credentials
|
89
|
+
# should already be composed with a `GRPC::Core::CallCredentials` object.
|
90
|
+
# A `Proc` will be used as an updater_proc for the Grpc channel. The proc transforms the
|
91
|
+
# metadata for requests, generally, to give OAuth credentials.
|
88
92
|
# @param scopes [Array<String>]
|
89
93
|
# The OAuth scopes for this service. This parameter is ignored if
|
90
94
|
# an updater_proc is supplied.
|
91
|
-
# @param client_config[Hash]
|
95
|
+
# @param client_config [Hash]
|
92
96
|
# A Hash for call options for each method. See
|
93
97
|
# Google::Gax#construct_settings for the structure of
|
94
98
|
# this data. Falls back to the default config if not specified
|
@@ -101,11 +105,10 @@ module Google
|
|
101
105
|
channel: nil,
|
102
106
|
chan_creds: nil,
|
103
107
|
updater_proc: nil,
|
108
|
+
credentials: nil,
|
104
109
|
scopes: ALL_SCOPES,
|
105
110
|
client_config: {},
|
106
111
|
timeout: DEFAULT_TIMEOUT,
|
107
|
-
app_name: nil,
|
108
|
-
app_version: nil,
|
109
112
|
lib_name: nil,
|
110
113
|
lib_version: ""
|
111
114
|
# These require statements are intentionally placed here to initialize
|
@@ -114,14 +117,38 @@ module Google
|
|
114
117
|
require "google/gax/grpc"
|
115
118
|
require "google/devtools/clouddebugger/v2/controller_services_pb"
|
116
119
|
|
120
|
+
if channel || chan_creds || updater_proc
|
121
|
+
warn "The `channel`, `chan_creds`, and `updater_proc` parameters will be removed " \
|
122
|
+
"on 2017/09/08"
|
123
|
+
credentials ||= channel
|
124
|
+
credentials ||= chan_creds
|
125
|
+
credentials ||= updater_proc
|
126
|
+
end
|
127
|
+
if service_path != SERVICE_ADDRESS || port != DEFAULT_SERVICE_PORT
|
128
|
+
warn "`service_path` and `port` parameters are deprecated and will be removed"
|
129
|
+
end
|
130
|
+
|
131
|
+
credentials ||= Google::Cloud::Debugger::Credentials.default
|
117
132
|
|
118
|
-
if
|
119
|
-
|
133
|
+
if credentials.is_a?(String) || credentials.is_a?(Hash)
|
134
|
+
updater_proc = Google::Cloud::Debugger::Credentials.new(credentials).updater_proc
|
135
|
+
end
|
136
|
+
if credentials.is_a?(GRPC::Core::Channel)
|
137
|
+
channel = credentials
|
138
|
+
end
|
139
|
+
if credentials.is_a?(GRPC::Core::ChannelCredentials)
|
140
|
+
chan_creds = credentials
|
141
|
+
end
|
142
|
+
if credentials.is_a?(Proc)
|
143
|
+
updater_proc = credentials
|
144
|
+
end
|
145
|
+
if credentials.is_a?(Google::Auth::Credentials)
|
146
|
+
updater_proc = credentials.updater_proc
|
120
147
|
end
|
121
148
|
|
122
149
|
google_api_client = "gl-ruby/#{RUBY_VERSION}"
|
123
150
|
google_api_client << " #{lib_name}/#{lib_version}" if lib_name
|
124
|
-
google_api_client << " gapic/0.
|
151
|
+
google_api_client << " gapic/0.1.0 gax/#{Google::Gax::VERSION}"
|
125
152
|
google_api_client << " grpc/#{GRPC::VERSION}"
|
126
153
|
google_api_client.freeze
|
127
154
|
|
@@ -168,19 +195,21 @@ module Google
|
|
168
195
|
|
169
196
|
# Registers the debuggee with the controller service.
|
170
197
|
#
|
171
|
-
# All agents attached to the same application
|
172
|
-
# the same request content to get back the same stable +debuggee_id+.
|
173
|
-
# should call this method again whenever +google.rpc.Code.NOT_FOUND+
|
174
|
-
# returned from any controller method.
|
198
|
+
# All agents attached to the same application must call this method with
|
199
|
+
# exactly the same request content to get back the same stable +debuggee_id+.
|
200
|
+
# Agents should call this method again whenever +google.rpc.Code.NOT_FOUND+
|
201
|
+
# is returned from any controller method.
|
175
202
|
#
|
176
|
-
# This allows the controller service to disable
|
177
|
-
# data loss
|
178
|
-
#
|
203
|
+
# This protocol allows the controller service to disable debuggees, recover
|
204
|
+
# from data loss, or change the +debuggee_id+ format. Agents must handle
|
205
|
+
# +debuggee_id+ value changing upon re-registration.
|
179
206
|
#
|
180
|
-
# @param debuggee [Google::Devtools::Clouddebugger::V2::Debuggee]
|
207
|
+
# @param debuggee [Google::Devtools::Clouddebugger::V2::Debuggee | Hash]
|
181
208
|
# Debuggee information to register.
|
182
209
|
# The fields +project+, +uniquifier+, +description+ and +agent_version+
|
183
210
|
# of the debuggee must be set.
|
211
|
+
# A hash of the same form as `Google::Devtools::Clouddebugger::V2::Debuggee`
|
212
|
+
# can also be provided.
|
184
213
|
# @param options [Google::Gax::CallOptions]
|
185
214
|
# Overrides the default settings for this call, e.g, timeout,
|
186
215
|
# retries, etc.
|
@@ -189,25 +218,23 @@ module Google
|
|
189
218
|
# @example
|
190
219
|
# require "google/cloud/debugger/v2"
|
191
220
|
#
|
192
|
-
#
|
193
|
-
#
|
194
|
-
#
|
195
|
-
# controller2_client = Controller2Client.new
|
196
|
-
# debuggee = Debuggee.new
|
221
|
+
# controller2_client = Google::Cloud::Debugger::V2::Controller2.new
|
222
|
+
# debuggee = {}
|
197
223
|
# response = controller2_client.register_debuggee(debuggee)
|
198
224
|
|
199
225
|
def register_debuggee \
|
200
226
|
debuggee,
|
201
227
|
options: nil
|
202
|
-
req =
|
228
|
+
req = {
|
203
229
|
debuggee: debuggee
|
204
|
-
}.delete_if { |_, v| v.nil? }
|
230
|
+
}.delete_if { |_, v| v.nil? }
|
231
|
+
req = Google::Gax::to_proto(req, Google::Devtools::Clouddebugger::V2::RegisterDebuggeeRequest)
|
205
232
|
@register_debuggee.call(req, options)
|
206
233
|
end
|
207
234
|
|
208
235
|
# Returns the list of all active breakpoints for the debuggee.
|
209
236
|
#
|
210
|
-
# The breakpoint specification (location
|
237
|
+
# The breakpoint specification (+location+, +condition+, and +expressions+
|
211
238
|
# fields) is semantically immutable, although the field values may
|
212
239
|
# change. For example, an agent may update the location line number
|
213
240
|
# to reflect the actual line where the breakpoint was set, but this
|
@@ -222,16 +249,17 @@ module Google
|
|
222
249
|
# @param debuggee_id [String]
|
223
250
|
# Identifies the debuggee.
|
224
251
|
# @param wait_token [String]
|
225
|
-
# A
|
226
|
-
# of active breakpoints has changed, or a server
|
227
|
-
# expired.
|
252
|
+
# A token that, if specified, blocks the method call until the list
|
253
|
+
# of active breakpoints has changed, or a server-selected timeout has
|
254
|
+
# expired. The value should be set from the +next_wait_token+ field in
|
255
|
+
# the last response. The initial value should be set to +"init"+.
|
228
256
|
# @param success_on_timeout [true, false]
|
229
|
-
# If set to +true
|
230
|
-
# +wait_expired+ response field to +true+ when the server-selected
|
231
|
-
# has expired
|
257
|
+
# If set to +true+ (recommended), returns +google.rpc.Code.OK+ status and
|
258
|
+
# sets the +wait_expired+ response field to +true+ when the server-selected
|
259
|
+
# timeout has expired.
|
232
260
|
#
|
233
|
-
# If set to +false
|
234
|
-
# server-selected timeout has expired
|
261
|
+
# If set to +false+ (deprecated), returns +google.rpc.Code.ABORTED+ status
|
262
|
+
# when the server-selected timeout has expired.
|
235
263
|
# @param options [Google::Gax::CallOptions]
|
236
264
|
# Overrides the default settings for this call, e.g, timeout,
|
237
265
|
# retries, etc.
|
@@ -240,9 +268,7 @@ module Google
|
|
240
268
|
# @example
|
241
269
|
# require "google/cloud/debugger/v2"
|
242
270
|
#
|
243
|
-
#
|
244
|
-
#
|
245
|
-
# controller2_client = Controller2Client.new
|
271
|
+
# controller2_client = Google::Cloud::Debugger::V2::Controller2.new
|
246
272
|
# debuggee_id = ''
|
247
273
|
# response = controller2_client.list_active_breakpoints(debuggee_id)
|
248
274
|
|
@@ -251,29 +277,32 @@ module Google
|
|
251
277
|
wait_token: nil,
|
252
278
|
success_on_timeout: nil,
|
253
279
|
options: nil
|
254
|
-
req =
|
280
|
+
req = {
|
255
281
|
debuggee_id: debuggee_id,
|
256
282
|
wait_token: wait_token,
|
257
283
|
success_on_timeout: success_on_timeout
|
258
|
-
}.delete_if { |_, v| v.nil? }
|
284
|
+
}.delete_if { |_, v| v.nil? }
|
285
|
+
req = Google::Gax::to_proto(req, Google::Devtools::Clouddebugger::V2::ListActiveBreakpointsRequest)
|
259
286
|
@list_active_breakpoints.call(req, options)
|
260
287
|
end
|
261
288
|
|
262
289
|
# Updates the breakpoint state or mutable fields.
|
263
|
-
# The entire Breakpoint message must be sent back to the controller
|
264
|
-
# service.
|
290
|
+
# The entire Breakpoint message must be sent back to the controller service.
|
265
291
|
#
|
266
292
|
# Updates to active breakpoint fields are only allowed if the new value
|
267
293
|
# does not change the breakpoint specification. Updates to the +location+,
|
268
|
-
# +condition+ and +
|
294
|
+
# +condition+ and +expressions+ fields should not alter the breakpoint
|
269
295
|
# semantics. These may only make changes such as canonicalizing a value
|
270
296
|
# or snapping the location to the correct line of code.
|
271
297
|
#
|
272
298
|
# @param debuggee_id [String]
|
273
299
|
# Identifies the debuggee being debugged.
|
274
|
-
# @param breakpoint [Google::Devtools::Clouddebugger::V2::Breakpoint]
|
300
|
+
# @param breakpoint [Google::Devtools::Clouddebugger::V2::Breakpoint | Hash]
|
275
301
|
# Updated breakpoint information.
|
276
|
-
# The field
|
302
|
+
# The field +id+ must be set.
|
303
|
+
# The agent must echo all Breakpoint specification fields in the update.
|
304
|
+
# A hash of the same form as `Google::Devtools::Clouddebugger::V2::Breakpoint`
|
305
|
+
# can also be provided.
|
277
306
|
# @param options [Google::Gax::CallOptions]
|
278
307
|
# Overrides the default settings for this call, e.g, timeout,
|
279
308
|
# retries, etc.
|
@@ -282,22 +311,20 @@ module Google
|
|
282
311
|
# @example
|
283
312
|
# require "google/cloud/debugger/v2"
|
284
313
|
#
|
285
|
-
#
|
286
|
-
# Controller2Client = Google::Cloud::Debugger::V2::Controller2Client
|
287
|
-
#
|
288
|
-
# controller2_client = Controller2Client.new
|
314
|
+
# controller2_client = Google::Cloud::Debugger::V2::Controller2.new
|
289
315
|
# debuggee_id = ''
|
290
|
-
# breakpoint =
|
316
|
+
# breakpoint = {}
|
291
317
|
# response = controller2_client.update_active_breakpoint(debuggee_id, breakpoint)
|
292
318
|
|
293
319
|
def update_active_breakpoint \
|
294
320
|
debuggee_id,
|
295
321
|
breakpoint,
|
296
322
|
options: nil
|
297
|
-
req =
|
323
|
+
req = {
|
298
324
|
debuggee_id: debuggee_id,
|
299
325
|
breakpoint: breakpoint
|
300
|
-
}.delete_if { |_, v| v.nil? }
|
326
|
+
}.delete_if { |_, v| v.nil? }
|
327
|
+
req = Google::Gax::to_proto(req, Google::Devtools::Clouddebugger::V2::UpdateActiveBreakpointRequest)
|
301
328
|
@update_active_breakpoint.call(req, options)
|
302
329
|
end
|
303
330
|
end
|