From cea4e0d2481184a8fd1412c0443de6436b09da02 Mon Sep 17 00:00:00 2001
From: Afonso Fernandes <21228942+afonsonf@users.noreply.github.com>
Date: Sun, 16 Mar 2025 13:09:05 +0000
Subject: [PATCH 1/4] [vcs] add organization and vendor name VCS attributes
Signed-off-by: Afonso Fernandes <21228942+afonsonf@users.noreply.github.com>
---
.chloggen/1452-vcs-metrics.yaml | 22 ++++++++++++++++++++
docs/attributes-registry/vcs.md | 2 ++
docs/cicd/cicd-metrics.md | 18 +++++++++++++++++
model/vcs/metrics.yaml | 36 +++++++++++++++++++++++++++++++++
model/vcs/registry.yaml | 20 ++++++++++++++++++
5 files changed, 98 insertions(+)
create mode 100644 .chloggen/1452-vcs-metrics.yaml
diff --git a/.chloggen/1452-vcs-metrics.yaml b/.chloggen/1452-vcs-metrics.yaml
new file mode 100644
index 0000000000..7f4304c071
--- /dev/null
+++ b/.chloggen/1452-vcs-metrics.yaml
@@ -0,0 +1,22 @@
+# Use this changelog template to create an entry for release notes.
+#
+# If your change doesn't affect end users you should instead start
+# your pull request title with [chore] or use the "Skip Changelog" label.
+
+# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
+change_type: enhancement
+
+# The name of the area of concern in the attributes-registry, (e.g. http, cloud, db)
+component: vcs
+
+# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
+note: Add organization and vendor name to VCS attribute list
+
+# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists.
+# The values here must be integers.
+issues: [1452]
+
+# (Optional) One or more lines of additional information to render under the primary note.
+# These lines will be padded with 2 spaces and then inserted directly into the document.
+# Use pipe (|) for multiline entries.
+subtext:
diff --git a/docs/attributes-registry/vcs.md b/docs/attributes-registry/vcs.md
index 2bb6acbe92..f78b10e2c9 100644
--- a/docs/attributes-registry/vcs.md
+++ b/docs/attributes-registry/vcs.md
@@ -26,6 +26,8 @@ This group defines the attributes for [Version Control Systems (VCS)](https://wi
| `vcs.repository.name` | string | The human readable name of the repository. It SHOULD NOT include any additional identifier like Group/SubGroup in GitLab or organization in GitHub. [7] | `semantic-conventions`; `my-cool-repo` |  |
| `vcs.repository.url.full` | string | The [canonical URL](https://support.google.com/webmasters/answer/10347851?hl=en#:~:text=A%20canonical%20URL%20is%20the,Google%20chooses%20one%20as%20canonical.) of the repository providing the complete HTTP(S) address in order to locate and identify the repository through a browser. [8] | `https://github.com/opentelemetry/open-telemetry-collector-contrib`; `https://gitlab.com/my-org/my-project/my-projects-project/repo` |  |
| `vcs.revision_delta.direction` | string | The type of revision comparison. | `ahead`; `behind` |  |
+| `vcs.owner.name` | string | The group owner within the version control system. | `my-org`; `myteam` |  |
+| `vcs.vendor.name` | string | The vendor name of the version control system. | `github`; `gitlab` |  |
**[1] `vcs.ref.base.name`:** `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
diff --git a/docs/cicd/cicd-metrics.md b/docs/cicd/cicd-metrics.md
index 4e46a6af71..c5e53cedd1 100644
--- a/docs/cicd/cicd-metrics.md
+++ b/docs/cicd/cicd-metrics.md
@@ -324,6 +324,8 @@ This metric is [recommended][MetricRecommended].
| [`vcs.change.state`](/docs/attributes-registry/vcs.md) | string | The state of the change (pull request/merge request/changelist). | `open`; `closed`; `merged` | `Required` |  |
| [`vcs.repository.url.full`](/docs/attributes-registry/vcs.md) | string | The [canonical URL](https://support.google.com/webmasters/answer/10347851?hl=en#:~:text=A%20canonical%20URL%20is%20the,Google%20chooses%20one%20as%20canonical.) of the repository providing the complete HTTP(S) address in order to locate and identify the repository through a browser. [1] | `https://github.com/opentelemetry/open-telemetry-collector-contrib`; `https://gitlab.com/my-org/my-project/my-projects-project/repo` | `Required` |  |
| [`vcs.repository.name`](/docs/attributes-registry/vcs.md) | string | The human readable name of the repository. It SHOULD NOT include any additional identifier like Group/SubGroup in GitLab or organization in GitHub. [2] | `semantic-conventions`; `my-cool-repo` | `Recommended` |  |
+| [`vcs.owner.name`](/docs/attributes-registry/vcs.md) | string | The group owner within the version control system. | `my-org`; `myteam` | `Recommended` |  |
+| [`vcs.vendor.name`](/docs/attributes-registry/vcs.md) | string | The vendor name of the version control system. | `github`; `gitlab` | `Recommended` |  |
**[1] `vcs.repository.url.full`:** In Git Version Control Systems, the canonical URL SHOULD NOT include
the `.git` extension.
@@ -369,6 +371,8 @@ This metric is [recommended][MetricRecommended].
| [`vcs.ref.head.name`](/docs/attributes-registry/vcs.md) | string | The name of the [reference](https://git-scm.com/docs/gitglossary#def_ref) such as **branch** or **tag** in the repository. [1] | `my-feature-branch`; `tag-1-test` | `Required` |  |
| [`vcs.repository.url.full`](/docs/attributes-registry/vcs.md) | string | The [canonical URL](https://support.google.com/webmasters/answer/10347851?hl=en#:~:text=A%20canonical%20URL%20is%20the,Google%20chooses%20one%20as%20canonical.) of the repository providing the complete HTTP(S) address in order to locate and identify the repository through a browser. [2] | `https://github.com/opentelemetry/open-telemetry-collector-contrib`; `https://gitlab.com/my-org/my-project/my-projects-project/repo` | `Required` |  |
| [`vcs.repository.name`](/docs/attributes-registry/vcs.md) | string | The human readable name of the repository. It SHOULD NOT include any additional identifier like Group/SubGroup in GitLab or organization in GitHub. [3] | `semantic-conventions`; `my-cool-repo` | `Recommended` |  |
+| [`vcs.owner.name`](/docs/attributes-registry/vcs.md) | string | The group owner within the version control system. | `my-org`; `myteam` | `Recommended` |  |
+| [`vcs.vendor.name`](/docs/attributes-registry/vcs.md) | string | The vendor name of the version control system. | `github`; `gitlab` | `Recommended` |  |
**[1] `vcs.ref.head.name`:** `head` refers to where you are right now; the current reference at a
given time.
@@ -419,6 +423,8 @@ This metric is [recommended][MetricRecommended].
| [`vcs.repository.name`](/docs/attributes-registry/vcs.md) | string | The human readable name of the repository. It SHOULD NOT include any additional identifier like Group/SubGroup in GitLab or organization in GitHub. [4] | `semantic-conventions`; `my-cool-repo` | `Recommended` |  |
| [`vcs.ref.base.revision`](/docs/attributes-registry/vcs.md) | string | The revision, literally [revised version](https://www.merriam-webster.com/dictionary/revision), The revision most often refers to a commit object in Git, or a revision number in SVN. [5] | `9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc`; `main`; `123`; `HEAD` | `Opt-In` |  |
| [`vcs.ref.head.revision`](/docs/attributes-registry/vcs.md) | string | The revision, literally [revised version](https://www.merriam-webster.com/dictionary/revision), The revision most often refers to a commit object in Git, or a revision number in SVN. [6] | `9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc`; `main`; `123`; `HEAD` | `Opt-In` |  |
+| [`vcs.owner.name`](/docs/attributes-registry/vcs.md) | string | The group owner within the version control system. | `my-org`; `myteam` | `Recommended` |  |
+| [`vcs.vendor.name`](/docs/attributes-registry/vcs.md) | string | The vendor name of the version control system. | `github`; `gitlab` | `Recommended` |  |
**[1] `vcs.ref.head.name`:** `head` refers to where you are right now; the current reference at a
given time.
@@ -488,6 +494,8 @@ This metric is [recommended][MetricRecommended].
| [`vcs.repository.name`](/docs/attributes-registry/vcs.md) | string | The human readable name of the repository. It SHOULD NOT include any additional identifier like Group/SubGroup in GitLab or organization in GitHub. [4] | `semantic-conventions`; `my-cool-repo` | `Recommended` |  |
| [`vcs.ref.base.revision`](/docs/attributes-registry/vcs.md) | string | The revision, literally [revised version](https://www.merriam-webster.com/dictionary/revision), The revision most often refers to a commit object in Git, or a revision number in SVN. [5] | `9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc`; `main`; `123`; `HEAD` | `Opt-In` |  |
| [`vcs.ref.head.revision`](/docs/attributes-registry/vcs.md) | string | The revision, literally [revised version](https://www.merriam-webster.com/dictionary/revision), The revision most often refers to a commit object in Git, or a revision number in SVN. [6] | `9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc`; `main`; `123`; `HEAD` | `Opt-In` |  |
+| [`vcs.owner.name`](/docs/attributes-registry/vcs.md) | string | The group owner within the version control system. | `my-org`; `myteam` | `Recommended` |  |
+| [`vcs.vendor.name`](/docs/attributes-registry/vcs.md) | string | The vendor name of the version control system. | `github`; `gitlab` | `Recommended` |  |
**[1] `vcs.ref.head.name`:** `head` refers to where you are right now; the current reference at a
given time.
@@ -574,6 +582,8 @@ This metric is [recommended][MetricRecommended].
| [`vcs.ref.type`](/docs/attributes-registry/vcs.md) | string | The type of the [reference](https://git-scm.com/docs/gitglossary#def_ref) in the repository. | `branch`; `tag` | `Required` |  |
| [`vcs.repository.url.full`](/docs/attributes-registry/vcs.md) | string | The [canonical URL](https://support.google.com/webmasters/answer/10347851?hl=en#:~:text=A%20canonical%20URL%20is%20the,Google%20chooses%20one%20as%20canonical.) of the repository providing the complete HTTP(S) address in order to locate and identify the repository through a browser. [1] | `https://github.com/opentelemetry/open-telemetry-collector-contrib`; `https://gitlab.com/my-org/my-project/my-projects-project/repo` | `Required` |  |
| [`vcs.repository.name`](/docs/attributes-registry/vcs.md) | string | The human readable name of the repository. It SHOULD NOT include any additional identifier like Group/SubGroup in GitLab or organization in GitHub. [2] | `semantic-conventions`; `my-cool-repo` | `Recommended` |  |
+| [`vcs.owner.name`](/docs/attributes-registry/vcs.md) | string | The group owner within the version control system. | `my-org`; `myteam` | `Recommended` |  |
+| [`vcs.vendor.name`](/docs/attributes-registry/vcs.md) | string | The vendor name of the version control system. | `github`; `gitlab` | `Recommended` |  |
**[1] `vcs.repository.url.full`:** In Git Version Control Systems, the canonical URL SHOULD NOT include
the `.git` extension.
@@ -625,6 +635,8 @@ If number of lines added/removed should be calculated from the start of time, th
| [`vcs.repository.url.full`](/docs/attributes-registry/vcs.md) | string | The [canonical URL](https://support.google.com/webmasters/answer/10347851?hl=en#:~:text=A%20canonical%20URL%20is%20the,Google%20chooses%20one%20as%20canonical.) of the repository providing the complete HTTP(S) address in order to locate and identify the repository through a browser. [5] | `https://github.com/opentelemetry/open-telemetry-collector-contrib`; `https://gitlab.com/my-org/my-project/my-projects-project/repo` | `Required` |  |
| [`vcs.change.id`](/docs/attributes-registry/vcs.md) | 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.repository.name`](/docs/attributes-registry/vcs.md) | string | The human readable name of the repository. It SHOULD NOT include any additional identifier like Group/SubGroup in GitLab or organization in GitHub. [6] | `semantic-conventions`; `my-cool-repo` | `Recommended` |  |
+| [`vcs.owner.name`](/docs/attributes-registry/vcs.md) | string | The group owner within the version control system. | `my-org`; `myteam` | `Recommended` |  |
+| [`vcs.vendor.name`](/docs/attributes-registry/vcs.md) | string | The vendor name of the version control system. | `github`; `gitlab` | `Recommended` |  |
**[1] `vcs.ref.base.name`:** `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
@@ -707,6 +719,8 @@ instrumentation SHOULD report two measurements: 3 and 2 (both positive numbers)
| [`vcs.revision_delta.direction`](/docs/attributes-registry/vcs.md) | string | The type of revision comparison. | `ahead`; `behind` | `Required` |  |
| [`vcs.change.id`](/docs/attributes-registry/vcs.md) | 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.repository.name`](/docs/attributes-registry/vcs.md) | string | The human readable name of the repository. It SHOULD NOT include any additional identifier like Group/SubGroup in GitLab or organization in GitHub. [6] | `semantic-conventions`; `my-cool-repo` | `Recommended` |  |
+| [`vcs.owner.name`](/docs/attributes-registry/vcs.md) | string | The group owner within the version control system. | `my-org`; `myteam` | `Recommended` |  |
+| [`vcs.vendor.name`](/docs/attributes-registry/vcs.md) | string | The vendor name of the version control system. | `github`; `gitlab` | `Recommended` |  |
**[1] `vcs.ref.base.name`:** `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
@@ -782,6 +796,8 @@ This metric is [recommended][MetricRecommended].
| [`vcs.ref.head.type`](/docs/attributes-registry/vcs.md) | string | The type of the [reference](https://git-scm.com/docs/gitglossary#def_ref) in the repository. [2] | `branch`; `tag` | `Required` |  |
| [`vcs.repository.url.full`](/docs/attributes-registry/vcs.md) | string | The [canonical URL](https://support.google.com/webmasters/answer/10347851?hl=en#:~:text=A%20canonical%20URL%20is%20the,Google%20chooses%20one%20as%20canonical.) of the repository providing the complete HTTP(S) address in order to locate and identify the repository through a browser. [3] | `https://github.com/opentelemetry/open-telemetry-collector-contrib`; `https://gitlab.com/my-org/my-project/my-projects-project/repo` | `Required` |  |
| [`vcs.repository.name`](/docs/attributes-registry/vcs.md) | string | The human readable name of the repository. It SHOULD NOT include any additional identifier like Group/SubGroup in GitLab or organization in GitHub. [4] | `semantic-conventions`; `my-cool-repo` | `Recommended` |  |
+| [`vcs.owner.name`](/docs/attributes-registry/vcs.md) | string | The group owner within the version control system. | `my-org`; `myteam` | `Recommended` |  |
+| [`vcs.vendor.name`](/docs/attributes-registry/vcs.md) | string | The vendor name of the version control system. | `github`; `gitlab` | `Recommended` |  |
**[1] `vcs.ref.head.name`:** `head` refers to where you are right now; the current reference at a
given time.
@@ -829,6 +845,8 @@ This metric is [opt-in][MetricOptIn].
|---|---|---|---|---|---|
| [`vcs.repository.url.full`](/docs/attributes-registry/vcs.md) | string | The [canonical URL](https://support.google.com/webmasters/answer/10347851?hl=en#:~:text=A%20canonical%20URL%20is%20the,Google%20chooses%20one%20as%20canonical.) of the repository providing the complete HTTP(S) address in order to locate and identify the repository through a browser. [1] | `https://github.com/opentelemetry/open-telemetry-collector-contrib`; `https://gitlab.com/my-org/my-project/my-projects-project/repo` | `Required` |  |
| [`vcs.repository.name`](/docs/attributes-registry/vcs.md) | string | The human readable name of the repository. It SHOULD NOT include any additional identifier like Group/SubGroup in GitLab or organization in GitHub. [2] | `semantic-conventions`; `my-cool-repo` | `Recommended` |  |
+| [`vcs.owner.name`](/docs/attributes-registry/vcs.md) | string | The group owner within the version control system. | `my-org`; `myteam` | `Recommended` |  |
+| [`vcs.vendor.name`](/docs/attributes-registry/vcs.md) | string | The vendor name of the version control system. | `github`; `gitlab` | `Recommended` |  |
**[1] `vcs.repository.url.full`:** In Git Version Control Systems, the canonical URL SHOULD NOT include
the `.git` extension.
diff --git a/model/vcs/metrics.yaml b/model/vcs/metrics.yaml
index bec7f48fde..cb465ac899 100644
--- a/model/vcs/metrics.yaml
+++ b/model/vcs/metrics.yaml
@@ -13,6 +13,10 @@ groups:
requirement_level: required
- ref: vcs.repository.name
requirement_level: recommended
+ - ref: vcs.owner.name
+ requirement_level: recommended
+ - ref: vcs.vendor.name
+ requirement_level: recommended
- id: metric.vcs.change.duration
type: metric
metric_name: vcs.change.duration
@@ -29,6 +33,10 @@ groups:
requirement_level: required
- ref: vcs.change.state
requirement_level: required
+ - ref: vcs.owner.name
+ requirement_level: recommended
+ - ref: vcs.vendor.name
+ requirement_level: recommended
- id: metric.vcs.change.time_to_approval
type: metric
metric_name: vcs.change.time_to_approval
@@ -49,6 +57,10 @@ groups:
requirement_level: recommended
- ref: vcs.ref.base.revision
requirement_level: opt_in
+ - ref: vcs.owner.name
+ requirement_level: recommended
+ - ref: vcs.vendor.name
+ requirement_level: recommended
- id: metric.vcs.change.time_to_merge
type: metric
metric_name: vcs.change.time_to_merge
@@ -69,6 +81,10 @@ groups:
requirement_level: recommended
- ref: vcs.ref.base.revision
requirement_level: opt_in
+ - ref: vcs.owner.name
+ requirement_level: recommended
+ - ref: vcs.vendor.name
+ requirement_level: recommended
- id: metric.vcs.repository.count
type: metric
metric_name: vcs.repository.count
@@ -91,6 +107,10 @@ groups:
requirement_level: recommended
- ref: vcs.ref.type
requirement_level: required
+ - ref: vcs.owner.name
+ requirement_level: recommended
+ - ref: vcs.vendor.name
+ requirement_level: recommended
- id: metric.vcs.ref.lines_delta
type: metric
metric_name: vcs.ref.lines_delta
@@ -120,6 +140,10 @@ groups:
requirement_level: required
- ref: vcs.line_change.type
requirement_level: required
+ - ref: vcs.owner.name
+ requirement_level: recommended
+ - ref: vcs.vendor.name
+ requirement_level: recommended
- id: metric.vcs.ref.revisions_delta
type: metric
metric_name: vcs.ref.revisions_delta
@@ -148,6 +172,10 @@ groups:
requirement_level: required
- ref: vcs.revision_delta.direction
requirement_level: required
+ - ref: vcs.owner.name
+ requirement_level: recommended
+ - ref: vcs.vendor.name
+ requirement_level: recommended
- id: metric.vcs.ref.time
type: metric
metric_name: vcs.ref.time
@@ -164,6 +192,10 @@ groups:
requirement_level: required
- ref: vcs.ref.head.type
requirement_level: required
+ - ref: vcs.owner.name
+ requirement_level: recommended
+ - ref: vcs.vendor.name
+ requirement_level: recommended
- id: metric.vcs.contributor.count
type: metric
metric_name: vcs.contributor.count
@@ -176,3 +208,7 @@ groups:
requirement_level: required
- ref: vcs.repository.name
requirement_level: recommended
+ - ref: vcs.owner.name
+ requirement_level: recommended
+ - ref: vcs.vendor.name
+ requirement_level: recommended
diff --git a/model/vcs/registry.yaml b/model/vcs/registry.yaml
index 476b2746f9..db2c39fe69 100644
--- a/model/vcs/registry.yaml
+++ b/model/vcs/registry.yaml
@@ -239,3 +239,23 @@ groups:
brief: >
The state of the change (pull request/merge request/changelist).
examples: ["open", "closed", "merged"]
+ - id: vcs.owner.name
+ type: string
+ stability: development
+ brief: >
+ The group owner within the version control system.
+ examples:
+ [
+ "my-org",
+ "myteam",
+ ]
+ - id: vcs.vendor.name
+ type: string
+ stability: development
+ brief: >
+ The vendor name of the version control system.
+ examples:
+ [
+ "github",
+ "gitlab",
+ ]
From 3b78025f66fa28e7a3856fc40decb6170aa455e5 Mon Sep 17 00:00:00 2001
From: Afonso Fernandes <21228942+afonsonf@users.noreply.github.com>
Date: Mon, 17 Mar 2025 22:04:21 +0000
Subject: [PATCH 2/4] fix: pipeline checks
Signed-off-by: Afonso Fernandes <21228942+afonsonf@users.noreply.github.com>
---
docs/attributes-registry/vcs.md | 2 +-
docs/cicd/cicd-metrics.md | 22 +++++++++++-----------
model/vcs/registry.yaml | 2 +-
3 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/docs/attributes-registry/vcs.md b/docs/attributes-registry/vcs.md
index f78b10e2c9..bff2e82516 100644
--- a/docs/attributes-registry/vcs.md
+++ b/docs/attributes-registry/vcs.md
@@ -16,6 +16,7 @@ This group defines the attributes for [Version Control Systems (VCS)](https://wi
| `vcs.change.state` | string | The state of the change (pull request/merge request/changelist). | `open`; `closed`; `merged` |  |
| `vcs.change.title` | string | 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. | `Fixes broken thing`; `feat: add my new feature`; `[chore] update dependency` |  |
| `vcs.line_change.type` | string | The type of line change being measured on a branch or change. | `added`; `removed` |  |
+| `vcs.owner.name` | string | The group owner within the version control system. | `my-org`; `myteam` |  |
| `vcs.ref.base.name` | string | The name of the [reference](https://git-scm.com/docs/gitglossary#def_ref) such as **branch** or **tag** in the repository. [1] | `my-feature-branch`; `tag-1-test` |  |
| `vcs.ref.base.revision` | string | The revision, literally [revised version](https://www.merriam-webster.com/dictionary/revision), The revision most often refers to a commit object in Git, or a revision number in SVN. [2] | `9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc`; `main`; `123`; `HEAD` |  |
| `vcs.ref.base.type` | string | The type of the [reference](https://git-scm.com/docs/gitglossary#def_ref) in the repository. [3] | `branch`; `tag` |  |
@@ -26,7 +27,6 @@ This group defines the attributes for [Version Control Systems (VCS)](https://wi
| `vcs.repository.name` | string | The human readable name of the repository. It SHOULD NOT include any additional identifier like Group/SubGroup in GitLab or organization in GitHub. [7] | `semantic-conventions`; `my-cool-repo` |  |
| `vcs.repository.url.full` | string | The [canonical URL](https://support.google.com/webmasters/answer/10347851?hl=en#:~:text=A%20canonical%20URL%20is%20the,Google%20chooses%20one%20as%20canonical.) of the repository providing the complete HTTP(S) address in order to locate and identify the repository through a browser. [8] | `https://github.com/opentelemetry/open-telemetry-collector-contrib`; `https://gitlab.com/my-org/my-project/my-projects-project/repo` |  |
| `vcs.revision_delta.direction` | string | The type of revision comparison. | `ahead`; `behind` |  |
-| `vcs.owner.name` | string | The group owner within the version control system. | `my-org`; `myteam` |  |
| `vcs.vendor.name` | string | The vendor name of the version control system. | `github`; `gitlab` |  |
**[1] `vcs.ref.base.name`:** `base` refers to the starting point of a change. For example, `main`
diff --git a/docs/cicd/cicd-metrics.md b/docs/cicd/cicd-metrics.md
index c5e53cedd1..ae9fa9aa14 100644
--- a/docs/cicd/cicd-metrics.md
+++ b/docs/cicd/cicd-metrics.md
@@ -323,8 +323,8 @@ This metric is [recommended][MetricRecommended].
|---|---|---|---|---|---|
| [`vcs.change.state`](/docs/attributes-registry/vcs.md) | string | The state of the change (pull request/merge request/changelist). | `open`; `closed`; `merged` | `Required` |  |
| [`vcs.repository.url.full`](/docs/attributes-registry/vcs.md) | string | The [canonical URL](https://support.google.com/webmasters/answer/10347851?hl=en#:~:text=A%20canonical%20URL%20is%20the,Google%20chooses%20one%20as%20canonical.) of the repository providing the complete HTTP(S) address in order to locate and identify the repository through a browser. [1] | `https://github.com/opentelemetry/open-telemetry-collector-contrib`; `https://gitlab.com/my-org/my-project/my-projects-project/repo` | `Required` |  |
-| [`vcs.repository.name`](/docs/attributes-registry/vcs.md) | string | The human readable name of the repository. It SHOULD NOT include any additional identifier like Group/SubGroup in GitLab or organization in GitHub. [2] | `semantic-conventions`; `my-cool-repo` | `Recommended` |  |
| [`vcs.owner.name`](/docs/attributes-registry/vcs.md) | string | The group owner within the version control system. | `my-org`; `myteam` | `Recommended` |  |
+| [`vcs.repository.name`](/docs/attributes-registry/vcs.md) | string | The human readable name of the repository. It SHOULD NOT include any additional identifier like Group/SubGroup in GitLab or organization in GitHub. [2] | `semantic-conventions`; `my-cool-repo` | `Recommended` |  |
| [`vcs.vendor.name`](/docs/attributes-registry/vcs.md) | string | The vendor name of the version control system. | `github`; `gitlab` | `Recommended` |  |
**[1] `vcs.repository.url.full`:** In Git Version Control Systems, the canonical URL SHOULD NOT include
@@ -370,8 +370,8 @@ This metric is [recommended][MetricRecommended].
| [`vcs.change.state`](/docs/attributes-registry/vcs.md) | string | The state of the change (pull request/merge request/changelist). | `open`; `closed`; `merged` | `Required` |  |
| [`vcs.ref.head.name`](/docs/attributes-registry/vcs.md) | string | The name of the [reference](https://git-scm.com/docs/gitglossary#def_ref) such as **branch** or **tag** in the repository. [1] | `my-feature-branch`; `tag-1-test` | `Required` |  |
| [`vcs.repository.url.full`](/docs/attributes-registry/vcs.md) | string | The [canonical URL](https://support.google.com/webmasters/answer/10347851?hl=en#:~:text=A%20canonical%20URL%20is%20the,Google%20chooses%20one%20as%20canonical.) of the repository providing the complete HTTP(S) address in order to locate and identify the repository through a browser. [2] | `https://github.com/opentelemetry/open-telemetry-collector-contrib`; `https://gitlab.com/my-org/my-project/my-projects-project/repo` | `Required` |  |
-| [`vcs.repository.name`](/docs/attributes-registry/vcs.md) | string | The human readable name of the repository. It SHOULD NOT include any additional identifier like Group/SubGroup in GitLab or organization in GitHub. [3] | `semantic-conventions`; `my-cool-repo` | `Recommended` |  |
| [`vcs.owner.name`](/docs/attributes-registry/vcs.md) | string | The group owner within the version control system. | `my-org`; `myteam` | `Recommended` |  |
+| [`vcs.repository.name`](/docs/attributes-registry/vcs.md) | string | The human readable name of the repository. It SHOULD NOT include any additional identifier like Group/SubGroup in GitLab or organization in GitHub. [3] | `semantic-conventions`; `my-cool-repo` | `Recommended` |  |
| [`vcs.vendor.name`](/docs/attributes-registry/vcs.md) | string | The vendor name of the version control system. | `github`; `gitlab` | `Recommended` |  |
**[1] `vcs.ref.head.name`:** `head` refers to where you are right now; the current reference at a
@@ -419,12 +419,12 @@ This metric is [recommended][MetricRecommended].
|---|---|---|---|---|---|
| [`vcs.ref.head.name`](/docs/attributes-registry/vcs.md) | string | The name of the [reference](https://git-scm.com/docs/gitglossary#def_ref) such as **branch** or **tag** in the repository. [1] | `my-feature-branch`; `tag-1-test` | `Required` |  |
| [`vcs.repository.url.full`](/docs/attributes-registry/vcs.md) | string | The [canonical URL](https://support.google.com/webmasters/answer/10347851?hl=en#:~:text=A%20canonical%20URL%20is%20the,Google%20chooses%20one%20as%20canonical.) of the repository providing the complete HTTP(S) address in order to locate and identify the repository through a browser. [2] | `https://github.com/opentelemetry/open-telemetry-collector-contrib`; `https://gitlab.com/my-org/my-project/my-projects-project/repo` | `Required` |  |
+| [`vcs.owner.name`](/docs/attributes-registry/vcs.md) | string | The group owner within the version control system. | `my-org`; `myteam` | `Recommended` |  |
| [`vcs.ref.base.name`](/docs/attributes-registry/vcs.md) | string | The name of the [reference](https://git-scm.com/docs/gitglossary#def_ref) such as **branch** or **tag** in the repository. [3] | `my-feature-branch`; `tag-1-test` | `Recommended` |  |
| [`vcs.repository.name`](/docs/attributes-registry/vcs.md) | string | The human readable name of the repository. It SHOULD NOT include any additional identifier like Group/SubGroup in GitLab or organization in GitHub. [4] | `semantic-conventions`; `my-cool-repo` | `Recommended` |  |
+| [`vcs.vendor.name`](/docs/attributes-registry/vcs.md) | string | The vendor name of the version control system. | `github`; `gitlab` | `Recommended` |  |
| [`vcs.ref.base.revision`](/docs/attributes-registry/vcs.md) | string | The revision, literally [revised version](https://www.merriam-webster.com/dictionary/revision), The revision most often refers to a commit object in Git, or a revision number in SVN. [5] | `9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc`; `main`; `123`; `HEAD` | `Opt-In` |  |
| [`vcs.ref.head.revision`](/docs/attributes-registry/vcs.md) | string | The revision, literally [revised version](https://www.merriam-webster.com/dictionary/revision), The revision most often refers to a commit object in Git, or a revision number in SVN. [6] | `9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc`; `main`; `123`; `HEAD` | `Opt-In` |  |
-| [`vcs.owner.name`](/docs/attributes-registry/vcs.md) | string | The group owner within the version control system. | `my-org`; `myteam` | `Recommended` |  |
-| [`vcs.vendor.name`](/docs/attributes-registry/vcs.md) | string | The vendor name of the version control system. | `github`; `gitlab` | `Recommended` |  |
**[1] `vcs.ref.head.name`:** `head` refers to where you are right now; the current reference at a
given time.
@@ -490,12 +490,12 @@ This metric is [recommended][MetricRecommended].
|---|---|---|---|---|---|
| [`vcs.ref.head.name`](/docs/attributes-registry/vcs.md) | string | The name of the [reference](https://git-scm.com/docs/gitglossary#def_ref) such as **branch** or **tag** in the repository. [1] | `my-feature-branch`; `tag-1-test` | `Required` |  |
| [`vcs.repository.url.full`](/docs/attributes-registry/vcs.md) | string | The [canonical URL](https://support.google.com/webmasters/answer/10347851?hl=en#:~:text=A%20canonical%20URL%20is%20the,Google%20chooses%20one%20as%20canonical.) of the repository providing the complete HTTP(S) address in order to locate and identify the repository through a browser. [2] | `https://github.com/opentelemetry/open-telemetry-collector-contrib`; `https://gitlab.com/my-org/my-project/my-projects-project/repo` | `Required` |  |
+| [`vcs.owner.name`](/docs/attributes-registry/vcs.md) | string | The group owner within the version control system. | `my-org`; `myteam` | `Recommended` |  |
| [`vcs.ref.base.name`](/docs/attributes-registry/vcs.md) | string | The name of the [reference](https://git-scm.com/docs/gitglossary#def_ref) such as **branch** or **tag** in the repository. [3] | `my-feature-branch`; `tag-1-test` | `Recommended` |  |
| [`vcs.repository.name`](/docs/attributes-registry/vcs.md) | string | The human readable name of the repository. It SHOULD NOT include any additional identifier like Group/SubGroup in GitLab or organization in GitHub. [4] | `semantic-conventions`; `my-cool-repo` | `Recommended` |  |
+| [`vcs.vendor.name`](/docs/attributes-registry/vcs.md) | string | The vendor name of the version control system. | `github`; `gitlab` | `Recommended` |  |
| [`vcs.ref.base.revision`](/docs/attributes-registry/vcs.md) | string | The revision, literally [revised version](https://www.merriam-webster.com/dictionary/revision), The revision most often refers to a commit object in Git, or a revision number in SVN. [5] | `9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc`; `main`; `123`; `HEAD` | `Opt-In` |  |
| [`vcs.ref.head.revision`](/docs/attributes-registry/vcs.md) | string | The revision, literally [revised version](https://www.merriam-webster.com/dictionary/revision), The revision most often refers to a commit object in Git, or a revision number in SVN. [6] | `9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc`; `main`; `123`; `HEAD` | `Opt-In` |  |
-| [`vcs.owner.name`](/docs/attributes-registry/vcs.md) | string | The group owner within the version control system. | `my-org`; `myteam` | `Recommended` |  |
-| [`vcs.vendor.name`](/docs/attributes-registry/vcs.md) | string | The vendor name of the version control system. | `github`; `gitlab` | `Recommended` |  |
**[1] `vcs.ref.head.name`:** `head` refers to where you are right now; the current reference at a
given time.
@@ -581,8 +581,8 @@ This metric is [recommended][MetricRecommended].
|---|---|---|---|---|---|
| [`vcs.ref.type`](/docs/attributes-registry/vcs.md) | string | The type of the [reference](https://git-scm.com/docs/gitglossary#def_ref) in the repository. | `branch`; `tag` | `Required` |  |
| [`vcs.repository.url.full`](/docs/attributes-registry/vcs.md) | string | The [canonical URL](https://support.google.com/webmasters/answer/10347851?hl=en#:~:text=A%20canonical%20URL%20is%20the,Google%20chooses%20one%20as%20canonical.) of the repository providing the complete HTTP(S) address in order to locate and identify the repository through a browser. [1] | `https://github.com/opentelemetry/open-telemetry-collector-contrib`; `https://gitlab.com/my-org/my-project/my-projects-project/repo` | `Required` |  |
-| [`vcs.repository.name`](/docs/attributes-registry/vcs.md) | string | The human readable name of the repository. It SHOULD NOT include any additional identifier like Group/SubGroup in GitLab or organization in GitHub. [2] | `semantic-conventions`; `my-cool-repo` | `Recommended` |  |
| [`vcs.owner.name`](/docs/attributes-registry/vcs.md) | string | The group owner within the version control system. | `my-org`; `myteam` | `Recommended` |  |
+| [`vcs.repository.name`](/docs/attributes-registry/vcs.md) | string | The human readable name of the repository. It SHOULD NOT include any additional identifier like Group/SubGroup in GitLab or organization in GitHub. [2] | `semantic-conventions`; `my-cool-repo` | `Recommended` |  |
| [`vcs.vendor.name`](/docs/attributes-registry/vcs.md) | string | The vendor name of the version control system. | `github`; `gitlab` | `Recommended` |  |
**[1] `vcs.repository.url.full`:** In Git Version Control Systems, the canonical URL SHOULD NOT include
@@ -634,8 +634,8 @@ If number of lines added/removed should be calculated from the start of time, th
| [`vcs.ref.head.type`](/docs/attributes-registry/vcs.md) | string | The type of the [reference](https://git-scm.com/docs/gitglossary#def_ref) in the repository. [4] | `branch`; `tag` | `Required` |  |
| [`vcs.repository.url.full`](/docs/attributes-registry/vcs.md) | string | The [canonical URL](https://support.google.com/webmasters/answer/10347851?hl=en#:~:text=A%20canonical%20URL%20is%20the,Google%20chooses%20one%20as%20canonical.) of the repository providing the complete HTTP(S) address in order to locate and identify the repository through a browser. [5] | `https://github.com/opentelemetry/open-telemetry-collector-contrib`; `https://gitlab.com/my-org/my-project/my-projects-project/repo` | `Required` |  |
| [`vcs.change.id`](/docs/attributes-registry/vcs.md) | 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.repository.name`](/docs/attributes-registry/vcs.md) | string | The human readable name of the repository. It SHOULD NOT include any additional identifier like Group/SubGroup in GitLab or organization in GitHub. [6] | `semantic-conventions`; `my-cool-repo` | `Recommended` |  |
| [`vcs.owner.name`](/docs/attributes-registry/vcs.md) | string | The group owner within the version control system. | `my-org`; `myteam` | `Recommended` |  |
+| [`vcs.repository.name`](/docs/attributes-registry/vcs.md) | string | The human readable name of the repository. It SHOULD NOT include any additional identifier like Group/SubGroup in GitLab or organization in GitHub. [6] | `semantic-conventions`; `my-cool-repo` | `Recommended` |  |
| [`vcs.vendor.name`](/docs/attributes-registry/vcs.md) | string | The vendor name of the version control system. | `github`; `gitlab` | `Recommended` |  |
**[1] `vcs.ref.base.name`:** `base` refers to the starting point of a change. For example, `main`
@@ -718,8 +718,8 @@ instrumentation SHOULD report two measurements: 3 and 2 (both positive numbers)
| [`vcs.repository.url.full`](/docs/attributes-registry/vcs.md) | string | The [canonical URL](https://support.google.com/webmasters/answer/10347851?hl=en#:~:text=A%20canonical%20URL%20is%20the,Google%20chooses%20one%20as%20canonical.) of the repository providing the complete HTTP(S) address in order to locate and identify the repository through a browser. [5] | `https://github.com/opentelemetry/open-telemetry-collector-contrib`; `https://gitlab.com/my-org/my-project/my-projects-project/repo` | `Required` |  |
| [`vcs.revision_delta.direction`](/docs/attributes-registry/vcs.md) | string | The type of revision comparison. | `ahead`; `behind` | `Required` |  |
| [`vcs.change.id`](/docs/attributes-registry/vcs.md) | 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.repository.name`](/docs/attributes-registry/vcs.md) | string | The human readable name of the repository. It SHOULD NOT include any additional identifier like Group/SubGroup in GitLab or organization in GitHub. [6] | `semantic-conventions`; `my-cool-repo` | `Recommended` |  |
| [`vcs.owner.name`](/docs/attributes-registry/vcs.md) | string | The group owner within the version control system. | `my-org`; `myteam` | `Recommended` |  |
+| [`vcs.repository.name`](/docs/attributes-registry/vcs.md) | string | The human readable name of the repository. It SHOULD NOT include any additional identifier like Group/SubGroup in GitLab or organization in GitHub. [6] | `semantic-conventions`; `my-cool-repo` | `Recommended` |  |
| [`vcs.vendor.name`](/docs/attributes-registry/vcs.md) | string | The vendor name of the version control system. | `github`; `gitlab` | `Recommended` |  |
**[1] `vcs.ref.base.name`:** `base` refers to the starting point of a change. For example, `main`
@@ -795,8 +795,8 @@ This metric is [recommended][MetricRecommended].
| [`vcs.ref.head.name`](/docs/attributes-registry/vcs.md) | string | The name of the [reference](https://git-scm.com/docs/gitglossary#def_ref) such as **branch** or **tag** in the repository. [1] | `my-feature-branch`; `tag-1-test` | `Required` |  |
| [`vcs.ref.head.type`](/docs/attributes-registry/vcs.md) | string | The type of the [reference](https://git-scm.com/docs/gitglossary#def_ref) in the repository. [2] | `branch`; `tag` | `Required` |  |
| [`vcs.repository.url.full`](/docs/attributes-registry/vcs.md) | string | The [canonical URL](https://support.google.com/webmasters/answer/10347851?hl=en#:~:text=A%20canonical%20URL%20is%20the,Google%20chooses%20one%20as%20canonical.) of the repository providing the complete HTTP(S) address in order to locate and identify the repository through a browser. [3] | `https://github.com/opentelemetry/open-telemetry-collector-contrib`; `https://gitlab.com/my-org/my-project/my-projects-project/repo` | `Required` |  |
-| [`vcs.repository.name`](/docs/attributes-registry/vcs.md) | string | The human readable name of the repository. It SHOULD NOT include any additional identifier like Group/SubGroup in GitLab or organization in GitHub. [4] | `semantic-conventions`; `my-cool-repo` | `Recommended` |  |
| [`vcs.owner.name`](/docs/attributes-registry/vcs.md) | string | The group owner within the version control system. | `my-org`; `myteam` | `Recommended` |  |
+| [`vcs.repository.name`](/docs/attributes-registry/vcs.md) | string | The human readable name of the repository. It SHOULD NOT include any additional identifier like Group/SubGroup in GitLab or organization in GitHub. [4] | `semantic-conventions`; `my-cool-repo` | `Recommended` |  |
| [`vcs.vendor.name`](/docs/attributes-registry/vcs.md) | string | The vendor name of the version control system. | `github`; `gitlab` | `Recommended` |  |
**[1] `vcs.ref.head.name`:** `head` refers to where you are right now; the current reference at a
@@ -844,8 +844,8 @@ This metric is [opt-in][MetricOptIn].
| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability |
|---|---|---|---|---|---|
| [`vcs.repository.url.full`](/docs/attributes-registry/vcs.md) | string | The [canonical URL](https://support.google.com/webmasters/answer/10347851?hl=en#:~:text=A%20canonical%20URL%20is%20the,Google%20chooses%20one%20as%20canonical.) of the repository providing the complete HTTP(S) address in order to locate and identify the repository through a browser. [1] | `https://github.com/opentelemetry/open-telemetry-collector-contrib`; `https://gitlab.com/my-org/my-project/my-projects-project/repo` | `Required` |  |
-| [`vcs.repository.name`](/docs/attributes-registry/vcs.md) | string | The human readable name of the repository. It SHOULD NOT include any additional identifier like Group/SubGroup in GitLab or organization in GitHub. [2] | `semantic-conventions`; `my-cool-repo` | `Recommended` |  |
| [`vcs.owner.name`](/docs/attributes-registry/vcs.md) | string | The group owner within the version control system. | `my-org`; `myteam` | `Recommended` |  |
+| [`vcs.repository.name`](/docs/attributes-registry/vcs.md) | string | The human readable name of the repository. It SHOULD NOT include any additional identifier like Group/SubGroup in GitLab or organization in GitHub. [2] | `semantic-conventions`; `my-cool-repo` | `Recommended` |  |
| [`vcs.vendor.name`](/docs/attributes-registry/vcs.md) | string | The vendor name of the version control system. | `github`; `gitlab` | `Recommended` |  |
**[1] `vcs.repository.url.full`:** In Git Version Control Systems, the canonical URL SHOULD NOT include
diff --git a/model/vcs/registry.yaml b/model/vcs/registry.yaml
index db2c39fe69..ef4e30e8ba 100644
--- a/model/vcs/registry.yaml
+++ b/model/vcs/registry.yaml
@@ -258,4 +258,4 @@ groups:
[
"github",
"gitlab",
- ]
+ ]
From 11f9b2d9096ee55421ef6b648b2163a21454d46d Mon Sep 17 00:00:00 2001
From: Afonso Fernandes <21228942+afonsonf@users.noreply.github.com>
Date: Sat, 22 Mar 2025 13:12:55 +0000
Subject: [PATCH 3/4] Update .chloggen/1452-vcs-metrics.yaml
Co-authored-by: Adriel Perkins
---
.chloggen/1452-vcs-metrics.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.chloggen/1452-vcs-metrics.yaml b/.chloggen/1452-vcs-metrics.yaml
index 7f4304c071..8b57aca003 100644
--- a/.chloggen/1452-vcs-metrics.yaml
+++ b/.chloggen/1452-vcs-metrics.yaml
@@ -10,7 +10,7 @@ change_type: enhancement
component: vcs
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
-note: Add organization and vendor name to VCS attribute list
+note: Add owner and vendor name to VCS attribute registry
# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists.
# The values here must be integers.
From d0cf1d8a65354607597dc790c3e3790ca51ddeb6 Mon Sep 17 00:00:00 2001
From: Afonso Fernandes <21228942+afonsonf@users.noreply.github.com>
Date: Sat, 22 Mar 2025 15:24:24 +0000
Subject: [PATCH 4/4] fix: add new examples to vcs vendor and owner attributes
Signed-off-by: Afonso Fernandes <21228942+afonsonf@users.noreply.github.com>
---
docs/attributes-registry/vcs.md | 4 ++--
docs/cicd/cicd-metrics.md | 36 ++++++++++++++++-----------------
model/vcs/registry.yaml | 3 +++
3 files changed, 23 insertions(+), 20 deletions(-)
diff --git a/docs/attributes-registry/vcs.md b/docs/attributes-registry/vcs.md
index bff2e82516..b4aa1a29bc 100644
--- a/docs/attributes-registry/vcs.md
+++ b/docs/attributes-registry/vcs.md
@@ -16,7 +16,7 @@ This group defines the attributes for [Version Control Systems (VCS)](https://wi
| `vcs.change.state` | string | The state of the change (pull request/merge request/changelist). | `open`; `closed`; `merged` |  |
| `vcs.change.title` | string | 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. | `Fixes broken thing`; `feat: add my new feature`; `[chore] update dependency` |  |
| `vcs.line_change.type` | string | The type of line change being measured on a branch or change. | `added`; `removed` |  |
-| `vcs.owner.name` | string | The group owner within the version control system. | `my-org`; `myteam` |  |
+| `vcs.owner.name` | string | The group owner within the version control system. | `my-org`; `myteam`; `business-unit` |  |
| `vcs.ref.base.name` | string | The name of the [reference](https://git-scm.com/docs/gitglossary#def_ref) such as **branch** or **tag** in the repository. [1] | `my-feature-branch`; `tag-1-test` |  |
| `vcs.ref.base.revision` | string | The revision, literally [revised version](https://www.merriam-webster.com/dictionary/revision), The revision most often refers to a commit object in Git, or a revision number in SVN. [2] | `9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc`; `main`; `123`; `HEAD` |  |
| `vcs.ref.base.type` | string | The type of the [reference](https://git-scm.com/docs/gitglossary#def_ref) in the repository. [3] | `branch`; `tag` |  |
@@ -27,7 +27,7 @@ This group defines the attributes for [Version Control Systems (VCS)](https://wi
| `vcs.repository.name` | string | The human readable name of the repository. It SHOULD NOT include any additional identifier like Group/SubGroup in GitLab or organization in GitHub. [7] | `semantic-conventions`; `my-cool-repo` |  |
| `vcs.repository.url.full` | string | The [canonical URL](https://support.google.com/webmasters/answer/10347851?hl=en#:~:text=A%20canonical%20URL%20is%20the,Google%20chooses%20one%20as%20canonical.) of the repository providing the complete HTTP(S) address in order to locate and identify the repository through a browser. [8] | `https://github.com/opentelemetry/open-telemetry-collector-contrib`; `https://gitlab.com/my-org/my-project/my-projects-project/repo` |  |
| `vcs.revision_delta.direction` | string | The type of revision comparison. | `ahead`; `behind` |  |
-| `vcs.vendor.name` | string | The vendor name of the version control system. | `github`; `gitlab` |  |
+| `vcs.vendor.name` | string | The vendor name of the version control system. | `github`; `gitlab`; `gittea`; `bitbucket` |  |
**[1] `vcs.ref.base.name`:** `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
diff --git a/docs/cicd/cicd-metrics.md b/docs/cicd/cicd-metrics.md
index ae9fa9aa14..923c187e43 100644
--- a/docs/cicd/cicd-metrics.md
+++ b/docs/cicd/cicd-metrics.md
@@ -323,9 +323,9 @@ This metric is [recommended][MetricRecommended].
|---|---|---|---|---|---|
| [`vcs.change.state`](/docs/attributes-registry/vcs.md) | string | The state of the change (pull request/merge request/changelist). | `open`; `closed`; `merged` | `Required` |  |
| [`vcs.repository.url.full`](/docs/attributes-registry/vcs.md) | string | The [canonical URL](https://support.google.com/webmasters/answer/10347851?hl=en#:~:text=A%20canonical%20URL%20is%20the,Google%20chooses%20one%20as%20canonical.) of the repository providing the complete HTTP(S) address in order to locate and identify the repository through a browser. [1] | `https://github.com/opentelemetry/open-telemetry-collector-contrib`; `https://gitlab.com/my-org/my-project/my-projects-project/repo` | `Required` |  |
-| [`vcs.owner.name`](/docs/attributes-registry/vcs.md) | string | The group owner within the version control system. | `my-org`; `myteam` | `Recommended` |  |
+| [`vcs.owner.name`](/docs/attributes-registry/vcs.md) | string | The group owner within the version control system. | `my-org`; `myteam`; `business-unit` | `Recommended` |  |
| [`vcs.repository.name`](/docs/attributes-registry/vcs.md) | string | The human readable name of the repository. It SHOULD NOT include any additional identifier like Group/SubGroup in GitLab or organization in GitHub. [2] | `semantic-conventions`; `my-cool-repo` | `Recommended` |  |
-| [`vcs.vendor.name`](/docs/attributes-registry/vcs.md) | string | The vendor name of the version control system. | `github`; `gitlab` | `Recommended` |  |
+| [`vcs.vendor.name`](/docs/attributes-registry/vcs.md) | string | The vendor name of the version control system. | `github`; `gitlab`; `gittea`; `bitbucket` | `Recommended` |  |
**[1] `vcs.repository.url.full`:** In Git Version Control Systems, the canonical URL SHOULD NOT include
the `.git` extension.
@@ -370,9 +370,9 @@ This metric is [recommended][MetricRecommended].
| [`vcs.change.state`](/docs/attributes-registry/vcs.md) | string | The state of the change (pull request/merge request/changelist). | `open`; `closed`; `merged` | `Required` |  |
| [`vcs.ref.head.name`](/docs/attributes-registry/vcs.md) | string | The name of the [reference](https://git-scm.com/docs/gitglossary#def_ref) such as **branch** or **tag** in the repository. [1] | `my-feature-branch`; `tag-1-test` | `Required` |  |
| [`vcs.repository.url.full`](/docs/attributes-registry/vcs.md) | string | The [canonical URL](https://support.google.com/webmasters/answer/10347851?hl=en#:~:text=A%20canonical%20URL%20is%20the,Google%20chooses%20one%20as%20canonical.) of the repository providing the complete HTTP(S) address in order to locate and identify the repository through a browser. [2] | `https://github.com/opentelemetry/open-telemetry-collector-contrib`; `https://gitlab.com/my-org/my-project/my-projects-project/repo` | `Required` |  |
-| [`vcs.owner.name`](/docs/attributes-registry/vcs.md) | string | The group owner within the version control system. | `my-org`; `myteam` | `Recommended` |  |
+| [`vcs.owner.name`](/docs/attributes-registry/vcs.md) | string | The group owner within the version control system. | `my-org`; `myteam`; `business-unit` | `Recommended` |  |
| [`vcs.repository.name`](/docs/attributes-registry/vcs.md) | string | The human readable name of the repository. It SHOULD NOT include any additional identifier like Group/SubGroup in GitLab or organization in GitHub. [3] | `semantic-conventions`; `my-cool-repo` | `Recommended` |  |
-| [`vcs.vendor.name`](/docs/attributes-registry/vcs.md) | string | The vendor name of the version control system. | `github`; `gitlab` | `Recommended` |  |
+| [`vcs.vendor.name`](/docs/attributes-registry/vcs.md) | string | The vendor name of the version control system. | `github`; `gitlab`; `gittea`; `bitbucket` | `Recommended` |  |
**[1] `vcs.ref.head.name`:** `head` refers to where you are right now; the current reference at a
given time.
@@ -419,10 +419,10 @@ This metric is [recommended][MetricRecommended].
|---|---|---|---|---|---|
| [`vcs.ref.head.name`](/docs/attributes-registry/vcs.md) | string | The name of the [reference](https://git-scm.com/docs/gitglossary#def_ref) such as **branch** or **tag** in the repository. [1] | `my-feature-branch`; `tag-1-test` | `Required` |  |
| [`vcs.repository.url.full`](/docs/attributes-registry/vcs.md) | string | The [canonical URL](https://support.google.com/webmasters/answer/10347851?hl=en#:~:text=A%20canonical%20URL%20is%20the,Google%20chooses%20one%20as%20canonical.) of the repository providing the complete HTTP(S) address in order to locate and identify the repository through a browser. [2] | `https://github.com/opentelemetry/open-telemetry-collector-contrib`; `https://gitlab.com/my-org/my-project/my-projects-project/repo` | `Required` |  |
-| [`vcs.owner.name`](/docs/attributes-registry/vcs.md) | string | The group owner within the version control system. | `my-org`; `myteam` | `Recommended` |  |
+| [`vcs.owner.name`](/docs/attributes-registry/vcs.md) | string | The group owner within the version control system. | `my-org`; `myteam`; `business-unit` | `Recommended` |  |
| [`vcs.ref.base.name`](/docs/attributes-registry/vcs.md) | string | The name of the [reference](https://git-scm.com/docs/gitglossary#def_ref) such as **branch** or **tag** in the repository. [3] | `my-feature-branch`; `tag-1-test` | `Recommended` |  |
| [`vcs.repository.name`](/docs/attributes-registry/vcs.md) | string | The human readable name of the repository. It SHOULD NOT include any additional identifier like Group/SubGroup in GitLab or organization in GitHub. [4] | `semantic-conventions`; `my-cool-repo` | `Recommended` |  |
-| [`vcs.vendor.name`](/docs/attributes-registry/vcs.md) | string | The vendor name of the version control system. | `github`; `gitlab` | `Recommended` |  |
+| [`vcs.vendor.name`](/docs/attributes-registry/vcs.md) | string | The vendor name of the version control system. | `github`; `gitlab`; `gittea`; `bitbucket` | `Recommended` |  |
| [`vcs.ref.base.revision`](/docs/attributes-registry/vcs.md) | string | The revision, literally [revised version](https://www.merriam-webster.com/dictionary/revision), The revision most often refers to a commit object in Git, or a revision number in SVN. [5] | `9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc`; `main`; `123`; `HEAD` | `Opt-In` |  |
| [`vcs.ref.head.revision`](/docs/attributes-registry/vcs.md) | string | The revision, literally [revised version](https://www.merriam-webster.com/dictionary/revision), The revision most often refers to a commit object in Git, or a revision number in SVN. [6] | `9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc`; `main`; `123`; `HEAD` | `Opt-In` |  |
@@ -490,10 +490,10 @@ This metric is [recommended][MetricRecommended].
|---|---|---|---|---|---|
| [`vcs.ref.head.name`](/docs/attributes-registry/vcs.md) | string | The name of the [reference](https://git-scm.com/docs/gitglossary#def_ref) such as **branch** or **tag** in the repository. [1] | `my-feature-branch`; `tag-1-test` | `Required` |  |
| [`vcs.repository.url.full`](/docs/attributes-registry/vcs.md) | string | The [canonical URL](https://support.google.com/webmasters/answer/10347851?hl=en#:~:text=A%20canonical%20URL%20is%20the,Google%20chooses%20one%20as%20canonical.) of the repository providing the complete HTTP(S) address in order to locate and identify the repository through a browser. [2] | `https://github.com/opentelemetry/open-telemetry-collector-contrib`; `https://gitlab.com/my-org/my-project/my-projects-project/repo` | `Required` |  |
-| [`vcs.owner.name`](/docs/attributes-registry/vcs.md) | string | The group owner within the version control system. | `my-org`; `myteam` | `Recommended` |  |
+| [`vcs.owner.name`](/docs/attributes-registry/vcs.md) | string | The group owner within the version control system. | `my-org`; `myteam`; `business-unit` | `Recommended` |  |
| [`vcs.ref.base.name`](/docs/attributes-registry/vcs.md) | string | The name of the [reference](https://git-scm.com/docs/gitglossary#def_ref) such as **branch** or **tag** in the repository. [3] | `my-feature-branch`; `tag-1-test` | `Recommended` |  |
| [`vcs.repository.name`](/docs/attributes-registry/vcs.md) | string | The human readable name of the repository. It SHOULD NOT include any additional identifier like Group/SubGroup in GitLab or organization in GitHub. [4] | `semantic-conventions`; `my-cool-repo` | `Recommended` |  |
-| [`vcs.vendor.name`](/docs/attributes-registry/vcs.md) | string | The vendor name of the version control system. | `github`; `gitlab` | `Recommended` |  |
+| [`vcs.vendor.name`](/docs/attributes-registry/vcs.md) | string | The vendor name of the version control system. | `github`; `gitlab`; `gittea`; `bitbucket` | `Recommended` |  |
| [`vcs.ref.base.revision`](/docs/attributes-registry/vcs.md) | string | The revision, literally [revised version](https://www.merriam-webster.com/dictionary/revision), The revision most often refers to a commit object in Git, or a revision number in SVN. [5] | `9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc`; `main`; `123`; `HEAD` | `Opt-In` |  |
| [`vcs.ref.head.revision`](/docs/attributes-registry/vcs.md) | string | The revision, literally [revised version](https://www.merriam-webster.com/dictionary/revision), The revision most often refers to a commit object in Git, or a revision number in SVN. [6] | `9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc`; `main`; `123`; `HEAD` | `Opt-In` |  |
@@ -581,9 +581,9 @@ This metric is [recommended][MetricRecommended].
|---|---|---|---|---|---|
| [`vcs.ref.type`](/docs/attributes-registry/vcs.md) | string | The type of the [reference](https://git-scm.com/docs/gitglossary#def_ref) in the repository. | `branch`; `tag` | `Required` |  |
| [`vcs.repository.url.full`](/docs/attributes-registry/vcs.md) | string | The [canonical URL](https://support.google.com/webmasters/answer/10347851?hl=en#:~:text=A%20canonical%20URL%20is%20the,Google%20chooses%20one%20as%20canonical.) of the repository providing the complete HTTP(S) address in order to locate and identify the repository through a browser. [1] | `https://github.com/opentelemetry/open-telemetry-collector-contrib`; `https://gitlab.com/my-org/my-project/my-projects-project/repo` | `Required` |  |
-| [`vcs.owner.name`](/docs/attributes-registry/vcs.md) | string | The group owner within the version control system. | `my-org`; `myteam` | `Recommended` |  |
+| [`vcs.owner.name`](/docs/attributes-registry/vcs.md) | string | The group owner within the version control system. | `my-org`; `myteam`; `business-unit` | `Recommended` |  |
| [`vcs.repository.name`](/docs/attributes-registry/vcs.md) | string | The human readable name of the repository. It SHOULD NOT include any additional identifier like Group/SubGroup in GitLab or organization in GitHub. [2] | `semantic-conventions`; `my-cool-repo` | `Recommended` |  |
-| [`vcs.vendor.name`](/docs/attributes-registry/vcs.md) | string | The vendor name of the version control system. | `github`; `gitlab` | `Recommended` |  |
+| [`vcs.vendor.name`](/docs/attributes-registry/vcs.md) | string | The vendor name of the version control system. | `github`; `gitlab`; `gittea`; `bitbucket` | `Recommended` |  |
**[1] `vcs.repository.url.full`:** In Git Version Control Systems, the canonical URL SHOULD NOT include
the `.git` extension.
@@ -634,9 +634,9 @@ If number of lines added/removed should be calculated from the start of time, th
| [`vcs.ref.head.type`](/docs/attributes-registry/vcs.md) | string | The type of the [reference](https://git-scm.com/docs/gitglossary#def_ref) in the repository. [4] | `branch`; `tag` | `Required` |  |
| [`vcs.repository.url.full`](/docs/attributes-registry/vcs.md) | string | The [canonical URL](https://support.google.com/webmasters/answer/10347851?hl=en#:~:text=A%20canonical%20URL%20is%20the,Google%20chooses%20one%20as%20canonical.) of the repository providing the complete HTTP(S) address in order to locate and identify the repository through a browser. [5] | `https://github.com/opentelemetry/open-telemetry-collector-contrib`; `https://gitlab.com/my-org/my-project/my-projects-project/repo` | `Required` |  |
| [`vcs.change.id`](/docs/attributes-registry/vcs.md) | 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.owner.name`](/docs/attributes-registry/vcs.md) | string | The group owner within the version control system. | `my-org`; `myteam` | `Recommended` |  |
+| [`vcs.owner.name`](/docs/attributes-registry/vcs.md) | string | The group owner within the version control system. | `my-org`; `myteam`; `business-unit` | `Recommended` |  |
| [`vcs.repository.name`](/docs/attributes-registry/vcs.md) | string | The human readable name of the repository. It SHOULD NOT include any additional identifier like Group/SubGroup in GitLab or organization in GitHub. [6] | `semantic-conventions`; `my-cool-repo` | `Recommended` |  |
-| [`vcs.vendor.name`](/docs/attributes-registry/vcs.md) | string | The vendor name of the version control system. | `github`; `gitlab` | `Recommended` |  |
+| [`vcs.vendor.name`](/docs/attributes-registry/vcs.md) | string | The vendor name of the version control system. | `github`; `gitlab`; `gittea`; `bitbucket` | `Recommended` |  |
**[1] `vcs.ref.base.name`:** `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
@@ -718,9 +718,9 @@ instrumentation SHOULD report two measurements: 3 and 2 (both positive numbers)
| [`vcs.repository.url.full`](/docs/attributes-registry/vcs.md) | string | The [canonical URL](https://support.google.com/webmasters/answer/10347851?hl=en#:~:text=A%20canonical%20URL%20is%20the,Google%20chooses%20one%20as%20canonical.) of the repository providing the complete HTTP(S) address in order to locate and identify the repository through a browser. [5] | `https://github.com/opentelemetry/open-telemetry-collector-contrib`; `https://gitlab.com/my-org/my-project/my-projects-project/repo` | `Required` |  |
| [`vcs.revision_delta.direction`](/docs/attributes-registry/vcs.md) | string | The type of revision comparison. | `ahead`; `behind` | `Required` |  |
| [`vcs.change.id`](/docs/attributes-registry/vcs.md) | 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.owner.name`](/docs/attributes-registry/vcs.md) | string | The group owner within the version control system. | `my-org`; `myteam` | `Recommended` |  |
+| [`vcs.owner.name`](/docs/attributes-registry/vcs.md) | string | The group owner within the version control system. | `my-org`; `myteam`; `business-unit` | `Recommended` |  |
| [`vcs.repository.name`](/docs/attributes-registry/vcs.md) | string | The human readable name of the repository. It SHOULD NOT include any additional identifier like Group/SubGroup in GitLab or organization in GitHub. [6] | `semantic-conventions`; `my-cool-repo` | `Recommended` |  |
-| [`vcs.vendor.name`](/docs/attributes-registry/vcs.md) | string | The vendor name of the version control system. | `github`; `gitlab` | `Recommended` |  |
+| [`vcs.vendor.name`](/docs/attributes-registry/vcs.md) | string | The vendor name of the version control system. | `github`; `gitlab`; `gittea`; `bitbucket` | `Recommended` |  |
**[1] `vcs.ref.base.name`:** `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
@@ -795,9 +795,9 @@ This metric is [recommended][MetricRecommended].
| [`vcs.ref.head.name`](/docs/attributes-registry/vcs.md) | string | The name of the [reference](https://git-scm.com/docs/gitglossary#def_ref) such as **branch** or **tag** in the repository. [1] | `my-feature-branch`; `tag-1-test` | `Required` |  |
| [`vcs.ref.head.type`](/docs/attributes-registry/vcs.md) | string | The type of the [reference](https://git-scm.com/docs/gitglossary#def_ref) in the repository. [2] | `branch`; `tag` | `Required` |  |
| [`vcs.repository.url.full`](/docs/attributes-registry/vcs.md) | string | The [canonical URL](https://support.google.com/webmasters/answer/10347851?hl=en#:~:text=A%20canonical%20URL%20is%20the,Google%20chooses%20one%20as%20canonical.) of the repository providing the complete HTTP(S) address in order to locate and identify the repository through a browser. [3] | `https://github.com/opentelemetry/open-telemetry-collector-contrib`; `https://gitlab.com/my-org/my-project/my-projects-project/repo` | `Required` |  |
-| [`vcs.owner.name`](/docs/attributes-registry/vcs.md) | string | The group owner within the version control system. | `my-org`; `myteam` | `Recommended` |  |
+| [`vcs.owner.name`](/docs/attributes-registry/vcs.md) | string | The group owner within the version control system. | `my-org`; `myteam`; `business-unit` | `Recommended` |  |
| [`vcs.repository.name`](/docs/attributes-registry/vcs.md) | string | The human readable name of the repository. It SHOULD NOT include any additional identifier like Group/SubGroup in GitLab or organization in GitHub. [4] | `semantic-conventions`; `my-cool-repo` | `Recommended` |  |
-| [`vcs.vendor.name`](/docs/attributes-registry/vcs.md) | string | The vendor name of the version control system. | `github`; `gitlab` | `Recommended` |  |
+| [`vcs.vendor.name`](/docs/attributes-registry/vcs.md) | string | The vendor name of the version control system. | `github`; `gitlab`; `gittea`; `bitbucket` | `Recommended` |  |
**[1] `vcs.ref.head.name`:** `head` refers to where you are right now; the current reference at a
given time.
@@ -844,9 +844,9 @@ This metric is [opt-in][MetricOptIn].
| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability |
|---|---|---|---|---|---|
| [`vcs.repository.url.full`](/docs/attributes-registry/vcs.md) | string | The [canonical URL](https://support.google.com/webmasters/answer/10347851?hl=en#:~:text=A%20canonical%20URL%20is%20the,Google%20chooses%20one%20as%20canonical.) of the repository providing the complete HTTP(S) address in order to locate and identify the repository through a browser. [1] | `https://github.com/opentelemetry/open-telemetry-collector-contrib`; `https://gitlab.com/my-org/my-project/my-projects-project/repo` | `Required` |  |
-| [`vcs.owner.name`](/docs/attributes-registry/vcs.md) | string | The group owner within the version control system. | `my-org`; `myteam` | `Recommended` |  |
+| [`vcs.owner.name`](/docs/attributes-registry/vcs.md) | string | The group owner within the version control system. | `my-org`; `myteam`; `business-unit` | `Recommended` |  |
| [`vcs.repository.name`](/docs/attributes-registry/vcs.md) | string | The human readable name of the repository. It SHOULD NOT include any additional identifier like Group/SubGroup in GitLab or organization in GitHub. [2] | `semantic-conventions`; `my-cool-repo` | `Recommended` |  |
-| [`vcs.vendor.name`](/docs/attributes-registry/vcs.md) | string | The vendor name of the version control system. | `github`; `gitlab` | `Recommended` |  |
+| [`vcs.vendor.name`](/docs/attributes-registry/vcs.md) | string | The vendor name of the version control system. | `github`; `gitlab`; `gittea`; `bitbucket` | `Recommended` |  |
**[1] `vcs.repository.url.full`:** In Git Version Control Systems, the canonical URL SHOULD NOT include
the `.git` extension.
diff --git a/model/vcs/registry.yaml b/model/vcs/registry.yaml
index ef4e30e8ba..42ab2c0536 100644
--- a/model/vcs/registry.yaml
+++ b/model/vcs/registry.yaml
@@ -248,6 +248,7 @@ groups:
[
"my-org",
"myteam",
+ "business-unit",
]
- id: vcs.vendor.name
type: string
@@ -258,4 +259,6 @@ groups:
[
"github",
"gitlab",
+ "gittea",
+ "bitbucket",
]