diff --git a/docs/attributes-registry/network.md b/docs/attributes-registry/network.md
index 77f00acedd..a6c5907728 100644
--- a/docs/attributes-registry/network.md
+++ b/docs/attributes-registry/network.md
@@ -16,6 +16,7 @@ These attributes may be used for any network related operation.
| `network.carrier.name` | string | The name of the mobile carrier. | `sprint` |
| `network.connection.subtype` | string | This describes more details regarding the connection.type. It may be the type of cell technology connection, but it could be used for describing details about a wifi connection. | `LTE` |
| `network.connection.type` | string | The internet connection type. | `wifi` |
+| `network.io.direction` | string | The network IO operation direction. | `transmit` |
| `network.local.address` | string | ![Stable](https://img.shields.io/badge/-stable-lightgreen)
Local address of the network connection - IP address or Unix domain socket name. | `10.1.2.80`; `/tmp/my.sock` |
| `network.local.port` | int | ![Stable](https://img.shields.io/badge/-stable-lightgreen)
Local port number of the network connection. | `65123` |
| `network.peer.address` | string | ![Stable](https://img.shields.io/badge/-stable-lightgreen)
Peer address of the network connection - IP address or Unix domain socket name. | `10.1.2.80`; `/tmp/my.sock` |
@@ -73,6 +74,13 @@ different processes could be listening on TCP port 12345 and UDP port 12345.
| `unavailable` | unavailable |
| `unknown` | unknown |
+`network.io.direction` MUST be one of the following:
+
+| Value | Description |
+|---|---|
+| `transmit` | transmit |
+| `receive` | receive |
+
`network.transport` 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 |
diff --git a/docs/system/system-metrics.md b/docs/system/system-metrics.md
index d5848d424d..f33a871e4a 100644
--- a/docs/system/system-metrics.md
+++ b/docs/system/system-metrics.md
@@ -359,10 +359,10 @@ This metric is [recommended][MetricRecommended].
| Attribute | Type | Description | Examples | Requirement Level |
|---|---|---|---|---|
+| `disk.io.direction` | string | The disk IO operation direction. | `read` | Recommended |
| `system.device` | string | The device identifier | `(identifier)` | Recommended |
-| `system.disk.direction` | string | The disk operation direction | `read` | Recommended |
-`system.disk.direction` MUST be one of the following:
+`disk.io.direction` MUST be one of the following:
| Value | Description |
|---|---|
@@ -383,10 +383,10 @@ This metric is [recommended][MetricRecommended].
| Attribute | Type | Description | Examples | Requirement Level |
|---|---|---|---|---|
+| `disk.io.direction` | string | The disk IO operation direction. | `read` | Recommended |
| `system.device` | string | The device identifier | `(identifier)` | Recommended |
-| `system.disk.direction` | string | The disk operation direction | `read` | Recommended |
-`system.disk.direction` MUST be one of the following:
+`disk.io.direction` MUST be one of the following:
| Value | Description |
|---|---|
@@ -435,10 +435,10 @@ This metric is [recommended][MetricRecommended].
| Attribute | Type | Description | Examples | Requirement Level |
|---|---|---|---|---|
+| `disk.io.direction` | string | The disk IO operation direction. | `read` | Recommended |
| `system.device` | string | The device identifier | `(identifier)` | Recommended |
-| `system.disk.direction` | string | The disk operation direction | `read` | Recommended |
-`system.disk.direction` MUST be one of the following:
+`disk.io.direction` MUST be one of the following:
| Value | Description |
|---|---|
@@ -459,10 +459,10 @@ This metric is [recommended][MetricRecommended].
| Attribute | Type | Description | Examples | Requirement Level |
|---|---|---|---|---|
+| `disk.io.direction` | string | The disk IO operation direction. | `read` | Recommended |
| `system.device` | string | The device identifier | `(identifier)` | Recommended |
-| `system.disk.direction` | string | The disk operation direction | `read` | Recommended |
-`system.disk.direction` MUST be one of the following:
+`disk.io.direction` MUST be one of the following:
| Value | Description |
|---|---|
@@ -575,10 +575,10 @@ This metric is [recommended][MetricRecommended].
| Attribute | Type | Description | Examples | Requirement Level |
|---|---|---|---|---|
+| [`network.io.direction`](../attributes-registry/network.md) | string | The network IO operation direction. | `transmit` | Recommended |
| `system.device` | string | The device identifier | `(identifier)` | Recommended |
-| `system.network.direction` | string | | `transmit` | Recommended |
-`system.network.direction` MUST be one of the following:
+`network.io.direction` MUST be one of the following:
| Value | Description |
|---|---|
@@ -599,10 +599,10 @@ This metric is [recommended][MetricRecommended].
| Attribute | Type | Description | Examples | Requirement Level |
|---|---|---|---|---|
+| [`network.io.direction`](../attributes-registry/network.md) | string | The network IO operation direction. | `transmit` | Recommended |
| `system.device` | string | The device identifier | `(identifier)` | Recommended |
-| `system.network.direction` | string | | `transmit` | Recommended |
-`system.network.direction` MUST be one of the following:
+`network.io.direction` MUST be one of the following:
| Value | Description |
|---|---|
@@ -629,10 +629,10 @@ This metric is [recommended][MetricRecommended].
| Attribute | Type | Description | Examples | Requirement Level |
|---|---|---|---|---|
+| [`network.io.direction`](../attributes-registry/network.md) | string | The network IO operation direction. | `transmit` | Recommended |
| `system.device` | string | The device identifier | `(identifier)` | Recommended |
-| `system.network.direction` | string | | `transmit` | Recommended |
-`system.network.direction` MUST be one of the following:
+`network.io.direction` MUST be one of the following:
| Value | Description |
|---|---|
@@ -653,10 +653,10 @@ This metric is [recommended][MetricRecommended].
| Attribute | Type | Description | Examples | Requirement Level |
|---|---|---|---|---|
+| [`network.io.direction`](../attributes-registry/network.md) | string | The network IO operation direction. | `transmit` | Recommended |
| `system.device` | string | The device identifier | `(identifier)` | Recommended |
-| `system.network.direction` | string | | `transmit` | Recommended |
-`system.network.direction` MUST be one of the following:
+`network.io.direction` MUST be one of the following:
| Value | Description |
|---|---|
diff --git a/model/metrics/system-metrics.yaml b/model/metrics/system-metrics.yaml
index d3c761b0b9..d411115ea8 100644
--- a/model/metrics/system-metrics.yaml
+++ b/model/metrics/system-metrics.yaml
@@ -213,22 +213,6 @@ groups:
- ref: system.paging.direction
# system.disk.* metrics and attribute group
- - id: attributes.system.disk
- prefix: system.disk
- type: attribute_group
- brief: "Describes System Disk metric attributes"
- attributes:
- - id: direction
- type:
- allow_custom_values: false
- members:
- - id: read
- value: 'read'
- - id: write
- value: 'write'
- brief: "The disk operation direction"
- examples: ["read"]
-
- id: metric.system.disk.io
type: metric
metric_name: system.disk.io
@@ -237,7 +221,7 @@ groups:
unit: "By"
attributes:
- ref: system.device
- - ref: system.disk.direction
+ - ref: disk.io.direction
- id: metric.system.disk.operations
type: metric
@@ -247,7 +231,7 @@ groups:
unit: "{operation}"
attributes:
- ref: system.device
- - ref: system.disk.direction
+ - ref: disk.io.direction
- id: metric.system.disk.io_time
type: metric
@@ -278,7 +262,7 @@ groups:
- Windows: "Avg. Disk sec/Read" perf counter multiplied by "Disk Reads/sec" perf counter (similar for Writes)
attributes:
- ref: system.device
- - ref: system.disk.direction
+ - ref: disk.io.direction
- id: metric.system.disk.merged
type: metric
@@ -288,7 +272,7 @@ groups:
unit: "{operation}"
attributes:
- ref: system.device
- - ref: system.disk.direction
+ - ref: disk.io.direction
# system.filesystem.* metrics and attribute group
- id: attributes.system.filesystem
@@ -362,21 +346,13 @@ groups:
- ref: system.filesystem.mountpoint
# system.network.* metrics and attribute group
+
+ # System-specific network attributes
- id: attributes.system.network
prefix: system.network
type: attribute_group
brief: "Describes Network metric attributes"
attributes:
- - id: direction
- type:
- allow_custom_values: false
- members:
- - id: transmit
- value: 'transmit'
- - id: receive
- value: 'receive'
- brief: ""
- examples: ["transmit"]
- id: state
type:
allow_custom_values: false
@@ -422,7 +398,7 @@ groups:
from [`GetIfEntry2`](https://docs.microsoft.com/windows/win32/api/netioapi/nf-netioapi-getifentry2)
attributes:
- ref: system.device
- - ref: system.network.direction
+ - ref: network.io.direction
- id: metric.system.network.packets
type: metric
@@ -432,7 +408,7 @@ groups:
unit: "{packet}"
attributes:
- ref: system.device
- - ref: system.network.direction
+ - ref: network.io.direction
- id: metric.system.network.errors
type: metric
@@ -448,7 +424,7 @@ groups:
from [`GetIfEntry2`](https://docs.microsoft.com/windows/win32/api/netioapi/nf-netioapi-getifentry2).
attributes:
- ref: system.device
- - ref: system.network.direction
+ - ref: network.io.direction
- id: metric.system.network.io
type: metric
@@ -458,7 +434,7 @@ groups:
unit: "By"
attributes:
- ref: system.device
- - ref: system.network.direction
+ - ref: network.io.direction
- id: metric.system.network.connections
type: metric
diff --git a/model/registry/disk.yaml b/model/registry/disk.yaml
new file mode 100644
index 0000000000..90d6fb27d2
--- /dev/null
+++ b/model/registry/disk.yaml
@@ -0,0 +1,17 @@
+groups:
+ - id: registry.disk
+ prefix: disk
+ type: attribute_group
+ brief: >
+ These attributes may be used for any disk related operation.
+ attributes:
+ - id: io.direction
+ type:
+ allow_custom_values: false
+ members:
+ - id: read
+ value: 'read'
+ - id: write
+ value: 'write'
+ brief: "The disk IO operation direction."
+ examples: ["read"]
diff --git a/model/registry/network.yaml b/model/registry/network.yaml
index 27b072a08c..7715506bcc 100644
--- a/model/registry/network.yaml
+++ b/model/registry/network.yaml
@@ -182,3 +182,13 @@ groups:
brief: '[OSI network layer](https://osi-model.com/network-layer/) or non-OSI equivalent.'
note: The value SHOULD be normalized to lowercase.
examples: ['ipv4', 'ipv6']
+ - id: io.direction
+ type:
+ allow_custom_values: false
+ members:
+ - id: transmit
+ value: 'transmit'
+ - id: receive
+ value: 'receive'
+ brief: "The network IO operation direction."
+ examples: ["transmit"]