Reference documentation and code samples for the Cloud Debugger V2 API class Google::Cloud::Debugger::V2::Controller::Rest::Client.
REST client for the Controller service.
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.
Inherits
- Object
Methods
.configure
def self.configure() { |config| ... } -> Client::Configuration
Configure the Controller Client class.
See Configuration for a description of the configuration fields.
- (config) — Configure the Client client.
- config (Client::Configuration)
# Modify the configuration for all Controller clients ::Google::Cloud::Debugger::V2::Controller::Rest::Client.configure do |config| config.timeout = 10.0 end
#configure
def configure() { |config| ... } -> Client::Configuration
Configure the Controller Client instance.
The configuration is set to the derived mode, meaning that values can be changed, but structural changes (adding new fields, etc.) are not allowed. Structural changes should be made on Client.configure.
See Configuration for a description of the configuration fields.
- (config) — Configure the Client client.
- config (Client::Configuration)
#initialize
def initialize() { |config| ... } -> Client
Create a new Controller REST client object.
- (config) — Configure the Controller client.
- config (Client::Configuration)
- (Client) — a new instance of Client
# Create a client using the default configuration client = ::Google::Cloud::Debugger::V2::Controller::Rest::Client.new # Create a client using a custom configuration client = ::Google::Cloud::Debugger::V2::Controller::Rest::Client.new do |config| config.timeout = 10.0 end
#list_active_breakpoints
def list_active_breakpoints(request, options = nil) -> ::Google::Cloud::Debugger::V2::ListActiveBreakpointsResponse
def list_active_breakpoints(debuggee_id: nil, wait_token: nil, success_on_timeout: nil) -> ::Google::Cloud::Debugger::V2::ListActiveBreakpointsResponse
Returns the list of all active breakpoints for the debuggee.
The breakpoint specification (location
, condition
, and expressions
fields) is semantically immutable, although the field values may
change. For example, an agent may update the location line number
to reflect the actual line where the breakpoint was set, but this
doesn't change the breakpoint semantics.
This means that an agent does not need to check if a breakpoint has changed when it encounters the same breakpoint on a successive call. Moreover, an agent should remember the breakpoints that are completed until the controller removes them from the active list to avoid setting those breakpoints again.
def list_active_breakpoints(request, options = nil) -> ::Google::Cloud::Debugger::V2::ListActiveBreakpointsResponse
list_active_breakpoints
via a request object, either of type
ListActiveBreakpointsRequest or an equivalent Hash.
- request (::Google::Cloud::Debugger::V2::ListActiveBreakpointsRequest, ::Hash) — A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
- options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
def list_active_breakpoints(debuggee_id: nil, wait_token: nil, success_on_timeout: nil) -> ::Google::Cloud::Debugger::V2::ListActiveBreakpointsResponse
list_active_breakpoints
via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).
- debuggee_id (::String) — Required. Identifies the debuggee.
-
wait_token (::String) — A token that, if specified, blocks the method call until the list
of active breakpoints has changed, or a server-selected timeout has
expired. The value should be set from the
next_wait_token
field in the last response. The initial value should be set to"init"
. -
success_on_timeout (::Boolean) — If set to
true
(recommended), returnsgoogle.rpc.Code.OK
status and sets thewait_expired
response field totrue
when the server-selected timeout has expired.If set to
false
(deprecated), returnsgoogle.rpc.Code.ABORTED
status when the server-selected timeout has expired.
- (result, operation) — Access the result along with the TransportOperation object
- result (::Google::Cloud::Debugger::V2::ListActiveBreakpointsResponse)
- operation (::Gapic::Rest::TransportOperation)
- (::Google::Cloud::Error) — if the REST call is aborted.
#register_debuggee
def register_debuggee(request, options = nil) -> ::Google::Cloud::Debugger::V2::RegisterDebuggeeResponse
def register_debuggee(debuggee: nil) -> ::Google::Cloud::Debugger::V2::RegisterDebuggeeResponse
Registers the debuggee with the controller service.
All agents attached to the same application must call this method with
exactly the same request content to get back the same stable debuggee_id
.
Agents should call this method again whenever google.rpc.Code.NOT_FOUND
is returned from any controller method.
This protocol allows the controller service to disable debuggees, recover
from data loss, or change the debuggee_id
format. Agents must handle
debuggee_id
value changing upon re-registration.
def register_debuggee(request, options = nil) -> ::Google::Cloud::Debugger::V2::RegisterDebuggeeResponse
register_debuggee
via a request object, either of type
RegisterDebuggeeRequest or an equivalent Hash.
- request (::Google::Cloud::Debugger::V2::RegisterDebuggeeRequest, ::Hash) — A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
- options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
def register_debuggee(debuggee: nil) -> ::Google::Cloud::Debugger::V2::RegisterDebuggeeResponse
register_debuggee
via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).
-
debuggee (::Google::Cloud::Debugger::V2::Debuggee, ::Hash) — Required. Debuggee information to register.
The fields
project
,uniquifier
,description
andagent_version
of the debuggee must be set.
- (result, operation) — Access the result along with the TransportOperation object
- result (::Google::Cloud::Debugger::V2::RegisterDebuggeeResponse)
- operation (::Gapic::Rest::TransportOperation)
- (::Google::Cloud::Error) — if the REST call is aborted.
#update_active_breakpoint
def update_active_breakpoint(request, options = nil) -> ::Google::Cloud::Debugger::V2::UpdateActiveBreakpointResponse
def update_active_breakpoint(debuggee_id: nil, breakpoint: nil) -> ::Google::Cloud::Debugger::V2::UpdateActiveBreakpointResponse
Updates the breakpoint state or mutable fields. The entire Breakpoint message must be sent back to the controller service.
Updates to active breakpoint fields are only allowed if the new value
does not change the breakpoint specification. Updates to the location
,
condition
and expressions
fields should not alter the breakpoint
semantics. These may only make changes such as canonicalizing a value
or snapping the location to the correct line of code.
def update_active_breakpoint(request, options = nil) -> ::Google::Cloud::Debugger::V2::UpdateActiveBreakpointResponse
update_active_breakpoint
via a request object, either of type
UpdateActiveBreakpointRequest or an equivalent Hash.
- request (::Google::Cloud::Debugger::V2::UpdateActiveBreakpointRequest, ::Hash) — A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
- options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
def update_active_breakpoint(debuggee_id: nil, breakpoint: nil) -> ::Google::Cloud::Debugger::V2::UpdateActiveBreakpointResponse
update_active_breakpoint
via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).
- debuggee_id (::String) — Required. Identifies the debuggee being debugged.
-
breakpoint (::Google::Cloud::Debugger::V2::Breakpoint, ::Hash) — Required. Updated breakpoint information.
The field
id
must be set. The agent must echo all Breakpoint specification fields in the update.
- (result, operation) — Access the result along with the TransportOperation object
- result (::Google::Cloud::Debugger::V2::UpdateActiveBreakpointResponse)
- operation (::Gapic::Rest::TransportOperation)
- (::Google::Cloud::Error) — if the REST call is aborted.