Port, address clarifications (#289)
This commit is contained in:
parent
9790d8f545
commit
50c5424549
|
|
@ -121,6 +121,8 @@ release.
|
||||||
- BREAKING: Remove the zero bucket boundary from `http.server.request.duration`
|
- BREAKING: Remove the zero bucket boundary from `http.server.request.duration`
|
||||||
and `http.client.request.duration`.
|
and `http.client.request.duration`.
|
||||||
([#318](https://github.com/open-telemetry/semantic-conventions/pull/318))
|
([#318](https://github.com/open-telemetry/semantic-conventions/pull/318))
|
||||||
|
- Encourage setting `network.transport` when reporting port numbers
|
||||||
|
([#289](https://github.com/open-telemetry/semantic-conventions/pull/289))
|
||||||
|
|
||||||
## v1.21.0 (2023-07-13)
|
## v1.21.0 (2023-07-13)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -67,7 +67,7 @@ Some database systems may allow a connection to switch to a different `db.user`,
|
||||||
| `db.system` | string | An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. | `other_sql` | Required |
|
| `db.system` | string | An identifier for the database management system (DBMS) product being used. See below for a list of well-known identifiers. | `other_sql` | Required |
|
||||||
| `db.connection_string` | string | The connection string used to connect to the database. It is recommended to remove embedded credentials. | `Server=(localdb)\v11.0;Integrated Security=true;` | Recommended |
|
| `db.connection_string` | string | The connection string used to connect to the database. It is recommended to remove embedded credentials. | `Server=(localdb)\v11.0;Integrated Security=true;` | Recommended |
|
||||||
| `db.user` | string | Username for accessing the database. | `readonly_user`; `reporting_user` | Recommended |
|
| `db.user` | string | Username for accessing the database. | `readonly_user`; `reporting_user` | Recommended |
|
||||||
| [`network.transport`](../general/attributes.md) | string | [OSI Transport Layer](https://osi-model.com/transport-layer/) or [Inter-process Communication method](https://en.wikipedia.org/wiki/Inter-process_communication). The value SHOULD be normalized to lowercase. | `tcp`; `udp` | Recommended |
|
| [`network.transport`](../general/attributes.md) | string | [OSI Transport Layer](https://osi-model.com/transport-layer/) or [Inter-process Communication method](https://en.wikipedia.org/wiki/Inter-process_communication). The value SHOULD be normalized to lowercase. Consider always setting the transport when setting a port number, since a port number is ambiguous without knowing the transport, for example different processes could be listening on TCP port 12345 and UDP port 12345. | `tcp`; `udp` | Recommended |
|
||||||
| [`network.type`](../general/attributes.md) | string | [OSI Network Layer](https://osi-model.com/network-layer/) or non-OSI equivalent. The value SHOULD be normalized to lowercase. | `ipv4`; `ipv6` | Recommended |
|
| [`network.type`](../general/attributes.md) | string | [OSI Network Layer](https://osi-model.com/network-layer/) or non-OSI equivalent. The value SHOULD be normalized to lowercase. | `ipv4`; `ipv6` | Recommended |
|
||||||
| [`server.address`](../general/attributes.md) | string | Name of the database host. [1] | `example.com` | Conditionally Required: See alternative attributes below. |
|
| [`server.address`](../general/attributes.md) | string | Name of the database host. [1] | `example.com` | Conditionally Required: See alternative attributes below. |
|
||||||
| [`server.port`](../general/attributes.md) | int | Server port number [2] | `80`; `8080`; `443` | Conditionally Required: [3] |
|
| [`server.port`](../general/attributes.md) | int | Server port number [2] | `80`; `8080`; `443` | Conditionally Required: [3] |
|
||||||
|
|
|
||||||
|
|
@ -15,17 +15,18 @@ Particular operations may refer to or require some of these attributes.
|
||||||
|
|
||||||
<!-- toc -->
|
<!-- toc -->
|
||||||
|
|
||||||
- [Server and client attributes](#server-and-client-attributes)
|
- [Server, client and shared network attributes](#server-client-and-shared-network-attributes)
|
||||||
|
* [Address and port attributes](#address-and-port-attributes)
|
||||||
* [Server attributes](#server-attributes)
|
* [Server attributes](#server-attributes)
|
||||||
+ [`server.address`](#serveraddress)
|
+ [`server.address`](#serveraddress)
|
||||||
+ [`server.socket.*` attributes](#serversocket-attributes)
|
+ [`server.socket.*` attributes](#serversocket-attributes)
|
||||||
* [Client attributes](#client-attributes)
|
* [Client attributes](#client-attributes)
|
||||||
+ [Connecting through intermediary](#connecting-through-intermediary)
|
+ [Connecting through intermediary](#connecting-through-intermediary)
|
||||||
- [Network attributes](#network-attributes)
|
|
||||||
* [Source and destination attributes](#source-and-destination-attributes)
|
* [Source and destination attributes](#source-and-destination-attributes)
|
||||||
+ [Source](#source)
|
+ [Source](#source)
|
||||||
+ [Destination](#destination)
|
+ [Destination](#destination)
|
||||||
* [Network connection and carrier attributes](#network-connection-and-carrier-attributes)
|
* [Other network attributes](#other-network-attributes)
|
||||||
|
+ [Network connection and carrier attributes](#network-connection-and-carrier-attributes)
|
||||||
- [General remote service attributes](#general-remote-service-attributes)
|
- [General remote service attributes](#general-remote-service-attributes)
|
||||||
- [General identity attributes](#general-identity-attributes)
|
- [General identity attributes](#general-identity-attributes)
|
||||||
- [General thread attributes](#general-thread-attributes)
|
- [General thread attributes](#general-thread-attributes)
|
||||||
|
|
@ -33,7 +34,10 @@ Particular operations may refer to or require some of these attributes.
|
||||||
|
|
||||||
<!-- tocstop -->
|
<!-- tocstop -->
|
||||||
|
|
||||||
## Server and client attributes
|
<!-- Keep old anchor IDs -->
|
||||||
|
<a name="server-and-client-attributes"></a>
|
||||||
|
|
||||||
|
## Server, client and shared network attributes
|
||||||
|
|
||||||
These attributes may be used to describe the client and server in a connection-based network interaction
|
These attributes may be used to describe the client and server in a connection-based network interaction
|
||||||
where there is one side that initiates the connection (the client is the side that initiates the connection).
|
where there is one side that initiates the connection (the client is the side that initiates the connection).
|
||||||
|
|
@ -45,6 +49,13 @@ This also covers UDP network interactions where one side initiates the interacti
|
||||||
In an ideal situation, not accounting for proxies, multiple IP addresses or host names,
|
In an ideal situation, not accounting for proxies, multiple IP addresses or host names,
|
||||||
the `server.*` attributes are the same on the client and server.
|
the `server.*` attributes are the same on the client and server.
|
||||||
|
|
||||||
|
### Address and port attributes
|
||||||
|
|
||||||
|
For all IP-based protocols, the "address" should be just the IP-level address.
|
||||||
|
Protocol-specific parts of an address are split into other attributes (when applicable) such as "port" attributes for
|
||||||
|
TCP and UDP. If such transport-specific information is collected and the attribute name does not already uniquely
|
||||||
|
identify the transport, then setting [`network.transport`](#other-network-attributes) is especially encouraged.
|
||||||
|
|
||||||
### Server attributes
|
### Server attributes
|
||||||
|
|
||||||
> **Warning**
|
> **Warning**
|
||||||
|
|
@ -175,40 +186,6 @@ The `client.socket.address` and `client.socket.port` attributes then SHOULD cont
|
||||||
|
|
||||||
If only immediate peer information is available, it should be set on `client.address` and `client.port` and `client.socket.*` attributes SHOULD NOT be set.
|
If only immediate peer information is available, it should be set on `client.address` and `client.port` and `client.socket.*` attributes SHOULD NOT be set.
|
||||||
|
|
||||||
## Network attributes
|
|
||||||
|
|
||||||
> **Warning**
|
|
||||||
> Attributes in this section are in use by the HTTP semantic conventions.
|
|
||||||
Once the HTTP semantic conventions are declared stable, changes to the attributes in this section will only be allowed
|
|
||||||
if they do not cause breaking changes to HTTP semantic conventions.
|
|
||||||
|
|
||||||
<!-- semconv network-core -->
|
|
||||||
| Attribute | Type | Description | Examples | Requirement Level |
|
|
||||||
|---|---|---|---|---|
|
|
||||||
| `network.transport` | string | [OSI Transport Layer](https://osi-model.com/transport-layer/) or [Inter-process Communication method](https://en.wikipedia.org/wiki/Inter-process_communication). The value SHOULD be normalized to lowercase. | `tcp`; `udp` | Recommended |
|
|
||||||
| `network.type` | string | [OSI Network Layer](https://osi-model.com/network-layer/) or non-OSI equivalent. The value SHOULD be normalized to lowercase. | `ipv4`; `ipv6` | Recommended |
|
|
||||||
| `network.protocol.name` | string | [OSI Application Layer](https://osi-model.com/application-layer/) or non-OSI equivalent. The value SHOULD be normalized to lowercase. | `amqp`; `http`; `mqtt` | Recommended |
|
|
||||||
| `network.protocol.version` | string | Version of the application layer protocol used. See note below. [1] | `3.1.1` | Recommended |
|
|
||||||
|
|
||||||
**[1]:** `network.protocol.version` refers to the version of the protocol used and might be different from the protocol client's version. If the HTTP client used has a version of `0.27.2`, but sends HTTP version `1.1`, this attribute should be set to `1.1`.
|
|
||||||
|
|
||||||
`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 |
|
|
||||||
|---|---|
|
|
||||||
| `tcp` | TCP |
|
|
||||||
| `udp` | UDP |
|
|
||||||
| `pipe` | Named or anonymous pipe. See note below. |
|
|
||||||
| `unix` | Unix domain socket |
|
|
||||||
|
|
||||||
`network.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 |
|
|
||||||
|---|---|
|
|
||||||
| `ipv4` | IPv4 |
|
|
||||||
| `ipv6` | IPv6 |
|
|
||||||
<!-- endsemconv -->
|
|
||||||
|
|
||||||
### Source and destination attributes
|
### Source and destination attributes
|
||||||
|
|
||||||
These attributes may be used to describe the sender and receiver of a network exchange/packet. These should be used
|
These attributes may be used to describe the sender and receiver of a network exchange/packet. These should be used
|
||||||
|
|
@ -244,7 +221,43 @@ Destination fields capture details about the receiver of a network exchange/pack
|
||||||
**[1]:** This value may be a host name, a fully qualified domain name, or another host naming format.
|
**[1]:** This value may be a host name, a fully qualified domain name, or another host naming format.
|
||||||
<!-- endsemconv -->
|
<!-- endsemconv -->
|
||||||
|
|
||||||
### Network connection and carrier attributes
|
<a name="network-attributes"></a>
|
||||||
|
|
||||||
|
### Other network attributes
|
||||||
|
|
||||||
|
> **Warning**
|
||||||
|
> Attributes in this section are in use by the HTTP semantic conventions.
|
||||||
|
Once the HTTP semantic conventions are declared stable, changes to the attributes in this section will only be allowed
|
||||||
|
if they do not cause breaking changes to HTTP semantic conventions.
|
||||||
|
|
||||||
|
<!-- semconv network-core -->
|
||||||
|
| Attribute | Type | Description | Examples | Requirement Level |
|
||||||
|
|---|---|---|---|---|
|
||||||
|
| `network.transport` | string | [OSI Transport Layer](https://osi-model.com/transport-layer/) or [Inter-process Communication method](https://en.wikipedia.org/wiki/Inter-process_communication). The value SHOULD be normalized to lowercase. Consider always setting the transport when setting a port number, since a port number is ambiguous without knowing the transport, for example different processes could be listening on TCP port 12345 and UDP port 12345. | `tcp`; `udp` | Recommended |
|
||||||
|
| `network.type` | string | [OSI Network Layer](https://osi-model.com/network-layer/) or non-OSI equivalent. The value SHOULD be normalized to lowercase. | `ipv4`; `ipv6` | Recommended |
|
||||||
|
| `network.protocol.name` | string | [OSI Application Layer](https://osi-model.com/application-layer/) or non-OSI equivalent. The value SHOULD be normalized to lowercase. | `amqp`; `http`; `mqtt` | Recommended |
|
||||||
|
| `network.protocol.version` | string | Version of the application layer protocol used. See note below. [1] | `3.1.1` | Recommended |
|
||||||
|
|
||||||
|
**[1]:** `network.protocol.version` refers to the version of the protocol used and might be different from the protocol client's version. If the HTTP client used has a version of `0.27.2`, but sends HTTP version `1.1`, this attribute should be set to `1.1`.
|
||||||
|
|
||||||
|
`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 |
|
||||||
|
|---|---|
|
||||||
|
| `tcp` | TCP |
|
||||||
|
| `udp` | UDP |
|
||||||
|
| `pipe` | Named or anonymous pipe. See note below. |
|
||||||
|
| `unix` | Unix domain socket |
|
||||||
|
|
||||||
|
`network.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 |
|
||||||
|
|---|---|
|
||||||
|
| `ipv4` | IPv4 |
|
||||||
|
| `ipv6` | IPv6 |
|
||||||
|
<!-- endsemconv -->
|
||||||
|
|
||||||
|
#### Network connection and carrier attributes
|
||||||
|
|
||||||
<!-- semconv network-connection-and-carrier -->
|
<!-- semconv network-connection-and-carrier -->
|
||||||
| Attribute | Type | Description | Examples | Requirement Level |
|
| Attribute | Type | Description | Examples | Requirement Level |
|
||||||
|
|
|
||||||
|
|
@ -125,7 +125,7 @@ sections below.
|
||||||
| `http.request.method` | string | HTTP request method. [5] | `GET`; `POST`; `HEAD` | Required |
|
| `http.request.method` | string | HTTP request method. [5] | `GET`; `POST`; `HEAD` | Required |
|
||||||
| [`network.protocol.name`](../general/attributes.md) | string | [OSI Application Layer](https://osi-model.com/application-layer/) or non-OSI equivalent. The value SHOULD be normalized to lowercase. | `http`; `spdy` | Recommended: if not default (`http`). |
|
| [`network.protocol.name`](../general/attributes.md) | string | [OSI Application Layer](https://osi-model.com/application-layer/) or non-OSI equivalent. The value SHOULD be normalized to lowercase. | `http`; `spdy` | Recommended: if not default (`http`). |
|
||||||
| [`network.protocol.version`](../general/attributes.md) | string | Version of the application layer protocol used. See note below. [6] | `1.0`; `1.1`; `2`; `3` | Recommended |
|
| [`network.protocol.version`](../general/attributes.md) | string | Version of the application layer protocol used. See note below. [6] | `1.0`; `1.1`; `2`; `3` | Recommended |
|
||||||
| [`network.transport`](../general/attributes.md) | string | [OSI Transport Layer](https://osi-model.com/transport-layer/) or [Inter-process Communication method](https://en.wikipedia.org/wiki/Inter-process_communication). The value SHOULD be normalized to lowercase. | `tcp`; `udp` | Conditionally Required: [7] |
|
| [`network.transport`](../general/attributes.md) | string | [OSI Transport Layer](https://osi-model.com/transport-layer/) or [Inter-process Communication method](https://en.wikipedia.org/wiki/Inter-process_communication). The value SHOULD be normalized to lowercase. Consider always setting the transport when setting a port number, since a port number is ambiguous without knowing the transport, for example different processes could be listening on TCP port 12345 and UDP port 12345. | `tcp`; `udp` | Conditionally Required: [7] |
|
||||||
| [`network.type`](../general/attributes.md) | string | [OSI Network Layer](https://osi-model.com/network-layer/) or non-OSI equivalent. The value SHOULD be normalized to lowercase. | `ipv4`; `ipv6` | Recommended |
|
| [`network.type`](../general/attributes.md) | string | [OSI Network Layer](https://osi-model.com/network-layer/) or non-OSI equivalent. The value SHOULD be normalized to lowercase. | `ipv4`; `ipv6` | Recommended |
|
||||||
| `user_agent.original` | string | Value of the [HTTP User-Agent](https://www.rfc-editor.org/rfc/rfc9110.html#field.user-agent) header sent by the client. | `CERN-LineMode/2.15 libwww/2.17b3` | Recommended |
|
| `user_agent.original` | string | Value of the [HTTP User-Agent](https://www.rfc-editor.org/rfc/rfc9110.html#field.user-agent) header sent by the client. | `CERN-LineMode/2.15 libwww/2.17b3` | Recommended |
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -231,7 +231,7 @@ The following operations related to messages are defined for these semantic conv
|
||||||
| `messaging.message.id` | string | A value used by the messaging system as an identifier for the message, represented as a string. | `452a7c7c7c7048c2f887f61572b18fc2` | Recommended: [15] |
|
| `messaging.message.id` | string | A value used by the messaging system as an identifier for the message, represented as a string. | `452a7c7c7c7048c2f887f61572b18fc2` | Recommended: [15] |
|
||||||
| [`network.protocol.name`](../general/attributes.md) | string | [OSI Application Layer](https://osi-model.com/application-layer/) or non-OSI equivalent. The value SHOULD be normalized to lowercase. | `amqp`; `mqtt` | Recommended |
|
| [`network.protocol.name`](../general/attributes.md) | string | [OSI Application Layer](https://osi-model.com/application-layer/) or non-OSI equivalent. The value SHOULD be normalized to lowercase. | `amqp`; `mqtt` | Recommended |
|
||||||
| [`network.protocol.version`](../general/attributes.md) | string | Version of the application layer protocol used. See note below. [16] | `3.1.1` | Recommended |
|
| [`network.protocol.version`](../general/attributes.md) | string | Version of the application layer protocol used. See note below. [16] | `3.1.1` | Recommended |
|
||||||
| [`network.transport`](../general/attributes.md) | string | [OSI Transport Layer](https://osi-model.com/transport-layer/) or [Inter-process Communication method](https://en.wikipedia.org/wiki/Inter-process_communication). The value SHOULD be normalized to lowercase. | `tcp`; `udp` | Recommended |
|
| [`network.transport`](../general/attributes.md) | string | [OSI Transport Layer](https://osi-model.com/transport-layer/) or [Inter-process Communication method](https://en.wikipedia.org/wiki/Inter-process_communication). The value SHOULD be normalized to lowercase. Consider always setting the transport when setting a port number, since a port number is ambiguous without knowing the transport, for example different processes could be listening on TCP port 12345 and UDP port 12345. | `tcp`; `udp` | Recommended |
|
||||||
| [`network.type`](../general/attributes.md) | string | [OSI Network Layer](https://osi-model.com/network-layer/) or non-OSI equivalent. The value SHOULD be normalized to lowercase. | `ipv4`; `ipv6` | Recommended |
|
| [`network.type`](../general/attributes.md) | string | [OSI Network Layer](https://osi-model.com/network-layer/) or non-OSI equivalent. The value SHOULD be normalized to lowercase. | `ipv4`; `ipv6` | Recommended |
|
||||||
| [`server.address`](../general/attributes.md) | string | Server address - domain name if available without reverse DNS lookup, otherwise IP address or Unix domain socket name. [17] | `example.com` | Conditionally Required: If available. |
|
| [`server.address`](../general/attributes.md) | string | Server address - domain name if available without reverse DNS lookup, otherwise IP address or Unix domain socket name. [17] | `example.com` | Conditionally Required: If available. |
|
||||||
| [`server.socket.address`](../general/attributes.md) | string | Server address of the socket connection - IP address or Unix domain socket name. [18] | `10.5.3.2` | Recommended: If different than `server.address`. |
|
| [`server.socket.address`](../general/attributes.md) | string | Server address of the socket connection - IP address or Unix domain socket name. [18] | `10.5.3.2` | Recommended: If different than `server.address`. |
|
||||||
|
|
|
||||||
|
|
@ -223,7 +223,7 @@ measurements.
|
||||||
| [`rpc.system`](rpc-spans.md) | string | A string identifying the remoting system. See below for a list of well-known identifiers. | `grpc` | Required |
|
| [`rpc.system`](rpc-spans.md) | string | A string identifying the remoting system. See below for a list of well-known identifiers. | `grpc` | Required |
|
||||||
| [`rpc.service`](rpc-spans.md) | string | The full (logical) name of the service being called, including its package name, if applicable. [1] | `myservice.EchoService` | Recommended |
|
| [`rpc.service`](rpc-spans.md) | string | The full (logical) name of the service being called, including its package name, if applicable. [1] | `myservice.EchoService` | Recommended |
|
||||||
| [`rpc.method`](rpc-spans.md) | string | The name of the (logical) method being called, must be equal to the $method part in the span name. [2] | `exampleMethod` | Recommended |
|
| [`rpc.method`](rpc-spans.md) | string | The name of the (logical) method being called, must be equal to the $method part in the span name. [2] | `exampleMethod` | Recommended |
|
||||||
| [`network.transport`](../general/attributes.md) | string | [OSI Transport Layer](https://osi-model.com/transport-layer/) or [Inter-process Communication method](https://en.wikipedia.org/wiki/Inter-process_communication). The value SHOULD be normalized to lowercase. | `tcp`; `udp` | Recommended |
|
| [`network.transport`](../general/attributes.md) | string | [OSI Transport Layer](https://osi-model.com/transport-layer/) or [Inter-process Communication method](https://en.wikipedia.org/wiki/Inter-process_communication). The value SHOULD be normalized to lowercase. Consider always setting the transport when setting a port number, since a port number is ambiguous without knowing the transport, for example different processes could be listening on TCP port 12345 and UDP port 12345. | `tcp`; `udp` | Recommended |
|
||||||
| [`network.type`](../general/attributes.md) | string | [OSI Network Layer](https://osi-model.com/network-layer/) or non-OSI equivalent. The value SHOULD be normalized to lowercase. | `ipv4`; `ipv6` | Recommended |
|
| [`network.type`](../general/attributes.md) | string | [OSI Network Layer](https://osi-model.com/network-layer/) or non-OSI equivalent. The value SHOULD be normalized to lowercase. | `ipv4`; `ipv6` | Recommended |
|
||||||
| [`server.address`](../general/attributes.md) | string | RPC server [host name](https://grpc.github.io/grpc/core/md_doc_naming.html). [3] | `example.com` | Required |
|
| [`server.address`](../general/attributes.md) | string | RPC server [host name](https://grpc.github.io/grpc/core/md_doc_naming.html). [3] | `example.com` | Required |
|
||||||
| [`server.port`](../general/attributes.md) | int | Server port number [4] | `80`; `8080`; `443` | Conditionally Required: See below |
|
| [`server.port`](../general/attributes.md) | int | Server port number [4] | `80`; `8080`; `443` | Conditionally Required: See below |
|
||||||
|
|
|
||||||
|
|
@ -88,7 +88,7 @@ Examples of span names:
|
||||||
| `rpc.system` | string | A string identifying the remoting system. See below for a list of well-known identifiers. | `grpc` | Required |
|
| `rpc.system` | string | A string identifying the remoting system. See below for a list of well-known identifiers. | `grpc` | Required |
|
||||||
| `rpc.service` | string | The full (logical) name of the service being called, including its package name, if applicable. [1] | `myservice.EchoService` | Recommended |
|
| `rpc.service` | string | The full (logical) name of the service being called, including its package name, if applicable. [1] | `myservice.EchoService` | Recommended |
|
||||||
| `rpc.method` | string | The name of the (logical) method being called, must be equal to the $method part in the span name. [2] | `exampleMethod` | Recommended |
|
| `rpc.method` | string | The name of the (logical) method being called, must be equal to the $method part in the span name. [2] | `exampleMethod` | Recommended |
|
||||||
| [`network.transport`](../general/attributes.md) | string | [OSI Transport Layer](https://osi-model.com/transport-layer/) or [Inter-process Communication method](https://en.wikipedia.org/wiki/Inter-process_communication). The value SHOULD be normalized to lowercase. | `tcp`; `udp` | Recommended |
|
| [`network.transport`](../general/attributes.md) | string | [OSI Transport Layer](https://osi-model.com/transport-layer/) or [Inter-process Communication method](https://en.wikipedia.org/wiki/Inter-process_communication). The value SHOULD be normalized to lowercase. Consider always setting the transport when setting a port number, since a port number is ambiguous without knowing the transport, for example different processes could be listening on TCP port 12345 and UDP port 12345. | `tcp`; `udp` | Recommended |
|
||||||
| [`network.type`](../general/attributes.md) | string | [OSI Network Layer](https://osi-model.com/network-layer/) or non-OSI equivalent. The value SHOULD be normalized to lowercase. | `ipv4`; `ipv6` | Recommended |
|
| [`network.type`](../general/attributes.md) | string | [OSI Network Layer](https://osi-model.com/network-layer/) or non-OSI equivalent. The value SHOULD be normalized to lowercase. | `ipv4`; `ipv6` | Recommended |
|
||||||
| [`server.address`](../general/attributes.md) | string | RPC server [host name](https://grpc.github.io/grpc/core/md_doc_naming.html). [3] | `example.com` | Required |
|
| [`server.address`](../general/attributes.md) | string | RPC server [host name](https://grpc.github.io/grpc/core/md_doc_naming.html). [3] | `example.com` | Required |
|
||||||
| [`server.port`](../general/attributes.md) | int | Server port number [4] | `80`; `8080`; `443` | Conditionally Required: See below |
|
| [`server.port`](../general/attributes.md) | int | Server port number [4] | `80`; `8080`; `443` | Conditionally Required: See below |
|
||||||
|
|
@ -165,7 +165,7 @@ Generally, a user SHOULD NOT set `peer.service` to a fully qualified RPC service
|
||||||
| [`client.port`](../general/attributes.md) | int | Client port number. [2] | `65123` | Recommended |
|
| [`client.port`](../general/attributes.md) | int | Client port number. [2] | `65123` | Recommended |
|
||||||
| [`client.socket.address`](../general/attributes.md) | string | Client address of the socket connection - IP address or Unix domain socket name. [3] | `/tmp/my.sock`; `127.0.0.1` | Recommended: If different than `client.address`. |
|
| [`client.socket.address`](../general/attributes.md) | string | Client address of the socket connection - IP address or Unix domain socket name. [3] | `/tmp/my.sock`; `127.0.0.1` | Recommended: If different than `client.address`. |
|
||||||
| [`client.socket.port`](../general/attributes.md) | int | Client port number of the socket connection. [4] | `35555` | Recommended: If different than `client.port`. |
|
| [`client.socket.port`](../general/attributes.md) | int | Client port number of the socket connection. [4] | `35555` | Recommended: If different than `client.port`. |
|
||||||
| [`network.transport`](../general/attributes.md) | string | [OSI Transport Layer](https://osi-model.com/transport-layer/) or [Inter-process Communication method](https://en.wikipedia.org/wiki/Inter-process_communication). The value SHOULD be normalized to lowercase. | `tcp`; `udp` | Recommended |
|
| [`network.transport`](../general/attributes.md) | string | [OSI Transport Layer](https://osi-model.com/transport-layer/) or [Inter-process Communication method](https://en.wikipedia.org/wiki/Inter-process_communication). The value SHOULD be normalized to lowercase. Consider always setting the transport when setting a port number, since a port number is ambiguous without knowing the transport, for example different processes could be listening on TCP port 12345 and UDP port 12345. | `tcp`; `udp` | Recommended |
|
||||||
| [`network.type`](../general/attributes.md) | string | [OSI Network Layer](https://osi-model.com/network-layer/) or non-OSI equivalent. The value SHOULD be normalized to lowercase. | `ipv4`; `ipv6` | Recommended |
|
| [`network.type`](../general/attributes.md) | string | [OSI Network Layer](https://osi-model.com/network-layer/) or non-OSI equivalent. The value SHOULD be normalized to lowercase. | `ipv4`; `ipv6` | Recommended |
|
||||||
|
|
||||||
**[1]:** When observed from the server side, and when communicating through an intermediary, `client.address` SHOULD represent the client address behind any intermediaries (e.g. proxies) if it's available.
|
**[1]:** When observed from the server side, and when communicating through an intermediary, `client.address` SHOULD represent the client address behind any intermediaries (e.g. proxies) if it's available.
|
||||||
|
|
|
||||||
|
|
@ -637,7 +637,7 @@ This metric is [recommended][MetricRecommended].
|
||||||
<!-- semconv metric.system.network.connections(full) -->
|
<!-- semconv metric.system.network.connections(full) -->
|
||||||
| Attribute | Type | Description | Examples | Requirement Level |
|
| Attribute | Type | Description | Examples | Requirement Level |
|
||||||
|---|---|---|---|---|
|
|---|---|---|---|---|
|
||||||
| [`network.transport`](../general/attributes.md) | string | [OSI Transport Layer](https://osi-model.com/transport-layer/) or [Inter-process Communication method](https://en.wikipedia.org/wiki/Inter-process_communication). The value SHOULD be normalized to lowercase. | `tcp`; `udp` | Recommended |
|
| [`network.transport`](../general/attributes.md) | string | [OSI Transport Layer](https://osi-model.com/transport-layer/) or [Inter-process Communication method](https://en.wikipedia.org/wiki/Inter-process_communication). The value SHOULD be normalized to lowercase. Consider always setting the transport when setting a port number, since a port number is ambiguous without knowing the transport, for example different processes could be listening on TCP port 12345 and UDP port 12345. | `tcp`; `udp` | Recommended |
|
||||||
| `system.device` | string | The device identifier | `(identifier)` | Recommended |
|
| `system.device` | string | The device identifier | `(identifier)` | Recommended |
|
||||||
| `system.network.state` | string | A stateless protocol MUST NOT set this attribute | `close_wait` | Recommended |
|
| `system.network.state` | string | A stateless protocol MUST NOT set this attribute | `close_wait` | Recommended |
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,9 @@ groups:
|
||||||
[OSI Transport Layer](https://osi-model.com/transport-layer/) or
|
[OSI Transport Layer](https://osi-model.com/transport-layer/) or
|
||||||
[Inter-process Communication method](https://en.wikipedia.org/wiki/Inter-process_communication).
|
[Inter-process Communication method](https://en.wikipedia.org/wiki/Inter-process_communication).
|
||||||
The value SHOULD be normalized to lowercase.
|
The value SHOULD be normalized to lowercase.
|
||||||
|
Consider always setting the transport when setting a port number, since
|
||||||
|
a port number is ambiguous without knowing the transport, for example
|
||||||
|
different processes could be listening on TCP port 12345 and UDP port 12345.
|
||||||
examples: ['tcp', 'udp']
|
examples: ['tcp', 'udp']
|
||||||
- id: type
|
- id: type
|
||||||
type:
|
type:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue