Controller2AsyncClient(*, credentials: Optional[google.auth.credentials.Credentials] = None, transport: Union[str, google.cloud.debugger_v2.services.controller2.transports.base.Controller2Transport] = 'grpc_asyncio', client_options: Optional[google.api_core.client_options.ClientOptions] = None, client_info: google.api_core.gapic_v1.client_info.ClientInfo = <google.api_core.gapic_v1.client_info.ClientInfo 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.
Properties
transport
Returns the transport used by the client instance.
Type | Description |
Controller2Transport | The transport used by the client instance. |
Methods
Controller2AsyncClient
Controller2AsyncClient(*, credentials: Optional[google.auth.credentials.Credentials] = None, transport: Union[str, google.cloud.debugger_v2.services.controller2.transports.base.Controller2Transport] = 'grpc_asyncio', client_options: Optional[google.api_core.client_options.ClientOptions] = None, client_info: google.api_core.gapic_v1.client_info.ClientInfo = <google.api_core.gapic_v1.client_info.ClientInfo object>)
Instantiates the controller2 client.
Name | Description |
credentials |
Optional[google.auth.credentials.Credentials]
The authorization credentials to attach to requests. These credentials identify the application to the service; if none are specified, the client will attempt to ascertain the credentials from the environment. |
transport |
Union[str,
The transport to use. If set to None, a transport is chosen automatically. |
client_options |
ClientOptions
Custom options for the client. It won't take effect if a |
Type | Description |
google.auth.exceptions.MutualTlsChannelError | If mutual TLS transport creation failed for any reason. |
common_billing_account_path
common_billing_account_path(billing_account: str)
Returns a fully-qualified billing_account string.
common_folder_path
common_folder_path(folder: str)
Returns a fully-qualified folder string.
common_location_path
common_location_path(project: str, location: str)
Returns a fully-qualified location string.
common_organization_path
common_organization_path(organization: str)
Returns a fully-qualified organization string.
common_project_path
common_project_path(project: str)
Returns a fully-qualified project string.
from_service_account_file
from_service_account_file(filename: str, *args, **kwargs)
Creates an instance of this client using the provided credentials file.
Name | Description |
filename |
str
The path to the service account private key json file. |
Type | Description |
Controller2AsyncClient | The constructed client. |
from_service_account_info
from_service_account_info(info: dict, *args, **kwargs)
Creates an instance of this client using the provided credentials info.
Name | Description |
info |
dict
The service account private key info. |
Type | Description |
Controller2AsyncClient | The constructed client. |
from_service_account_json
from_service_account_json(filename: str, *args, **kwargs)
Creates an instance of this client using the provided credentials file.
Name | Description |
filename |
str
The path to the service account private key json file. |
Type | Description |
Controller2AsyncClient | The constructed client. |
get_mtls_endpoint_and_cert_source
get_mtls_endpoint_and_cert_source(
client_options: Optional[google.api_core.client_options.ClientOptions] = None,
)
Return the API endpoint and client cert source for mutual TLS.
The client cert source is determined in the following order:
(1) if GOOGLE_API_USE_CLIENT_CERTIFICATE
environment variable is not "true", the
client cert source is None.
(2) if client_options.client_cert_source
is provided, use the provided one; if the
default client cert source exists, use the default one; otherwise the client cert
source is None.
The API endpoint is determined in the following order:
(1) if client_options.api_endpoint
if provided, use the provided one.
(2) if GOOGLE_API_USE_CLIENT_CERTIFICATE
environment variable is "always", use the
default mTLS endpoint; if the environment variabel is "never", use the default API
endpoint; otherwise if client cert source exists, use the default mTLS endpoint, otherwise
use the default API endpoint.
More details can be found at https://google.aip.dev/auth/4114.
Name | Description |
client_options |
google.api_core.client_options.ClientOptions
Custom options for the client. Only the |
Type | Description |
google.auth.exceptions.MutualTLSChannelError | If any errors happen. |
Type | Description |
Tuple[str, Callable[[], Tuple[bytes, bytes]]] | returns the API endpoint and the client cert source to use. |
get_transport_class
get_transport_class()
Returns an appropriate transport class.
list_active_breakpoints
list_active_breakpoints(request: Optional[Union[google.cloud.debugger_v2.types.controller.ListActiveBreakpointsRequest, dict]] = None, *, debuggee_id: Optional[str] = None, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Union[float, object] = <_MethodDefault._DEFAULT_VALUE: <object object>>, metadata: Sequence[Tuple[str, str]] = ())
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.
# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
# client as shown in:
# https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import debugger_v2
async def sample_list_active_breakpoints():
# Create a client
client = debugger_v2.Controller2AsyncClient()
# Initialize request argument(s)
request = debugger_v2.ListActiveBreakpointsRequest(
debuggee_id="debuggee_id_value",
)
# Make the request
response = await client.list_active_breakpoints(request=request)
# Handle the response
print(response)
Name | Description |
request |
Optional[Union[google.cloud.debugger_v2.types.ListActiveBreakpointsRequest, dict]]
The request object. Request to list active breakpoints. |
debuggee_id |
Required. Identifies the debuggee. This corresponds to the |
retry |
google.api_core.retry.Retry
Designation of what errors, if any, should be retried. |
timeout |
float
The timeout for this request. |
metadata |
Sequence[Tuple[str, str]]
Strings which should be sent along with the request as metadata. |
Type | Description |
google.cloud.debugger_v2.types.ListActiveBreakpointsResponse | Response for listing active breakpoints. |
parse_common_billing_account_path
parse_common_billing_account_path(path: str)
Parse a billing_account path into its component segments.
parse_common_folder_path
parse_common_folder_path(path: str)
Parse a folder path into its component segments.
parse_common_location_path
parse_common_location_path(path: str)
Parse a location path into its component segments.
parse_common_organization_path
parse_common_organization_path(path: str)
Parse a organization path into its component segments.
parse_common_project_path
parse_common_project_path(path: str)
Parse a project path into its component segments.
register_debuggee
register_debuggee(request: Optional[Union[google.cloud.debugger_v2.types.controller.RegisterDebuggeeRequest, dict]] = None, *, debuggee: Optional[google.cloud.debugger_v2.types.data.Debuggee] = None, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Union[float, object] = <_MethodDefault._DEFAULT_VALUE: <object object>>, metadata: Sequence[Tuple[str, str]] = ())
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.
# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
# client as shown in:
# https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import debugger_v2
async def sample_register_debuggee():
# Create a client
client = debugger_v2.Controller2AsyncClient()
# Initialize request argument(s)
request = debugger_v2.RegisterDebuggeeRequest(
)
# Make the request
response = await client.register_debuggee(request=request)
# Handle the response
print(response)
Name | Description |
request |
Optional[Union[google.cloud.debugger_v2.types.RegisterDebuggeeRequest, dict]]
The request object. Request to register a debuggee. |
debuggee |
Debuggee
Required. Debuggee information to register. The fields |
retry |
google.api_core.retry.Retry
Designation of what errors, if any, should be retried. |
timeout |
float
The timeout for this request. |
metadata |
Sequence[Tuple[str, str]]
Strings which should be sent along with the request as metadata. |
Type | Description |
google.cloud.debugger_v2.types.RegisterDebuggeeResponse | Response for registering a debuggee. |
update_active_breakpoint
update_active_breakpoint(request: Optional[Union[google.cloud.debugger_v2.types.controller.UpdateActiveBreakpointRequest, dict]] = None, *, debuggee_id: Optional[str] = None, breakpoint_: Optional[google.cloud.debugger_v2.types.data.Breakpoint] = None, retry: Union[google.api_core.retry.Retry, google.api_core.gapic_v1.method._MethodDefault] = <_MethodDefault._DEFAULT_VALUE: <object object>>, timeout: Union[float, object] = <_MethodDefault._DEFAULT_VALUE: <object object>>, metadata: Sequence[Tuple[str, str]] = ())
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.
# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
# client as shown in:
# https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import debugger_v2
async def sample_update_active_breakpoint():
# Create a client
client = debugger_v2.Controller2AsyncClient()
# Initialize request argument(s)
request = debugger_v2.UpdateActiveBreakpointRequest(
debuggee_id="debuggee_id_value",
)
# Make the request
response = await client.update_active_breakpoint(request=request)
# Handle the response
print(response)
Name | Description |
request |
Optional[Union[google.cloud.debugger_v2.types.UpdateActiveBreakpointRequest, dict]]
The request object. Request to update an active breakpoint. |
debuggee_id |
Required. Identifies the debuggee being debugged. This corresponds to the |
breakpoint_ |
Breakpoint
Required. Updated breakpoint information. The field |
retry |
google.api_core.retry.Retry
Designation of what errors, if any, should be retried. |
timeout |
float
The timeout for this request. |
metadata |
Sequence[Tuple[str, str]]
Strings which should be sent along with the request as metadata. |
Type | Description |
google.cloud.debugger_v2.types.UpdateActiveBreakpointResponse | Response for updating an active breakpoint. The message is defined to allow future extensions. |