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,
    ...
  },
}
Field name Type Description
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.
}
Field name Type Description
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.
}
Field name Type Description
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.
}
Field name Type Description
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,
}
Field name Type Description
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,
}
Field name Type Description
kind enum(Kind) The alias kind.
name string The alias name.

Kind

The type of an Alias.

Enum value Description
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,
}
Field name Type Description
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,
}
Field name Type Description
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.
}
Field name Type Description
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,
}
Field name Type Description
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,
    ...
  },
}
Field name Type Description
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 Documentation