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 | |
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 | |
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 |
[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 | |
user_agent.os.version | string | The version string of the operating system as defined in Version Attributes. [4] | 14.2.1; 18.04.1 | |
user_agent.synthetic.type | string | Specifies the category of synthetic traffic, such as tests or bots. [5] | bot; test |
[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. | |
test | Synthetic test source. |
Feedback
Was this page helpful?
Thank you. Your feedback is appreciated!
Please let us know how we can improve this page. Your feedback is appreciated!