Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add host cpu info #209

Merged
merged 10 commits into from
Sep 7, 2023
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,8 @@ release.
([#252](https://github.com/open-telemetry/semantic-conventions/pull/252))
- Simplify HTTP metric briefs.
([#276](https://github.com/open-telemetry/semantic-conventions/pull/276))
- Add host cpu resource attributes.
([#209](https://github.com/open-telemetry/semantic-conventions/pull/209))

## v1.21.0 (2023-07-13)

Expand Down
15 changes: 15 additions & 0 deletions docs/resource/host.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,21 @@
| `x86` | 32-bit x86 |
<!-- endsemconv -->

**type:** `host.cpu`

<!-- semconv host.cpu -->
| Attribute | Type | Description | Examples | Requirement Level |
|---|---|---|---|---|
| `host.cpu.vendor.id` | string | Processor manufacturer identifier. A maximum 12-character string. [1] | `GenuineIntel` | Opt-In |
| `host.cpu.family` | int | Numeric value specifying the family or generation of the CPU. | `6` | Opt-In |
| `host.cpu.model.id` | int | Model identifier. It provides more granular information about the CPU, distinguishing it from other CPUs within the same family. | `6` | Opt-In |
| `host.cpu.model.name` | string | Model designation of the processor. | `11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz` | Opt-In |
| `host.cpu.stepping` | int | Stepping or core revisions. | `1` | Opt-In |
| `host.cpu.cache.l2.size` | int | The amount of level 2 memory cache available to the processor (in Bytes). | `12288000` | Opt-In |
joaopgrassi marked this conversation as resolved.
Show resolved Hide resolved

**[1]:** [CPUID](https://wiki.osdev.org/CPUID) command returns the vendor ID string in EBX, EDX and ECX registers. Writing these to memory in this order results in a 12-character string.
<!-- endsemconv -->

## Collecting host.id from non-containerized systems

### Non-privileged Machine ID Lookup
Expand Down
46 changes: 46 additions & 0 deletions model/resource/host.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -70,3 +70,49 @@ groups:
The version string of the VM image or host OS as defined in
[Version Attributes](README.md#version-attributes).
examples: ['0.1']
- id: host.cpu
prefix: host.cpu
type: resource
brief: >
A host's CPU information
attributes:
- id: vendor.id
requirement_level: opt_in
type: string
brief: >
Processor manufacturer identifier. A maximum 12-character string.
ChrsMark marked this conversation as resolved.
Show resolved Hide resolved
note: >
[CPUID](https://wiki.osdev.org/CPUID) command returns the vendor ID string in EBX, EDX and ECX registers.
Writing these to memory in this order results in a 12-character string.
examples: [ 'GenuineIntel' ]
- id: family
requirement_level: opt_in
type: int
brief: >
Numeric value specifying the family or generation of the CPU.
examples: [ 6 ]
- id: model.id
requirement_level: opt_in
type: int
brief: >
Model identifier. It provides more granular information about the CPU, distinguishing it from
other CPUs within the same family.
examples: [ 6 ]
- id: model.name
requirement_level: opt_in
type: string
brief: >
Model designation of the processor.
examples: [ '11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz' ]
- id: stepping
requirement_level: opt_in
type: int
brief: >
Stepping or core revisions.
examples: [ 1 ]
- id: cache.l2.size
requirement_level: opt_in
type: int
brief: >
The amount of level 2 memory cache available to the processor (in Bytes).
examples: [ 12288000 ]