groups: - id: server prefix: server type: attribute_group brief: > These attributes may be used to describe the 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). This covers all TCP network interactions since TCP is connection-based and one side initiates the connection (an exception is made for peer-to-peer communication over TCP where the "user-facing" surface of the protocol / API does not expose a clear notion of client and server). This also covers UDP network interactions where one side initiates the interaction, e.g. QUIC (HTTP/3) and DNS. attributes: - id: address type: string brief: 'Logical server hostname, matches server FQDN if available, and IP or socket address if FQDN is not known.' examples: ['example.com'] - id: port type: int brief: 'Logical server port number' examples: [80, 8080, 443] - id: socket.domain type: string brief: The domain name of an immediate peer. examples: ['proxy.example.com'] note: Typically observed from the client side, and represents a proxy or other intermediary domain name. requirement_level: recommended: If different than `server.address`. - id: socket.address type: string brief: > Physical server IP address or Unix socket address. If set from the client, should simply use the socket's peer address, and not attempt to find any actual server IP (i.e., if set from client, this may represent some proxy server instead of the logical server). examples: ['10.5.3.2'] requirement_level: recommended: If different than `server.address`. - id: socket.port type: int brief: Physical server port. examples: [16456] requirement_level: recommended: If different than `server.port`.