Skip to content

Commit

Permalink
move OS to registry (#501)
Browse files Browse the repository at this point in the history
Co-authored-by: Alexander Wert <[email protected]>
Co-authored-by: Joao Grassi <[email protected]>
  • Loading branch information
3 people authored Nov 13, 2023
1 parent 68457cb commit d9c24b4
Show file tree
Hide file tree
Showing 5 changed files with 113 additions and 64 deletions.
1 change: 1 addition & 0 deletions docs/attributes-registry/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ Currently, the following namespaces exist:
* [HTTP](http.md)
* [Network](network.md)
* [OCI](oci.md)
* [OS](os.md)
* [Process](process.md)
* [RPC](rpc.md)
* [Server](server.md)
Expand Down
32 changes: 32 additions & 0 deletions docs/attributes-registry/os.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<!--- Hugo front matter used to generate the website version of this page:
linkTitle: OS
--->
# OS

## Operating System Attributes

<!-- semconv registry.os(omit_requirement_level) -->
| Attribute | Type | Description | Examples |
|---|---|---|---|
| `os.build_id` | string | Unique identifier for a particular build or compilation of the operating system. | `TQ3C.230805.001.B2`; `20E247`; `22621` |
| `os.description` | string | Human readable (not intended to be parsed) OS version information, like e.g. reported by `ver` or `lsb_release -a` commands. | `Microsoft Windows [Version 10.0.18363.778]`; `Ubuntu 18.04.1 LTS` |
| `os.name` | string | Human readable operating system name. | `iOS`; `Android`; `Ubuntu` |
| `os.type` | string | The operating system type. | `windows` |
| `os.version` | string | The version string of the operating system as defined in [Version Attributes](/docs/resource/README.md#version-attributes). | `14.2.1`; `18.04.1` |

`os.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 |
|---|---|
| `windows` | Microsoft Windows |
| `linux` | Linux |
| `darwin` | Apple Darwin |
| `freebsd` | FreeBSD |
| `netbsd` | NetBSD |
| `openbsd` | OpenBSD |
| `dragonflybsd` | DragonFly BSD |
| `hpux` | HP-UX (Hewlett Packard Unix) |
| `aix` | AIX (Advanced Interactive eXecutive) |
| `solaris` | SunOS, Oracle Solaris |
| `z_os` | IBM z/OS |
<!-- endsemconv -->
12 changes: 6 additions & 6 deletions docs/resource/os.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@

In case of virtualized environments, this is the operating system as it is observed by the process, i.e., the virtualized guest rather than the underlying host.

<!-- semconv os -->
<!-- semconv os(full) -->
| Attribute | Type | Description | Examples | Requirement Level |
|---|---|---|---|---|
| `os.build_id` | string | Unique identifier for a particular build or compilation of the operating system. | `TQ3C.230805.001.B2`; `20E247`; `22621` | Recommended |
| `os.description` | string | Human readable (not intended to be parsed) OS version information, like e.g. reported by `ver` or `lsb_release -a` commands. | `Microsoft Windows [Version 10.0.18363.778]`; `Ubuntu 18.04.1 LTS` | Recommended |
| `os.name` | string | Human readable operating system name. | `iOS`; `Android`; `Ubuntu` | Recommended |
| `os.type` | string | The operating system type. | `windows` | Required |
| `os.version` | string | The version string of the operating system as defined in [Version Attributes](/docs/resource/README.md#version-attributes). | `14.2.1`; `18.04.1` | Recommended |
| [`os.build_id`](../attributes-registry/os.md) | string | Unique identifier for a particular build or compilation of the operating system. | `TQ3C.230805.001.B2`; `20E247`; `22621` | Recommended |
| [`os.description`](../attributes-registry/os.md) | string | Human readable (not intended to be parsed) OS version information, like e.g. reported by `ver` or `lsb_release -a` commands. | `Microsoft Windows [Version 10.0.18363.778]`; `Ubuntu 18.04.1 LTS` | Recommended |
| [`os.name`](../attributes-registry/os.md) | string | Human readable operating system name. | `iOS`; `Android`; `Ubuntu` | Recommended |
| [`os.type`](../attributes-registry/os.md) | string | The operating system type. | `windows` | Required |
| [`os.version`](../attributes-registry/os.md) | string | The version string of the operating system as defined in [Version Attributes](/docs/resource/README.md#version-attributes). | `14.2.1`; `18.04.1` | Recommended |

`os.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.

Expand Down
69 changes: 69 additions & 0 deletions model/registry/os.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
groups:
- id: registry.os
prefix: os
type: attribute_group
brief: >
The operating system (OS) on which the process represented by this resource is running.
note: >
In case of virtualized environments, this is the operating system as it is observed by
the process, i.e., the virtualized guest rather than the underlying host.
attributes:
- id: type
type:
allow_custom_values: true
members:
- id: windows
value: 'windows'
brief: "Microsoft Windows"
- id: linux
value: 'linux'
brief: "Linux"
- id: darwin
value: 'darwin'
brief: "Apple Darwin"
- id: freebsd
value: 'freebsd'
brief: "FreeBSD"
- id: netbsd
value: 'netbsd'
brief: "NetBSD"
- id: openbsd
value: 'openbsd'
brief: "OpenBSD"
- id: dragonflybsd
value: 'dragonflybsd'
brief: "DragonFly BSD"
- id: hpux
value: 'hpux'
brief: "HP-UX (Hewlett Packard Unix)"
- id: aix
value: 'aix'
brief: "AIX (Advanced Interactive eXecutive)"
- id: solaris
value: 'solaris'
brief: "SunOS, Oracle Solaris"
- id: z_os
value: 'z_os'
brief: "IBM z/OS"
brief: >
The operating system type.
- id: description
type: string
brief: >
Human readable (not intended to be parsed) OS version information,
like e.g. reported by `ver` or `lsb_release -a` commands.
examples: ['Microsoft Windows [Version 10.0.18363.778]', 'Ubuntu 18.04.1 LTS']
- id: name
type: string
brief: 'Human readable operating system name.'
examples: ['iOS', 'Android', 'Ubuntu']
- id: version
type: string
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']
- id: build_id
type: string
brief: 'Unique identifier for a particular build or compilation of the operating system.'
examples: ['TQ3C.230805.001.B2', '20E247', '22621']
63 changes: 5 additions & 58 deletions model/resource/os.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,62 +8,9 @@ groups:
In case of virtualized environments, this is the operating system as it is observed by
the process, i.e., the virtualized guest rather than the underlying host.
attributes:
- id: type
type:
allow_custom_values: true
members:
- id: windows
value: 'windows'
brief: "Microsoft Windows"
- id: linux
value: 'linux'
brief: "Linux"
- id: darwin
value: 'darwin'
brief: "Apple Darwin"
- id: freebsd
value: 'freebsd'
brief: "FreeBSD"
- id: netbsd
value: 'netbsd'
brief: "NetBSD"
- id: openbsd
value: 'openbsd'
brief: "OpenBSD"
- id: dragonflybsd
value: 'dragonflybsd'
brief: "DragonFly BSD"
- id: hpux
value: 'hpux'
brief: "HP-UX (Hewlett Packard Unix)"
- id: aix
value: 'aix'
brief: "AIX (Advanced Interactive eXecutive)"
- id: solaris
value: 'solaris'
brief: "SunOS, Oracle Solaris"
- id: z_os
value: 'z_os'
brief: "IBM z/OS"
- ref: os.type
requirement_level: required
brief: 'The operating system type.'
- id: description
type: string
brief: >
Human readable (not intended to be parsed) OS version information,
like e.g. reported by `ver` or `lsb_release -a` commands.
examples: ['Microsoft Windows [Version 10.0.18363.778]', 'Ubuntu 18.04.1 LTS']
- id: name
type: string
brief: 'Human readable operating system name.'
examples: ['iOS', 'Android', 'Ubuntu']
- id: version
type: string
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']
- id: build_id
type: string
brief: 'Unique identifier for a particular build or compilation of the operating system.'
examples: ['TQ3C.230805.001.B2', '20E247', '22621']
- ref: os.description
- ref: os.name
- ref: os.version
- ref: os.build_id

0 comments on commit d9c24b4

Please sign in to comment.