diff --git a/.chloggen/2807-update-peer-namespace.yaml b/.chloggen/2807-update-peer-namespace.yaml
new file mode 100644
index 0000000000..b8a0167f96
--- /dev/null
+++ b/.chloggen/2807-update-peer-namespace.yaml
@@ -0,0 +1,13 @@
+# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
+change_type: enhancement
+component: peer
+note: Update peer.* namespace to mirror service.*.
+issues: [2807]
+
+# (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: |
+ Rename peer.service to peer.service.name and introduces peer.service.namespace
+ to support matching the usage of service.namespace + service.name as identity
+ for services.
diff --git a/docs/general/attributes.md b/docs/general/attributes.md
index 47ce21231a..f0edf3dbf7 100644
--- a/docs/general/attributes.md
+++ b/docs/general/attributes.md
@@ -368,7 +368,8 @@ Instrumentations SHOULD provide a way for users to configure this name.
| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability |
|---|---|---|---|---|---|
-| [`peer.service`](/docs/registry/attributes/peer.md) | string | The [`service.name`](/docs/resource/README.md#service) of the remote service. SHOULD be equal to the actual `service.name` resource attribute of the remote service if any. | `AuthTokenCache` | `Recommended` |  |
+| [`peer.service.name`](/docs/registry/attributes/peer.md) | string | The [`service.name`](/docs/resource/README.md#service) of the remote service. SHOULD be equal to the actual `service.name` resource attribute of the remote service if any. | `shoppingcart` | `Recommended` |  |
+| [`peer.service.namespace`](/docs/registry/attributes/peer.md) | string | The [`service.namespace`](/docs/resource/README.md#service) of the remote service. SHOULD be equal to the actual `service.namespace` resource attribute of the remote service if any. | `Shop` | `Recommended` |  |
diff --git a/docs/registry/attributes/peer.md b/docs/registry/attributes/peer.md
index 485cf0e8a1..ef7aaafabb 100644
--- a/docs/registry/attributes/peer.md
+++ b/docs/registry/attributes/peer.md
@@ -9,4 +9,6 @@ Operations that access some remote service.
| Attribute | Type | Description | Examples | Stability |
|---|---|---|---|---|
-| `peer.service` | string | The [`service.name`](/docs/resource/README.md#service) of the remote service. SHOULD be equal to the actual `service.name` resource attribute of the remote service if any. | `AuthTokenCache` |  |
+| `peer.service` | string | The [`service.name`](/docs/resource/README.md#service) of the remote service. SHOULD be equal to the actual `service.name` resource attribute of the remote service if any. | `AuthTokenCache` | 
Replaced by `peer.service.name`. |
+| `peer.service.name` | string | The [`service.name`](/docs/resource/README.md#service) of the remote service. SHOULD be equal to the actual `service.name` resource attribute of the remote service if any. | `shoppingcart` |  |
+| `peer.service.namespace` | string | The [`service.namespace`](/docs/resource/README.md#service) of the remote service. SHOULD be equal to the actual `service.namespace` resource attribute of the remote service if any. | `Shop` |  |
diff --git a/model/peer/common.yaml b/model/peer/common.yaml
index 53807af234..77293f6afa 100644
--- a/model/peer/common.yaml
+++ b/model/peer/common.yaml
@@ -3,5 +3,7 @@ groups:
type: attribute_group
brief: "Operations that access some remote service."
attributes:
- - ref: peer.service
+ - ref: peer.service.name
+ requirement_level: recommended
+ - ref: peer.service.namespace
requirement_level: recommended
diff --git a/model/peer/registry.yaml b/model/peer/registry.yaml
index 7ef6ed7440..cceee7c02b 100644
--- a/model/peer/registry.yaml
+++ b/model/peer/registry.yaml
@@ -13,3 +13,22 @@ groups:
of the remote service. SHOULD be equal to the actual `service.name`
resource attribute of the remote service if any.
examples: "AuthTokenCache"
+ deprecated:
+ reason: renamed
+ renamed_to: peer.service.name
+ - id: peer.service.name
+ type: string
+ stability: development
+ brief: >
+ The [`service.name`](/docs/resource/README.md#service)
+ of the remote service. SHOULD be equal to the actual `service.name`
+ resource attribute of the remote service if any.
+ examples: "shoppingcart"
+ - id: peer.service.namespace
+ type: string
+ stability: development
+ brief: >
+ The [`service.namespace`](/docs/resource/README.md#service)
+ of the remote service. SHOULD be equal to the actual `service.namespace`
+ resource attribute of the remote service if any.
+ examples: "Shop"