Cloud Debugger is deprecated and will be shutdown May 31, 2023. See the deprecations page and release notes for more information.

Debuggee

Stay organized with collections Save and categorize content based on your preferences.

Represents the debugged application. The application may include one or more 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.

JSON representation
{
  "id": string,
  "project": string,
  "uniquifier": string,
  "description": string,
  "isInactive": boolean,
  "agentVersion": string,
  "isDisabled": boolean,
  "status": {
    object (StatusMessage)
  },
  "sourceContexts": [
    {
      object (SourceContext)
    }
  ],
  "extSourceContexts": [
    {
      object (ExtendedSourceContext)
    }
  ],
  "labels": {
    string: string,
    ...
  },
  "canaryMode": enum (CanaryMode)
}
Fields
id

string

Unique identifier for the debuggee generated by the controller service.

project

string

Project the debuggee is associated with. Use project number or id when registering a Google Cloud Platform project.

uniquifier

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.

description

string

Human readable description of the debuggee. Including a human-readable project name, environment name and version information is recommended.

isInactive

boolean

If set to true, indicates that Controller service does not detect any activity from the debuggee agents and the application is possibly stopped.

agentVersion

string

Version ID of the agent. Schema: domain/language-platform/vmajor.minor (for example google.com/java-gcp/v1.1).

isDisabled

boolean

If set to true, indicates that the agent should disable itself and detach from the debuggee.

status

object (StatusMessage)

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.

sourceContexts[]

object (SourceContext)

References to the locations and revisions of the source code used in the deployed application.

extSourceContexts[]
(deprecated)

object (ExtendedSourceContext)

References to the locations and revisions of the source code used in the deployed application.

labels

map (key: string, value: string)

A set of custom debuggee properties, populated by the agent, to be displayed to the user.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

canaryMode

enum (CanaryMode)

Used when setting breakpoint canary for this debuggee.

SourceContext

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.

JSON representation
{

  // Union field context can be only one of the following:
  "cloudRepo": {
    object (CloudRepoSourceContext)
  },
  "cloudWorkspace": {
    object (CloudWorkspaceSourceContext)
  },
  "gerrit": {
    object (GerritSourceContext)
  },
  "git": {
    object (GitSourceContext)
  }
  // End of list of possible types for union field context.
}
Fields
Union field context. A SourceContext can refer any one of the following types of repositories. context can be only one of the following:
cloudRepo

object (CloudRepoSourceContext)

A SourceContext referring to a revision in a cloud repo.

cloudWorkspace

object (CloudWorkspaceSourceContext)

A SourceContext referring to a snapshot in a cloud workspace.

gerrit

object (GerritSourceContext)

A SourceContext referring to a Gerrit project.

git

object (GitSourceContext)

A SourceContext referring to any third party Git repo (e.g. GitHub).

CloudRepoSourceContext

A CloudRepoSourceContext denotes a particular revision in a cloud repo (a repo hosted by the Google Cloud Platform).

JSON representation
{
  "repoId": {
    object (RepoId)
  },

  // Union field revision can be only one of the following:
  "revisionId": string,
  "aliasName": string,
  "aliasContext": {
    object (AliasContext)
  }
  // End of list of possible types for union field revision.
}
Fields
repoId

object (RepoId)

The ID of the repo.

Union field revision. A revision in a cloud repository can be identified by either its revision ID or its Alias. revision can be only one of the following:
revisionId

string

A revision ID.

aliasName
(deprecated)

string

The name of an alias (branch, tag, etc.).

aliasContext

object (AliasContext)

An alias, which may be a branch or tag.

RepoId

A unique identifier for a cloud repo.

JSON representation
{

  // Union field id can be only one of the following:
  "projectRepoId": {
    object (ProjectRepoId)
  },
  "uid": string
  // End of list of possible types for union field id.
}
Fields
Union field id. A cloud repository can be identified by either its project ID and repository name combination, or its globally unique identifier. id can be only one of the following:
projectRepoId

