80 lines
3.8 KiB
YAML
80 lines
3.8 KiB
YAML
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: development
|
|
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: development
|
|
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: registry.user_agent.os
|
|
type: attribute_group
|
|
display_name: User-agent OS Attributes
|
|
brief: "Describes the OS user-agent attributes."
|
|
attributes:
|
|
- id: user_agent.os.name
|
|
type: string
|
|
stability: development
|
|
brief: 'Human readable operating system name.'
|
|
examples: ['iOS', 'Android', 'Ubuntu']
|
|
note: >
|
|
For mapping user agent strings to OS names, libraries such as [ua-parser](https://github.com/ua-parser) can be utilized.
|
|
- id: user_agent.os.version
|
|
type: string
|
|
stability: development
|
|
brief: >
|
|
The version string of the operating system as defined in
|
|
[Version Attributes](/docs/resource/README.md#version-attributes).
|
|
examples: ['14.2.1', '18.04.1']
|
|
note: >
|
|
For mapping user agent strings to OS versions, libraries such as [ua-parser](https://github.com/ua-parser) can be utilized.
|
|
|
|
- id: user_agent.synthetic.type
|
|
stability: development
|
|
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: development
|
|
- id: test
|
|
value: "test"
|
|
brief: 'Synthetic test source.'
|
|
stability: development
|