Client

Client Attributes

Attributes:

KeyStabilityValue TypeDescriptionExample Values
client.addressStablestringClient address - domain name if available without reverse DNS lookup; otherwise, IP address or UNIX domain socket name. [1]client.example.com; 10.1.2.80; /tmp/my.sock
client.as.numberDevelopmentintThe Autonomous System Number (ASN) associated with the client IP address. [2]64496; 15169
client.as.organizationDevelopmentstringThe name of the organization associated with the autonomous system of the client IP address. [3]Example Networks Inc.; Google LLC
client.mac.addressDevelopmentstringClient Media Access Control (MAC) address. [4]00-00-5E-00-53-23
client.portStableintClient port number. [5]65123
client.prefixDevelopmentstringThe IP prefix associated with the client IP address, in CIDR notation. [6]192.0.2.0/24; 2001:db8::/32
client.service.nameDevelopmentstringLogical name of the service acting as the client in a connection-based network interaction. [7]shoppingcart
client.service.namespaceDevelopmentstringLogical namespace of the service acting as the client in a connection-based network interaction. [8]Shop

[1] client.address: When observed from the server side, and when communicating through an intermediary, client.address SHOULD represent the client address behind any intermediaries, for example proxies, if it’s available.

[2] client.as.number: This attribute SHOULD only be set when the client address is an IP address and the ASN is available from routing, enrichment, or lookup data. The value SHOULD be represented as an integer without the AS prefix.

[3] client.as.organization: This attribute SHOULD only be set when client.as.number is set and the organization name is available. The value SHOULD be the organization name as provided by the lookup or enrichment source, not the AS name or short code.

[4] client.mac.address: This attribute MUST identify a MAC address associated with the logical client endpoint, including when that endpoint is behind intermediaries. If the client’s MAC address is unknown, this attribute MUST NOT be set. The MAC address of a proxy, gateway, or next-hop router MUST NOT be used as a substitute.

MAC addresses MUST be represented in IEEE RA hexadecimal form: as hyphen-separated octets in uppercase hexadecimal form from most to least significant.

[5] client.port: When observed from the server side, and when communicating through an intermediary, client.port SHOULD represent the client port behind any intermediaries, for example proxies, if it’s available.

[6] client.prefix:

The value MUST be an IPv4 or IPv6 network prefix in CIDR notation, as defined in RFC 4632 for IPv4 and RFC 4291 for IPv6. IPv4 prefixes MUST use a dotted-decimal address followed by / and a decimal prefix length from 0 to 32. IPv6 prefixes MUST use the canonical address text representation defined in RFC 5952, followed by / and a decimal prefix length from 0 to 128. All host bits in the address MUST be set to zero. The value MUST NOT contain a domain name, UNIX domain socket name, or IPv6 zone identifier.

Instrumentation or Collector receivers that populate this attribute MUST convert native representations, such as an address and subnet mask or an address and prefix length, to equivalent CIDR notation before emitting it.

This attribute MUST NOT be set unless client.address is set to an IPv4 or IPv6 address. The address MUST use the same IP version as this prefix and be contained in it.

[7] client.service.name: SHOULD be equal to the actual service.name resource attribute of the logical client, if any. This identifies the client service whether the telemetry is recorded by the client, the server, or another observer.

[8] client.service.namespace: SHOULD be equal to the actual service.namespace resource attribute of the logical client, if any. This identifies the client service’s namespace whether the telemetry is recorded by the client, the server, or another observer. Together with client.service.name, this identifies the client service. An empty namespace is equivalent to an unspecified namespace.