Module: OpenTelemetry::SemConv::Incubating::VCS

Defined in:
lib/opentelemetry/semconv/incubating/vcs/metrics.rb,
lib/opentelemetry/semconv/incubating/vcs/attributes.rb

Metrics Names collapse

VCS_CHANGE_COUNT =
Note:

Stability Level: development

The number of changes (pull requests/merge requests/changelists) in a repository, categorized by their state (e.g. open or merged)

'vcs.change.count'
VCS_CHANGE_DURATION =
Note:

Stability Level: development

The time duration a change (pull request/merge request/changelist) has been in a given state.

'vcs.change.duration'
VCS_CHANGE_TIME_TO_APPROVAL =
Note:

Stability Level: development

The amount of time since its creation it took a change (pull request/merge request/changelist) to get the first approval.

'vcs.change.time_to_approval'
VCS_CHANGE_TIME_TO_MERGE =
Note:

Stability Level: development

The amount of time since its creation it took a change (pull request/merge request/changelist) to get merged into the target(base) ref.

'vcs.change.time_to_merge'
VCS_CONTRIBUTOR_COUNT =
Note:

Stability Level: development

The number of unique contributors to a repository

'vcs.contributor.count'
VCS_REF_COUNT =
Note:

Stability Level: development

The number of refs of type branch or tag in a repository.

'vcs.ref.count'
VCS_REF_LINES_DELTA =
Note:

Stability Level: development

The number of lines added/removed in a ref (branch) relative to the ref from the vcs.ref.base.name attribute.

This metric should be reported for each vcs.line_change.type value. For example if a ref added 3 lines and removed 2 lines, instrumentation SHOULD report two measurements: 3 and 2 (both positive numbers). If number of lines added/removed should be calculated from the start of time, then vcs.ref.base.name SHOULD be set to an empty string.

'vcs.ref.lines_delta'
VCS_REF_REVISIONS_DELTA =
Note:

Stability Level: development

The number of revisions (commits) a ref (branch) is ahead/behind the branch from the vcs.ref.base.name attribute

This metric should be reported for each vcs.revision_delta.direction value. For example if branch a is 3 commits behind and 2 commits ahead of trunk, instrumentation SHOULD report two measurements: 3 and 2 (both positive numbers) and vcs.ref.base.name is set to trunk.

'vcs.ref.revisions_delta'
VCS_REF_TIME =
Note:

Stability Level: development

Time a ref (branch) created from the default branch (trunk) has existed. The ref.type attribute will always be branch

'vcs.ref.time'
VCS_REPOSITORY_COUNT =
Note:

Stability Level: development

The number of repositories in an organization.

'vcs.repository.count'

Attribute Names collapse

VCS_CHANGE_ID =
Note:

Stability Level: development

The ID of the change (pull request/merge request/changelist) if applicable. This is usually a unique (within repository) identifier generated by the VCS system.

Examples:

Sample Values

123
'vcs.change.id'
VCS_CHANGE_STATE =
Note:

Stability Level: development

The state of the change (pull request/merge request/changelist).

Examples:

Sample Values

open
closed
merged
'vcs.change.state'
VCS_CHANGE_TITLE =
Note:

Stability Level: development

The human readable title of the change (pull request/merge request/changelist). This title is often a brief summary of the change and may get merged in to a ref as the commit summary.

Examples:

Sample Values

Fixes broken thing
feat: add my new feature
[chore] update dependency
'vcs.change.title'
VCS_LINE_CHANGE_TYPE =
Note:

Stability Level: development

The type of line change being measured on a branch or change.

Examples:

Sample Values

added
removed
'vcs.line_change.type'
VCS_OWNER_NAME =
Note:

Stability Level: development

The group owner within the version control system.

Examples:

Sample Values

my-org
myteam
business-unit
'vcs.owner.name'
VCS_PROVIDER_NAME =
Note:

Stability Level: development

The name of the version control system provider.

Examples:

Sample Values

github
gitlab
gitea
bitbucket
'vcs.provider.name'
VCS_REF_BASE_NAME =
Note:

Stability Level: development

The name of the reference such as branch or tag in the repository.

base refers to the starting point of a change. For example, main would be the base reference of type branch if you’ve created a new reference of type branch from it and created new commits.

Examples:

Sample Values

my-feature-branch
tag-1-test
'vcs.ref.base.name'
VCS_REF_BASE_REVISION =
Note:

Stability Level: development

The revision, literally revised version, The revision most often refers to a commit object in Git, or a revision number in SVN.

base refers to the starting point of a change. For example, main would be the base reference of type branch if you’ve created a new reference of type branch from it and created new commits. The revision can be a full hash value (see glossary), of the recorded change to a ref within a repository pointing to a commit commit object. It does not necessarily have to be a hash; it can simply define a revision number which is an integer that is monotonically increasing. In cases where it is identical to the ref.base.name, it SHOULD still be included. It is up to the implementer to decide which value to set as the revision based on the VCS system and situational context.

