Stackdriver Debugger API . controller . debuggees

Instance Methods

breakpoints()

Returns the breakpoints Resource.

register(body, x__xgafv=None)

Registers the debuggee with the controller service.

Method Details

register(body, x__xgafv=None)
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.

Args:
  body: object, The request body. (required)
    The object takes the form of:

{ # Request to register a debuggee.
    "debuggee": { # Represents the debugged application. The application may include one or more # Debuggee information to register.
        # The fields `project`, `uniquifier`, `description` and `agent_version`
        # of the debuggee must be set.
        # replicated processes executing the same code. Each of these processes is
        # attached with a debugger agent, carrying out the debugging commands.
        # Agents attached to the same debuggee identify themselves as such by using
        # exactly the same Debuggee message value when registering.
      "status": { # Represents a contextual status message. # Human readable message to be displayed to the user about this debuggee.
          # Absence of this field indicates no status. The message can be either
          # informational or an error status.
          # The message can indicate an error or informational status, and refer to
          # specific parts of the containing object.
          # For example, the `Breakpoint.status` field can indicate an error referring
          # to the `BREAKPOINT_SOURCE_LOCATION` with the message `Location not found`.
        "isError": True or False, # Distinguishes errors from informational messages.
        "refersTo": "A String", # Reference to which the message applies.
        "description": { # Represents a message with parameters. # Status message text.
          "parameters": [ # Optional parameters to be embedded into the message.
            "A String",
          ],
          "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
              # `$1`, etc. to reference parameters. `$$` can be used to denote the `$`
              # character.
              #
              # Examples:
              #
              # *   `Failed to load '$0' which helps debug $1 the first time it
              #     is loaded.  Again, $0 is very important.`
              # *   `Please pay $$10 to use $0 instead of $1.`
        },
      },
      "description": "A String", # Human readable description of the debuggee.
          # Including a human-readable project name, environment name and version
          # information is recommended.
      "isDisabled": True or False, # If set to `true`, indicates that the agent should disable itself and
          # detach from the debuggee.
      "labels": { # A set of custom debuggee properties, populated by the agent, to be
          # displayed to the user.
        "a_key": "A String",
      },
      "uniquifier": "A String", # Uniquifier to further distinguish the application.
          # It is possible that different applications might have identical values in
          # the debuggee message, thus, incorrectly identified as a single application
          # by the Controller service. This field adds salt to further distinguish the
          # application. Agents should consider seeding this field with value that
          # identifies the code, binary, configuration and environment.
      "project": "A String", # Project the debuggee is associated with.
          # Use project number or id when registering a Google Cloud Platform project.
      "sourceContexts": [ # References to the locations and revisions of the source code used in the
          # deployed application.
        { # A SourceContext is a reference to a tree of files. A SourceContext together
            # with a path point to a unique revision of a single file or directory.
          "cloudWorkspace": { # A CloudWorkspaceSourceContext denotes a workspace at a particular snapshot. # A SourceContext referring to a snapshot in a cloud workspace.
            "snapshotId": "A String", # The ID of the snapshot.
                # An empty snapshot_id refers to the most recent snapshot.
            "workspaceId": { # A CloudWorkspaceId is a unique identifier for a cloud workspace. # The ID of the workspace.
                # A cloud workspace is a place associated with a repo where modified files
                # can be stored before they are committed.
              "name": "A String", # The unique name of the workspace within the repo.  This is the name
                  # chosen by the client in the Source API's CreateWorkspace method.
              "repoId": { # A unique identifier for a cloud repo. # The ID of the repo containing the workspace.
                "uid": "A String", # A server-assigned, globally unique identifier.
                "projectRepoId": { # Selects a repo using a Google Cloud Platform project ID # A combination of a project ID and a repo name.
                    # (e.g. winged-cargo-31) and a repo name within that project.
                  "projectId": "A String", # The ID of the project.
                  "repoName": "A String", # The name of the repo. Leave empty for the default repo.
                },
              },
            },
          },
          "cloudRepo": { # A CloudRepoSourceContext denotes a particular revision in a cloud # A SourceContext referring to a revision in a cloud repo.
              # repo (a repo hosted by the Google Cloud Platform).
            "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
              "kind": "A String", # The alias kind.
              "name": "A String", # The alias name.
            },
            "revisionId": "A String", # A revision ID.
            "aliasName": "A String", # The name of an alias (branch, tag, etc.).
            "repoId": { # A unique identifier for a cloud repo. # The ID of the repo.
              "uid": "A String", # A server-assigned, globally unique identifier.
              "projectRepoId": { # Selects a repo using a Google Cloud Platform project ID # A combination of a project ID and a repo name.
                  # (e.g. winged-cargo-31) and a repo name within that project.
                "projectId": "A String", # The ID of the project.
                "repoName": "A String", # The name of the repo. Leave empty for the default repo.
              },
            },
          },
          "git": { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g. GitHub).
              # repository (e.g. GitHub).
            "url": "A String", # Git repository URL.
            "revisionId": "A String", # Git commit hash.
                # required.
          },
          "gerrit": { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
            "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
              "kind": "A String", # The alias kind.
              "name": "A String", # The alias name.
            },
            "revisionId": "A String", # A revision (commit) ID.
            "gerritProject": "A String", # The full project name within the host. Projects may be nested, so
                # "project/subproject" is a valid project name.
                # The "repo name" is hostURI/project.
            "hostUri": "A String", # The URI of a running Gerrit instance.
            "aliasName": "A String", # The name of an alias (branch, tag, etc.).
          },
        },
      ],
      "extSourceContexts": [ # References to the locations and revisions of the source code used in the
          # deployed application.
        { # An ExtendedSourceContext is a SourceContext combined with additional
            # details describing the context.
          "labels": { # Labels with user defined metadata.
            "a_key": "A String",
          },
          "context": { # A SourceContext is a reference to a tree of files. A SourceContext together # Any source context.
              # with a path point to a unique revision of a single file or directory.
            "cloudWorkspace": { # A CloudWorkspaceSourceContext denotes a workspace at a particular snapshot. # A SourceContext referring to a snapshot in a cloud workspace.
              "snapshotId": "A String", # The ID of the snapshot.
                  # An empty snapshot_id refers to the most recent snapshot.
              "workspaceId": { # A CloudWorkspaceId is a unique identifier for a cloud workspace. # The ID of the workspace.
                  # A cloud workspace is a place associated with a repo where modified files
                  # can be stored before they are committed.
                "name": "A String", # The unique name of the workspace within the repo.  This is the name
                    # chosen by the client in the Source API's CreateWorkspace method.
                "repoId": { # A unique identifier for a cloud repo. # The ID of the repo containing the workspace.
                  "uid": "A String", # A server-assigned, globally unique identifier.
                  "projectRepoId": { # Selects a repo using a Google Cloud Platform project ID # A combination of a project ID and a repo name.
                      # (e.g. winged-cargo-31) and a repo name within that project.
                    "projectId": "A String", # The ID of the project.
                    "repoName": "A String", # The name of the repo. Leave empty for the default repo.
                  },
                },
              },
            },
            "cloudRepo": { # A CloudRepoSourceContext denotes a particular revision in a cloud # A SourceContext referring to a revision in a cloud repo.
                # repo (a repo hosted by the Google Cloud Platform).
              "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
                "kind": "A String", # The alias kind.
                "name": "A String", # The alias name.
              },
              "revisionId": "A String", # A revision ID.
              "aliasName": "A String", # The name of an alias (branch, tag, etc.).
              "repoId": { # A unique identifier for a cloud repo. # The ID of the repo.
                "uid": "A String", # A server-assigned, globally unique identifier.
                "projectRepoId": { # Selects a repo using a Google Cloud Platform project ID # A combination of a project ID and a repo name.
                    # (e.g. winged-cargo-31) and a repo name within that project.
                  "projectId": "A String", # The ID of the project.
                  "repoName": "A String", # The name of the repo. Leave empty for the default repo.
                },
              },
            },
            "git": { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g. GitHub).
                # repository (e.g. GitHub).
              "url": "A String", # Git repository URL.
              "revisionId": "A String", # Git commit hash.
                  # required.
            },
            "gerrit": { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
              "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
                "kind": "A String", # The alias kind.
                "name": "A String", # The alias name.
              },
              "revisionId": "A String", # A revision (commit) ID.
              "gerritProject": "A String", # The full project name within the host. Projects may be nested, so
                  # "project/subproject" is a valid project name.
                  # The "repo name" is hostURI/project.
              "hostUri": "A String", # The URI of a running Gerrit instance.
              "aliasName": "A String", # The name of an alias (branch, tag, etc.).
            },
          },
        },
      ],
      "agentVersion": "A String", # Version ID of the agent.
          # Schema: `domain/language-platform/vmajor.minor` (for example
          # `google.com/java-gcp/v1.1`).
      "isInactive": True or False, # If set to `true`, indicates that Controller service does not detect any
          # activity from the debuggee agents and the application is possibly stopped.
      "id": "A String", # Unique identifier for the debuggee generated by the controller service.
    },
  }

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response for registering a debuggee.
    "debuggee": { # Represents the debugged application. The application may include one or more # Debuggee resource.
        # The field `id` is guaranteed to be set (in addition to the echoed fields).
        # If the field `is_disabled` is set to `true`, the agent should disable
        # itself by removing all breakpoints and detaching from the application.
        # It should however continue to poll `RegisterDebuggee` until reenabled.
        # replicated processes executing the same code. Each of these processes is
        # attached with a debugger agent, carrying out the debugging commands.
        # Agents attached to the same debuggee identify themselves as such by using
        # exactly the same Debuggee message value when registering.
      "status": { # Represents a contextual status message. # Human readable message to be displayed to the user about this debuggee.
          # Absence of this field indicates no status. The message can be either
          # informational or an error status.
          # The message can indicate an error or informational status, and refer to
          # specific parts of the containing object.
          # For example, the `Breakpoint.status` field can indicate an error referring
          # to the `BREAKPOINT_SOURCE_LOCATION` with the message `Location not found`.
        "isError": True or False, # Distinguishes errors from informational messages.
        "refersTo": "A String", # Reference to which the message applies.
        "description": { # Represents a message with parameters. # Status message text.
          "parameters": [ # Optional parameters to be embedded into the message.
            "A String",
          ],
          "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
              # `$1`, etc. to reference parameters. `$$` can be used to denote the `$`
              # character.
              #
              # Examples:
              #
              # *   `Failed to load '$0' which helps debug $1 the first time it
              #     is loaded.  Again, $0 is very important.`
              # *   `Please pay $$10 to use $0 instead of $1.`
        },
      },
      "description": "A String", # Human readable description of the debuggee.
          # Including a human-readable project name, environment name and version
          # information is recommended.
      "isDisabled": True or False, # If set to `true`, indicates that the agent should disable itself and
          # detach from the debuggee.
      "labels": { # A set of custom debuggee properties, populated by the agent, to be
          # displayed to the user.
        "a_key": "A String",
      },
      "uniquifier": "A String", # Uniquifier to further distinguish the application.
          # It is possible that different applications might have identical values in
          # the debuggee message, thus, incorrectly identified as a single application
          # by the Controller service. This field adds salt to further distinguish the
          # application. Agents should consider seeding this field with value that
          # identifies the code, binary, configuration and environment.
      "project": "A String", # Project the debuggee is associated with.
          # Use project number or id when registering a Google Cloud Platform project.
      "sourceContexts": [ # References to the locations and revisions of the source code used in the
          # deployed application.
        { # A SourceContext is a reference to a tree of files. A SourceContext together
            # with a path point to a unique revision of a single file or directory.
          "cloudWorkspace": { # A CloudWorkspaceSourceContext denotes a workspace at a particular snapshot. # A SourceContext referring to a snapshot in a cloud workspace.
            "snapshotId": "A String", # The ID of the snapshot.
                # An empty snapshot_id refers to the most recent snapshot.
            "workspaceId": { # A CloudWorkspaceId is a unique identifier for a cloud workspace. # The ID of the workspace.
                # A cloud workspace is a place associated with a repo where modified files
                # can be stored before they are committed.
              "name": "A String", # The unique name of the workspace within the repo.  This is the name
                  # chosen by the client in the Source API's CreateWorkspace method.
              "repoId": { # A unique identifier for a cloud repo. # The ID of the repo containing the workspace.
                "uid": "A String", # A server-assigned, globally unique identifier.
                "projectRepoId": { # Selects a repo using a Google Cloud Platform project ID # A combination of a project ID and a repo name.
                    # (e.g. winged-cargo-31) and a repo name within that project.
                  "projectId": "A String", # The ID of the project.
                  "repoName": "A String", # The name of the repo. Leave empty for the default repo.
                },
              },
            },
          },
          "cloudRepo": { # A CloudRepoSourceContext denotes a particular revision in a cloud # A SourceContext referring to a revision in a cloud repo.
              # repo (a repo hosted by the Google Cloud Platform).
            "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
              "kind": "A String", # The alias kind.
              "name": "A String", # The alias name.
            },
            "revisionId": "A String", # A revision ID.
            "aliasName": "A String", # The name of an alias (branch, tag, etc.).
            "repoId": { # A unique identifier for a cloud repo. # The ID of the repo.
              "uid": "A String", # A server-assigned, globally unique identifier.
              "projectRepoId": { # Selects a repo using a Google Cloud Platform project ID # A combination of a project ID and a repo name.
                  # (e.g. winged-cargo-31) and a repo name within that project.
                "projectId": "A String", # The ID of the project.
                "repoName": "A String", # The name of the repo. Leave empty for the default repo.
              },
            },
          },
          "git": { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g. GitHub).
              # repository (e.g. GitHub).
            "url": "A String", # Git repository URL.
            "revisionId": "A String", # Git commit hash.
                # required.
          },
          "gerrit": { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
            "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
              "kind": "A String", # The alias kind.
              "name": "A String", # The alias name.
            },
            "revisionId": "A String", # A revision (commit) ID.
            "gerritProject": "A String", # The full project name within the host. Projects may be nested, so
                # "project/subproject" is a valid project name.
                # The "repo name" is hostURI/project.
            "hostUri": "A String", # The URI of a running Gerrit instance.
            "aliasName": "A String", # The name of an alias (branch, tag, etc.).
          },
        },
      ],
      "extSourceContexts": [ # References to the locations and revisions of the source code used in the
          # deployed application.
        { # An ExtendedSourceContext is a SourceContext combined with additional
            # details describing the context.
          "labels": { # Labels with user defined metadata.
            "a_key": "A String",
          },
          "context": { # A SourceContext is a reference to a tree of files. A SourceContext together # Any source context.
              # with a path point to a unique revision of a single file or directory.
            "cloudWorkspace": { # A CloudWorkspaceSourceContext denotes a workspace at a particular snapshot. # A SourceContext referring to a snapshot in a cloud workspace.
              "snapshotId": "A String", # The ID of the snapshot.
                  # An empty snapshot_id refers to the most recent snapshot.
              "workspaceId": { # A CloudWorkspaceId is a unique identifier for a cloud workspace. # The ID of the workspace.
                  # A cloud workspace is a place associated with a repo where modified files
                  # can be stored before they are committed.
                "name": "A String", # The unique name of the workspace within the repo.  This is the name
                    # chosen by the client in the Source API's CreateWorkspace method.
                "repoId": { # A unique identifier for a cloud repo. # The ID of the repo containing the workspace.
                  "uid": "A String", # A server-assigned, globally unique identifier.
                  "projectRepoId": { # Selects a repo using a Google Cloud Platform project ID # A combination of a project ID and a repo name.
                      # (e.g. winged-cargo-31) and a repo name within that project.
                    "projectId": "A String", # The ID of the project.
                    "repoName": "A String", # The name of the repo. Leave empty for the default repo.
                  },
                },
              },
            },
            "cloudRepo": { # A CloudRepoSourceContext denotes a particular revision in a cloud # A SourceContext referring to a revision in a cloud repo.
                # repo (a repo hosted by the Google Cloud Platform).
              "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
                "kind": "A String", # The alias kind.
                "name": "A String", # The alias name.
              },
              "revisionId": "A String", # A revision ID.
              "aliasName": "A String", # The name of an alias (branch, tag, etc.).
              "repoId": { # A unique identifier for a cloud repo. # The ID of the repo.
                "uid": "A String", # A server-assigned, globally unique identifier.
                "projectRepoId": { # Selects a repo using a Google Cloud Platform project ID # A combination of a project ID and a repo name.
                    # (e.g. winged-cargo-31) and a repo name within that project.
                  "projectId": "A String", # The ID of the project.
                  "repoName": "A String", # The name of the repo. Leave empty for the default repo.
                },
              },
            },
            "git": { # A GitSourceContext denotes a particular revision in a third party Git # A SourceContext referring to any third party Git repo (e.g. GitHub).
                # repository (e.g. GitHub).
              "url": "A String", # Git repository URL.
              "revisionId": "A String", # Git commit hash.
                  # required.
            },
            "gerrit": { # A SourceContext referring to a Gerrit project. # A SourceContext referring to a Gerrit project.
              "aliasContext": { # An alias to a repo revision. # An alias, which may be a branch or tag.
                "kind": "A String", # The alias kind.
                "name": "A String", # The alias name.
              },
              "revisionId": "A String", # A revision (commit) ID.
              "gerritProject": "A String", # The full project name within the host. Projects may be nested, so
                  # "project/subproject" is a valid project name.
                  # The "repo name" is hostURI/project.
              "hostUri": "A String", # The URI of a running Gerrit instance.
              "aliasName": "A String", # The name of an alias (branch, tag, etc.).
            },
          },
        },
      ],
      "agentVersion": "A String", # Version ID of the agent.
          # Schema: `domain/language-platform/vmajor.minor` (for example
          # `google.com/java-gcp/v1.1`).
      "isInactive": True or False, # If set to `true`, indicates that Controller service does not detect any
          # activity from the debuggee agents and the application is possibly stopped.
      "id": "A String", # Unique identifier for the debuggee generated by the controller service.
    },
  }