object (ProjectRepoId)

A combination of a project ID and a repo name.

uid

string

A server-assigned, globally unique identifier.

ProjectRepoId

Selects a repo using a Google Cloud Platform project ID (e.g. winged-cargo-31) and a repo name within that project.

JSON representation
{
  "projectId": string,
  "repoName": string
}
Fields
projectId

string

The ID of the project.

repoName

string

The name of the repo. Leave empty for the default repo.

AliasContext

An alias to a repo revision.

JSON representation
{
  "kind": enum (Kind),
  "name": string
}
Fields
kind

enum (Kind)

The alias kind.

name

string

The alias name.

Kind

The type of an Alias.

Enums
ANY Do not use.
FIXED Git tag
MOVABLE Git branch
OTHER OTHER is used to specify non-standard aliases, those not of the kinds above. For example, if a Git repo has a ref named "refs/foo/bar", it is considered to be of kind OTHER.

CloudWorkspaceSourceContext

A CloudWorkspaceSourceContext denotes a workspace at a particular snapshot.

JSON representation
{
  "workspaceId": {
    object (CloudWorkspaceId)
  },
  "snapshotId": string
}
Fields
workspaceId

object (CloudWorkspaceId)

The ID of the workspace.

snapshotId

string

The ID of the snapshot. An empty snapshotId refers to the most recent snapshot.

CloudWorkspaceId

A CloudWorkspaceId is a unique identifier for a cloud workspace. A cloud workspace is a place associated with a repo where modified files can be stored before they are committed.

JSON representation
{
  "repoId": {
    object (RepoId)
  },
  "name": string
}
Fields
repoId

object (RepoId)

The ID of the repo containing the workspace.

name

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.

GerritSourceContext

A SourceContext referring to a Gerrit project.

JSON representation
{
  "hostUri": string,
  "gerritProject": string,

  // Union field revision can be only one of the following:
  "revisionId": string,
  "aliasName": string,
  "aliasContext": {
    object (AliasContext)
  }
  // End of list of possible types for union field revision.
}
Fields
hostUri

string

The URI of a running Gerrit instance.

gerritProject

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.

Union field revision. A revision in a Gerrit project can be identified by either its revision ID or its alias. revision can be only one of the following:
revisionId

string

A revision (commit) ID.

aliasName
(deprecated)

string

The name of an alias (branch, tag, etc.).

aliasContext

object (AliasContext)

An alias, which may be a branch or tag.

GitSourceContext

A GitSourceContext denotes a particular revision in a third party Git repository (e.g. GitHub).

JSON representation
{
  "url": string,
  "revisionId": string
}
Fields
url

string

Git repository URL.

revisionId

string

Git commit hash. required.

ExtendedSourceContext

An ExtendedSourceContext is a SourceContext combined with additional details describing the context.

JSON representation
{
  "context": {
    object (SourceContext)
  },
  "labels": {
    string: string,
    ...
  }
}
Fields
context

object (SourceContext)

Any source context.

labels

map (key: string, value: string)

Labels with user defined metadata.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

CanaryMode

Canary mode

Enums
CANARY_MODE_UNSPECIFIED CANARY_MODE_UNSPECIFIED is equivalent to CANARY_MODE_ALWAYS_DISABLED so that if the debuggee is not configured to use the canary feature, the feature will be disabled.
CANARY_MODE_ALWAYS_ENABLED Always enable breakpoint canary regardless of the value of breakpoint's canary option.
CANARY_MODE_ALWAYS_DISABLED Always disable breakpoint canary regardless of the value of breakpoint's canary option.
CANARY_MODE_DEFAULT_ENABLED Depends on the breakpoint's canary option. Enable canary by default if the breakpoint's canary option is not specified.
CANARY_MODE_DEFAULT_DISABLED Depends on the breakpoint's canary option. Disable canary by default if the breakpoint's canary option is not specified.