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.synthetic.type | string | Specifies the category of synthetic traffic, such as tests or bots. [2] | bot ; test | |
user_agent.version | string | Version of the user-agent extracted from original. Usually refers to the browser’s version [3] | 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.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.
[3] 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.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!