Debuggee

Represents the application to debug. 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. The agents attached to the same debuggee are identified by using exactly the same field values 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,
    ...
  },
}
Fields
id

string

Unique identifier for the debuggee generated by the controller service.

project

string

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

uniquifier

string

Debuggee uniquifier within the project. Any string that identifies the application within the project can be used. Including environment and version or build IDs is recommended.

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 the debuggee is considered as inactive by the Controller service.

agentVersion

string

Version ID of the agent release. The version ID is structured as following: domain/type/vmajor.minor (for example google.com/gcp-java/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.

NOTE: This field is deprecated. Consumers should use extSourceContexts if it is not empty. Debug agents should populate both this field and extSourceContexts.

extSourceContexts[]

object(ExtendedSourceContext)

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

Contexts describing a remote repo related to the source code have a category label of remote_repo. Source snapshot source contexts have a category of snapshot.

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" }.

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" }.

Send feedback about...

Stackdriver Debugger