Status: Experimental
The conventions described in this section are specific to Version Control Systems.
Disclaimer: These are initial VCS metrics and attributes but more may be added in the future.
This metric is recommended.
Attribute | Type | Description | Examples | Requirement Level | Stability |
---|---|---|---|---|---|
vcs.change.state |
string | The state of the change (pull request/merge request/changelist). | open ; closed ; merged |
Required |
|
vcs.repository.url.full |
string | The URL of the repository providing the complete address in order to locate and identify the repository. | https://github.com/opentelemetry/open-telemetry-collector-contrib ; https://gitlab.com/my-org/my-project/my-projects-project/repo |
Required |
vcs.change.state
has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.
This metric is recommended.
Name | Instrument Type | Unit (UCUM) | Description | Stability |
---|---|---|---|---|
vcs.change.duration |
Gauge | s |
The time duration a change (pull request/merge request/changelist) has been in a given state. |
Attribute | Type | Description | Examples | Requirement Level | Stability |
---|---|---|---|---|---|
vcs.change.state |
string | The state of the change (pull request/merge request/changelist). | open ; closed ; merged |
Required |
|
vcs.ref.head.name |
string | The name of the reference such as branch or tag in the repository. | my-feature-branch ; tag-1-test |
Required |
|
vcs.repository.url.full |
string | The URL of the repository providing the complete address in order to locate and identify the repository. | https://github.com/opentelemetry/open-telemetry-collector-contrib ; https://gitlab.com/my-org/my-project/my-projects-project/repo |
Required |
vcs.change.state
has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.
This metric is recommended.
Attribute | Type | Description | Examples | Requirement Level | Stability |
---|---|---|---|---|---|
vcs.ref.head.name |
string | The name of the reference such as branch or tag in the repository. | my-feature-branch ; tag-1-test |
Required |
|
vcs.repository.url.full |
string | The URL of the repository providing the complete address in order to locate and identify the repository. | https://github.com/opentelemetry/open-telemetry-collector-contrib ; https://gitlab.com/my-org/my-project/my-projects-project/repo |
Required |
This metric is recommended.
Name | Instrument Type | Unit (UCUM) | Description | Stability |
---|---|---|---|---|
vcs.repository.count |
UpDownCounter | {repository} |
The number of repositories in an organization |
This metric is recommended.
Name | Instrument Type | Unit (UCUM) | Description | Stability |
---|---|---|---|---|
vcs.ref.count |
UpDownCounter | {ref} |
The number of refs of type branch or tag in a repository |
Attribute | Type | Description | Examples | Requirement Level | Stability |
---|---|---|---|---|---|
vcs.ref.type |
string | The type of the reference in the repository. | branch ; tag |
Required |
|
vcs.repository.url.full |
string | The URL of the repository providing the complete address in order to locate and identify the repository. | https://github.com/opentelemetry/open-telemetry-collector-contrib ; https://gitlab.com/my-org/my-project/my-projects-project/repo |
Required |
vcs.ref.type
has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.
Value | Description | Stability |
---|---|---|
branch |
branch | |
tag |
tag |
This metric is recommended.
[1]: 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.
Attribute | Type | Description | Examples | Requirement Level | Stability |
---|---|---|---|---|---|
vcs.line_change.type |
string | The type of line change being measured on a branch or change. | added ; removed |
Required |
|
vcs.ref.base.name |
string | The name of the reference such as branch or tag in the repository. | my-feature-branch ; tag-1-test |
Required |
|
vcs.ref.base.type |
string | The type of the reference in the repository. | branch ; tag |
Required |
|
vcs.ref.head.name |
string | The name of the reference such as branch or tag in the repository. | my-feature-branch ; tag-1-test |
Required |
|
vcs.ref.head.type |
string | The type of the reference in the repository. | branch ; tag |
Required |
|
vcs.repository.url.full |
string | The URL of the repository providing the complete address in order to locate and identify the repository. | https://github.com/opentelemetry/open-telemetry-collector-contrib ; https://gitlab.com/my-org/my-project/my-projects-project/repo |
Required |
|
vcs.change.id |
string | 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. | 123 |
Conditionally Required if a change is associate with the ref. |
vcs.line_change.type
has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.
Value | Description | Stability |
---|---|---|
added |
How many lines were added. | |
removed |
How many lines were removed. |
vcs.ref.base.type
has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.
Value | Description | Stability |
---|---|---|
branch |
branch | |
tag |
tag |
vcs.ref.head.type
has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.
Value | Description | Stability |
---|---|---|
branch |
branch | |
tag |
tag |
This metric is recommended.
[1]: 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
.
Attribute | Type | Description | Examples | Requirement Level | Stability |
---|---|---|---|---|---|
vcs.ref.base.name |
string | The name of the reference such as branch or tag in the repository. | my-feature-branch ; tag-1-test |
Required |
|
vcs.ref.base.type |
string | The type of the reference in the repository. | branch ; tag |
Required |
|
vcs.ref.head.name |
string | The name of the reference such as branch or tag in the repository. | my-feature-branch ; tag-1-test |
Required |
|
vcs.ref.head.type |
string | The type of the reference in the repository. | branch ; tag |
Required |
|
vcs.repository.url.full |
string | The URL of the repository providing the complete address in order to locate and identify the repository. | https://github.com/opentelemetry/open-telemetry-collector-contrib ; https://gitlab.com/my-org/my-project/my-projects-project/repo |
Required |
|
vcs.revision_delta.direction |
string | The type of revision comparison. | ahead ; behind |
Required |
|
vcs.change.id |
string | 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. | 123 |
Conditionally Required if a change is associate with the ref. |
vcs.ref.base.type
has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.
Value | Description | Stability |
---|---|---|
branch |
branch | |
tag |
tag |
vcs.ref.head.type
has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.
Value | Description | Stability |
---|---|---|
branch |
branch | |
tag |
tag |
vcs.revision_delta.direction
has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.
Value | Description | Stability |
---|---|---|
ahead |
How many revisions the change is ahead of the target ref. | |
behind |
How many revisions the change is behind the target ref. |
This metric is recommended.
Name | Instrument Type | Unit (UCUM) | Description | Stability |
---|---|---|---|---|
vcs.ref.time |
Gauge | s |
Time a ref (branch) created from the default branch (trunk) has existed. The ref.type attribute will always be branch |
Attribute | Type | Description | Examples | Requirement Level | Stability |
---|---|---|---|---|---|
vcs.ref.head.name |
string | The name of the reference such as branch or tag in the repository. | my-feature-branch ; tag-1-test |
Required |
|
vcs.ref.head.type |
string | The type of the reference in the repository. | branch ; tag |
Required |
|
vcs.repository.url.full |
string | The URL of the repository providing the complete address in order to locate and identify the repository. | https://github.com/opentelemetry/open-telemetry-collector-contrib ; https://gitlab.com/my-org/my-project/my-projects-project/repo |
Required |
vcs.ref.head.type
has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.
Value | Description | Stability |
---|---|---|
branch |
branch | |
tag |
tag |
This metric is opt-in.
Name | Instrument Type | Unit (UCUM) | Description | Stability |
---|---|---|---|---|
vcs.contributor.count |
Gauge | {contributor} |
The number of unique contributors to a repository |
Attribute | Type | Description | Examples | Requirement Level | Stability |
---|---|---|---|---|---|
vcs.repository.url.full |
string | The URL of the repository providing the complete address in order to locate and identify the repository. | https://github.com/opentelemetry/open-telemetry-collector-contrib ; https://gitlab.com/my-org/my-project/my-projects-project/repo |
Required |