Module: Google::Cloud::Debugger::V2::Controller2
- Defined in:
- lib/google/cloud/debugger/v2.rb
Class Method Summary collapse
-
.new(service_path: nil, port: nil, channel: nil, chan_creds: nil, updater_proc: nil, credentials: nil, scopes: nil, client_config: nil, timeout: nil, lib_name: nil, lib_version: nil) ⇒ Object
The Controller service provides the API for orchestrating a collection of debugger agents to perform debugging tasks.
Class Method Details
.new(service_path: nil, port: nil, channel: nil, chan_creds: nil, updater_proc: nil, credentials: nil, scopes: nil, client_config: nil, timeout: nil, lib_name: nil, lib_version: nil) ⇒ Object
The Controller service provides the API for orchestrating a collection of debugger agents to perform debugging tasks. These agents are each attached to a process of an application which may include one or more replicas.
The debugger agents register with the Controller to identify the application being debugged, the Debuggee. All agents that register with the same data, represent the same Debuggee, and are assigned the same +debuggee_id+.
The debugger agents call the Controller to retrieve the list of active Breakpoints. Agents with the same +debuggee_id+ get the same breakpoints list. An agent that can fulfill the breakpoint request updates the Controller with the breakpoint result. The controller selects the first result received and discards the rest of the results. Agents that poll again for active breakpoints will no longer have the completed breakpoint in the list and should remove that breakpoint from their attached process.
The Controller service does not provide a way to retrieve the results of a completed breakpoint. This functionality is available using the Debugger service.
166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 |
# File 'lib/google/cloud/debugger/v2.rb', line 166 def self.new \ service_path: nil, port: nil, channel: nil, chan_creds: nil, updater_proc: nil, credentials: nil, scopes: nil, client_config: nil, timeout: nil, lib_name: nil, lib_version: nil kwargs = { service_path: service_path, port: port, channel: channel, chan_creds: chan_creds, updater_proc: updater_proc, credentials: credentials, scopes: scopes, client_config: client_config, timeout: timeout, lib_name: lib_name, lib_version: lib_version }.select { |_, v| v != nil } Google::Cloud::Debugger::V2::Controller2Client.new(**kwargs) end |