Examples:

Sample Values

9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc
main
123
HEAD
'vcs.ref.base.revision'
VCS_REF_BASE_TYPE =
Note:

Stability Level: development

The type of the reference in the repository.

base refers to the starting point of a change. For example, main would be the base reference of type branch if you’ve created a new reference of type branch from it and created new commits.

Examples:

Sample Values

branch
tag
'vcs.ref.base.type'
VCS_REF_HEAD_NAME =
Note:

Stability Level: development

The name of the reference such as branch or tag in the repository.

head refers to where you are right now; the current reference at a given time.

Examples:

Sample Values

my-feature-branch
tag-1-test
'vcs.ref.head.name'
VCS_REF_HEAD_REVISION =
Note:

Stability Level: development

The revision, literally revised version, The revision most often refers to a commit object in Git, or a revision number in SVN.

head refers to where you are right now; the current reference at a given time.The revision can be a full hash value (see glossary), of the recorded change to a ref within a repository pointing to a commit commit object. It does not necessarily have to be a hash; it can simply define a revision number which is an integer that is monotonically increasing. In cases where it is identical to the ref.head.name, it SHOULD still be included. It is up to the implementer to decide which value to set as the revision based on the VCS system and situational context.

Examples:

Sample Values

9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc
main
123
HEAD
'vcs.ref.head.revision'
VCS_REF_HEAD_TYPE =
Note:

Stability Level: development

The type of the reference in the repository.

head refers to where you are right now; the current reference at a given time.

Examples:

Sample Values

branch
tag
'vcs.ref.head.type'
VCS_REF_TYPE =
Note:

Stability Level: development

The type of the reference in the repository.

Examples:

Sample Values

branch
tag
'vcs.ref.type'
VCS_REPOSITORY_CHANGE_ID =
Deprecated.

“Replaced by vcs.change.id.”, “reason”: “renamed”, “renamed_to”: “vcs.change.id”

Note:

Stability Level: development

Deprecated, use vcs.change.id instead.

Examples:

Sample Values

123
'vcs.repository.change.id'
VCS_REPOSITORY_CHANGE_TITLE =
Deprecated.

“Replaced by vcs.change.title.”, “reason”: “renamed”, “renamed_to”: “vcs.change.title”

Note:

Stability Level: development

Deprecated, use vcs.change.title instead.

Examples:

Sample Values

Fixes broken thing
feat: add my new feature
[chore] update dependency
'vcs.repository.change.title'
VCS_REPOSITORY_NAME =
Note:

Stability Level: development

The human readable name of the repository. It SHOULD NOT include any additional identifier like Group/SubGroup in GitLab or organization in GitHub.

Due to it only being the name, it can clash with forks of the same repository if collecting telemetry across multiple orgs or groups in the same backends.

Examples:

Sample Values

semantic-conventions
my-cool-repo
'vcs.repository.name'
VCS_REPOSITORY_REF_NAME =
Deprecated.

“Replaced by vcs.ref.head.name.”, “reason”: “renamed”, “renamed_to”: “vcs.ref.head.name”

Note:

Stability Level: development

Deprecated, use vcs.ref.head.name instead.

Examples:

Sample Values

my-feature-branch
tag-1-test
'vcs.repository.ref.name'
VCS_REPOSITORY_REF_REVISION =
Deprecated.

“Replaced by vcs.ref.head.revision.”, “reason”: “renamed”, “renamed_to”: “vcs.ref.head.revision”

Note:

Stability Level: development

Deprecated, use vcs.ref.head.revision instead.

Examples:

Sample Values

9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc
main
123
HEAD
'vcs.repository.ref.revision'
VCS_REPOSITORY_REF_TYPE =
Deprecated.

“Replaced by vcs.ref.head.type.”, “reason”: “renamed”, “renamed_to”: “vcs.ref.head.type”

Note:

Stability Level: development

Deprecated, use vcs.ref.head.type instead.

Examples:

Sample Values

branch
tag
'vcs.repository.ref.type'
VCS_REPOSITORY_URL_FULL =
Note:

Stability Level: development

The canonical URL of the repository providing the complete HTTP(S) address in order to locate and identify the repository through a browser.

In Git Version Control Systems, the canonical URL SHOULD NOT include the .git extension.

Examples:

Sample Values

https://github.com/opentelemetry/open-telemetry-collector-contrib
https://gitlab.com/my-org/my-project/my-projects-project/repo
'vcs.repository.url.full'
VCS_REVISION_DELTA_DIRECTION =
Note:

Stability Level: development

The type of revision comparison.

Examples:

Sample Values

ahead
behind
'vcs.revision_delta.direction'