diff --git a/CHANGELOG.md b/CHANGELOG.md index e586aa94f0f..18ed52d900d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -61,6 +61,8 @@ release. ([#2663](https://github.com/open-telemetry/opentelemetry-specification/pull/2663)) - Add `process.parent_pid` attribute for use in reporting parent process id (PID) ([#2691](https://github.com/open-telemetry/opentelemetry-specification/pull/2691)). +- Separate tcp/udp protocols for metric `system.network.connections`. + ([#2675](https://github.com/open-telemetry/opentelemetry-specification/pull/2675)) ### Compatibility diff --git a/schemas/1.13.0 b/schemas/1.13.0 index 6202271c0dc..5df902e32b2 100644 --- a/schemas/1.13.0 +++ b/schemas/1.13.0 @@ -81,6 +81,13 @@ versions: metrics_from_attributes: process.network.io.receive: receive process.network.io.transmit: transmit + # https://github.com/open-telemetry/opentelemetry-specification/pull/2675 + - split: + apply_to_metric: system.network.connections + by_attribute: protocol + metrics_from_attributes: + system.network.tcp.connections: tcp + system.network.udp.connections: udp 1.12.0: spans: diff --git a/specification/metrics/semantic_conventions/system-metrics.md b/specification/metrics/semantic_conventions/system-metrics.md index 685e0476169..4804f821f89 100644 --- a/specification/metrics/semantic_conventions/system-metrics.md +++ b/specification/metrics/semantic_conventions/system-metrics.md @@ -146,9 +146,12 @@ perf counter (similar for Writes) | | | | | | direction | transmit, receive | | system.network.io.transmit | Bytes sent | By | Counter | Int64 | device | (identifier) | | system.network.io.receive | Bytes received | By | Counter | Int64 | device | (identifier) | -| system.network.connections | | {connections} | UpDownCounter | Int64 | device | (identifier) | +| system.network.connections (deprecated) | | {connections} | UpDownCounter | Int64 | device | (identifier) | | | | | | | protocol | tcp, udp, [etc.](https://en.wikipedia.org/wiki/Transport_layer#Protocols) | | | | | | | state | If specified, SHOULD be one of: close, close_wait, closing, delete, established, fin_wait_1, fin_wait_2, last_ack, listen, syn_recv, syn_sent, time_wait. A stateless protocol MUST NOT set this attribute. | +| system.network.tcp.connections | Count of TCP connections | {connections} | UpDownCounter | Int64 | device | (identifier) | +| | | | | | state | SHOULD be one of: close, close_wait, closing, delete, established, fin_wait_1, fin_wait_2, last_ack, listen, syn_recv, syn_sent, time_wait. A stateless protocol MUST NOT set this attribute. | +| system.network.udp.connections | Count of UDP connections | {connections} | UpDownCounter | Int64 | device | (identifier) | 1 Measured as: