groups: - id: registry.user_agent type: attribute_group display_name: User-agent Attributes brief: "Describes user-agent attributes." attributes: - id: user_agent.original stability: stable type: string brief: > Value of the [HTTP User-Agent](https://www.rfc-editor.org/rfc/rfc9110.html#field.user-agent) header sent by the client. examples: - "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" - id: user_agent.name type: string stability: experimental brief: > Name of the user-agent extracted from original. Usually refers to the browser's name. examples: ["Safari", "YourApp"] note: > [Example](https://www.whatsmyua.info) 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` - id: user_agent.version type: string stability: experimental brief: > Version of the user-agent extracted from original. Usually refers to the browser's version examples: ["14.1.2", "1.0.0"] note: > [Example](https://www.whatsmyua.info) 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` - id: user_agent.synthetic.type stability: experimental brief: > Specifies the category of synthetic traffic, such as tests or bots. note: > 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. type: members: - id: bot value: "bot" brief: 'Bot source.' stability: experimental - id: test value: "test" brief: 'Synthetic test source.' stability: experimental