Skip to content

Latest commit

 

History

History
46 lines (30 loc) · 4.29 KB

File metadata and controls

46 lines (30 loc) · 4.29 KB

User agent

User-agent Attributes

Describes user-agent attributes.

Attribute Type Description Examples Stability
user_agent.name string Name of the user-agent extracted from original. Usually refers to the browser's name. [1] Safari; YourApp Development
user_agent.original string Value of the HTTP User-Agent header sent by the client. CERN-LineMode/2.15 libwww/2.17b3; Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.2 Mobile/15E148 Safari/604.1; YourApp/1.0.0 grpc-java-okhttp/1.27.2 Stable
user_agent.version string Version of the user-agent extracted from original. Usually refers to the browser's version [2] 14.1.2; 1.0.0 Development

[1] user_agent.name: Example of extracting browser's name from original string. In the case of using a user-agent for non-browser products, such as microservices with multiple names/versions inside the user_agent.original, the most significant name SHOULD be selected. In such a scenario it should align with user_agent.version

[2] user_agent.version: Example of extracting browser's version from original string. In the case of using a user-agent for non-browser products, such as microservices with multiple names/versions inside the user_agent.original, the most significant version SHOULD be selected. In such a scenario it should align with user_agent.name

User-agent OS Attributes

Describes the OS user-agent attributes.

Attribute Type Description Examples Stability
user_agent.os.name string Human readable operating system name. [3] iOS; Android; Ubuntu Development
user_agent.os.version string The version string of the operating system as defined in Version Attributes. [4] 14.2.1; 18.04.1 Development
user_agent.synthetic.type string Specifies the category of synthetic traffic, such as tests or bots. [5] bot; test Development

[3] user_agent.os.name: For mapping user agent strings to OS names, libraries such as ua-parser can be utilized.

[4] user_agent.os.version: For mapping user agent strings to OS versions, libraries such as ua-parser can be utilized.

[5] user_agent.synthetic.type: This attribute MAY be derived from the contents of the user_agent.original attribute. Components that populate the attribute are responsible for determining what they consider to be synthetic bot or test traffic. This attribute can either be set for self-identification purposes, or on telemetry detected to be generated as a result of a synthetic request. This attribute is useful for distinguishing between genuine client traffic and synthetic traffic generated by bots or tests.


user_agent.synthetic.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 Stability
bot Bot source. Development
test Synthetic test source. Development