diff --git a/.chloggen/rrschulze_issue1687.yaml b/.chloggen/rrschulze_issue1687.yaml new file mode 100644 index 0000000000..c1d41cf68f --- /dev/null +++ b/.chloggen/rrschulze_issue1687.yaml @@ -0,0 +1,22 @@ +# Use this changelog template to create an entry for release notes. +# +# If your change doesn't affect end users you should instead start +# your pull request title with [chore] or use the "Skip Changelog" label. + +# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' +change_type: new_component + +# The name of the area of concern in the attributes-registry, (e.g. http, cloud, db) +component: mainframe, zos + +# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). +note: Add initial semantic conventions for mainframes + +# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. +# The values here must be integers. +issues: [1687] + +# (Optional) One or more lines of additional information to render under the primary note. +# These lines will be padded with 2 spaces and then inserted directly into the document. +# Use pipe (|) for multiline entries. +subtext: diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index ff2381b5fd..302416bafd 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -119,3 +119,9 @@ /templates/ @open-telemetry/specs-semconv-approvers @open-telemetry/weaver-approvers /internal/ @open-telemetry/specs-semconv-approvers @open-telemetry/weaver-approvers /docs/non-normative/code-generation.md @open-telemetry/specs-semconv-approvers @open-telemetry/weaver-approvers + +# Mainframe +/docs/mainframe @open-telemetry/specs-semconv-approvers @open-telemetry/sig-mainframe-approvers +/model/mainframe @open-telemetry/specs-semconv-approvers @open-telemetry/sig-mainframe-approvers +/docs/zos @open-telemetry/specs-semconv-approvers @open-telemetry/sig-mainframe-approvers +/model/zos @open-telemetry/specs-semconv-approvers @open-telemetry/sig-mainframe-approvers \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index 4edc8d9694..d355adde13 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -65,6 +65,7 @@ body: - area:k8s - area:linux - area:log + - area:mainframe - area:messaging - area:network - area:nodejs @@ -93,6 +94,7 @@ body: - area:v8js - area:vcs - area:webengine + - area:zos # End semconv area list - type: textarea attributes: diff --git a/.github/ISSUE_TEMPLATE/change_proposal.yaml b/.github/ISSUE_TEMPLATE/change_proposal.yaml index b9e963a44b..d8c96455a5 100644 --- a/.github/ISSUE_TEMPLATE/change_proposal.yaml +++ b/.github/ISSUE_TEMPLATE/change_proposal.yaml @@ -57,6 +57,7 @@ body: - area:k8s - area:linux - area:log + - area:mainframe - area:messaging - area:network - area:nodejs @@ -85,6 +86,7 @@ body: - area:v8js - area:vcs - area:webengine + - area:zos # End semconv area list - type: textarea attributes: diff --git a/.github/ISSUE_TEMPLATE/new-conventions.yaml b/.github/ISSUE_TEMPLATE/new-conventions.yaml index f1daf6eac4..f69efe22a9 100644 --- a/.github/ISSUE_TEMPLATE/new-conventions.yaml +++ b/.github/ISSUE_TEMPLATE/new-conventions.yaml @@ -14,6 +14,90 @@ body: pull requests, issues, and questions in this area. Creating a new issue here is a great first step to find others interested in collaborating. + - type: dropdown + id: area + attributes: + label: Area(s) + description: Which area(s) does your new conventions concern? If none fits, please select `area:new` + multiple: true + options: + - area:new + # NOTE: The list below is autogenerated using `make generate-gh-issue-templates` + # DO NOT manually edit it. + # Start semconv area list + - area:android + - area:artifact + - area:aspnetcore + - area:aws + - area:azure + - area:browser + - area:cassandra + - area:cicd + - area:client + - area:cloud + - area:cloudevents + - area:cloudfoundry + - area:code + - area:container + - area:cpu + - area:db + - area:deployment + - area:destination + - area:device + - area:disk + - area:dns + - area:dotnet + - area:elasticsearch + - area:enduser + - area:error + - area:exception + - area:faas + - area:feature-flag + - area:file + - area:gcp + - area:gen-ai + - area:geo + - area:go + - area:graphql + - area:hardware + - area:heroku + - area:host + - area:http + - area:jvm + - area:k8s + - area:linux + - area:log + - area:mainframe + - area:messaging + - area:network + - area:nodejs + - area:oci + - area:opentracing + - area:os + - area:otel + - area:peer + - area:process + - area:profile + - area:rpc + - area:security-rule + - area:server + - area:service + - area:session + - area:signalr + - area:source + - area:system + - area:telemetry + - area:test + - area:thread + - area:tls + - area:url + - area:user + - area:user-agent + - area:v8js + - area:vcs + - area:webengine + - area:zos + # End semconv area list - type: textarea attributes: label: Propose new conventions diff --git a/docs/attributes-registry/README.md b/docs/attributes-registry/README.md index 629a46c242..d05d88fd12 100644 --- a/docs/attributes-registry/README.md +++ b/docs/attributes-registry/README.md @@ -77,6 +77,7 @@ Currently, the following namespaces exist: - [K8s](k8s.md) - [Linux](linux.md) - [Log](log.md) +- [Mainframe](mainframe.md) - [Messaging](messaging.md) - [Network](network.md) - [NodeJS](nodejs.md) @@ -105,5 +106,6 @@ Currently, the following namespaces exist: - [V8js](v8js.md) - [VCS](vcs.md) - [Webengine](webengine.md) +- [Zos](zos.md) [developers recommendations]: ../general/naming.md#recommendations-for-application-developers diff --git a/docs/attributes-registry/mainframe.md b/docs/attributes-registry/mainframe.md new file mode 100644 index 0000000000..296d34b5f3 --- /dev/null +++ b/docs/attributes-registry/mainframe.md @@ -0,0 +1,12 @@ + + + +# Mainframe + +## Mainframe LPAR attributes + +This document defines attributes of a Mainframe Logical Partition (LPAR). + +| Attribute | Type | Description | Examples | Stability | +|---|---|---|---|---| +| `mainframe.lpar.name` | string | Name of the logical partition that hosts a systems with a mainframe operating system. | `LPAR01` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/attributes-registry/tps.md b/docs/attributes-registry/tps.md new file mode 100644 index 0000000000..3dcdc2c6d7 --- /dev/null +++ b/docs/attributes-registry/tps.md @@ -0,0 +1,32 @@ + + + + + +# Tps + +- [Transaction Processing System Attributes](#transaction-processing-system-attributes) +- [IBM Information Management System (IMS) Attributes](#ibm-information-management-system-ims-attributes) + +## Transaction Processing System Attributes + +This group defines generic attributes for Transaction Processing Systems (TPS). + +| Attribute | Type | Description | Examples | Stability | +|---|---|---|---|---| +| `tps.program.name` | string | Program name executed by the task | `PROG123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `tps.region.id` | string | Runtime environment within the Transaction Processing System | `PRD1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `tps.system` | string | Type of Transaction Processing System | `jta`; `tuxedo`; `cics`; `ims`; `ztpf` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `tps.task.id` | string | Identifier of the task created to run the transaction | `1554` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `tps.transaction.id` | string | Identifier of the transaction initiated by a user or system request | `TRX1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `tps.transaction.owner` | string | Identifier of the user owning the transaction | `USER` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `tps.unit_of_work.id` | string | Unit of work executed by the program | `DF308CBF385A3C05` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + +## IBM Information Management System (IMS) Attributes + +This group defines attributes for IBM Information Management System (IMS) for z/OS + +| Attribute | Type | Description | Examples | Stability | +|---|---|---|---|---| +| `tps.ims.commit_mode` | string | Determines the type of commit mode processing that IMS performs. | `0`; `1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/attributes-registry/zos.md b/docs/attributes-registry/zos.md new file mode 100644 index 0000000000..2f834c42d0 --- /dev/null +++ b/docs/attributes-registry/zos.md @@ -0,0 +1,13 @@ + + + +# Zos + +## z/OS attributes + +This document defines attributes of a z/OS resource. + +| Attribute | Type | Description | Examples | Stability | +|---|---|---|---|---| +| `zos.smf.id` | string | The System Management Facility (SMF) Identifier uniquely identified a z/OS system within a SYSPLEX or mainframe environment and is used for system and performance analysis. | `SYS1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `zos.sysplex` | string | The name of the SYSPLEX to which the z/OS system belongs too. | `SYSPLEX1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/resource/zos.md b/docs/resource/zos.md new file mode 100644 index 0000000000..963384b4a3 --- /dev/null +++ b/docs/resource/zos.md @@ -0,0 +1,114 @@ + + + + + + + + +**Status:** ![Mixed](https://img.shields.io/badge/-mixed-yellow) + +**type:** `zos.software` + +**Description:** A software resource running on a z/OS system. +| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | +|---|---|---|---|---|---| +| [`os.type`](/docs/attributes-registry/os.md) | string | The operating system type. | `z_os` | `Required` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`process.command`](/docs/attributes-registry/process.md) | string | The command used to launch the process (i.e. the command name). On z/OS, SHOULD be set to the name of the job used to start the z/OS system software. | `CICSSTRT` | `Required` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`process.pid`](/docs/attributes-registry/process.md) | int | Process identifier (PID). [1] | `008A` | `Required` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`service.instance.id`](/docs/attributes-registry/service.md) | string | The string ID of the service instance. [2] | `CICSPROD` | `Required` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`service.name`](/docs/attributes-registry/service.md) | string | Logical name of the service. [3] | `CICS TS`; `Datacom`; `ADABAS` | `Required` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| [`service.namespace`](/docs/attributes-registry/service.md) | string | A namespace for `service.name`. [4] | `CICSPLX2` | `Required` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`service.version`](/docs/attributes-registry/service.md) | string | The version string of the service API or implementation. The format is not defined by these conventions. [5] | `5.6` | `Required` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| [`zos.smf.id`](/docs/attributes-registry/zos.md) | string | The System Management Facility (SMF) Identifier uniquely identified a z/OS system within a SYSPLEX or mainframe environment and is used for system and performance analysis. | `SYS1` | `Required` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`zos.sysplex`](/docs/attributes-registry/zos.md) | string | The name of the SYSPLEX to which the z/OS system belongs too. | `SYSPLEX1` | `Required` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`host.arch`](/docs/attributes-registry/host.md) | string | The CPU architecture the host system is running on. | `s390x` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`host.name`](/docs/attributes-registry/host.md) | string | Name of the host. On z/OS, SHOULD be the full qualified hostname used to register the z/OS system in DNS. | `SYS1.DOMAIN.COM` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`mainframe.lpar.name`](/docs/attributes-registry/mainframe.md) | string | Name of the logical partition that hosts a systems with a mainframe operating system. | `LPAR01` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`os.version`](/docs/attributes-registry/os.md) | string | The version string of the operating system. On z/OS, SHOULD be the release returned by the command `d iplinfo`. | `3.1.0` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`telemetry.sdk.language`](/docs/attributes-registry/telemetry.md) | string | The language of the telemetry SDK. | `cpp`; `dotnet`; `erlang` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| [`telemetry.sdk.name`](/docs/attributes-registry/telemetry.md) | string | The name of the telemetry SDK as defined above. [6] | `opentelemetry` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| [`telemetry.sdk.version`](/docs/attributes-registry/telemetry.md) | string | The version string of the telemetry SDK. | `1.2.3` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| [`host.id`](/docs/attributes-registry/host.md) | string | Unique host ID. On z/OS, SHOULD be the concatenation of sysplex name and SMFID, separated by a dash | `SYSPLEX1-SYS1` | `Opt-In` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`os.description`](/docs/attributes-registry/os.md) | string | Human readable OS version information, e.g., as reported by command `d iplinfo`. | `IBM z/OS 3.1` | `Opt-In` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`os.name`](/docs/attributes-registry/os.md) | string | Human readable operating system name. | `z/OS` | `Opt-In` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`process.owner`](/docs/attributes-registry/process.md) | string | The username of the user that owns the process. [7] | `CICSUSR` | `Opt-In` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`process.runtime.description`](/docs/attributes-registry/process.md) | string | An additional description about the runtime of the process, for example a specific vendor customization of the runtime environment. | `IBM Customer Information Control System (CICS) Transaction Server for z/OS Version 5.6` | `Opt-In` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`process.runtime.name`](/docs/attributes-registry/process.md) | string | The name of the runtime of this process. | `CICS Transaction Server z/OS Version 5.6` | `Opt-In` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`process.runtime.version`](/docs/attributes-registry/process.md) | string | The version of the runtime of this process, as returned by the runtime without modification. | `5.6` | `Opt-In` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + +**[1] `process.pid`:** On z/OS, SHOULD be set to the Address Space Identifier. + +**[2] `service.instance.id`:** For z/OS system software, SHOULD be set to the identifier representing the current instance of the the z/OS system software, e.g., the CICS region APPLID or IMS region IMSID. + +**[3] `service.name`:** For z/OS system software, SHOULD be set to an appreviated name of the z/OS system software. + +**[4] `service.namespace`:** For z/OS system software, SHOULD be set to the identifier representing of a grouping of the z/OS system software instances, e.g., the name of the CICSPLEX. + +**[5] `service.version`:** For z/OS system software, SHOULD be set to the version of the z/OS system software. + +**[6] `telemetry.sdk.name`:** The OpenTelemetry SDK MUST set the `telemetry.sdk.name` attribute to `opentelemetry`. +If another SDK, like a fork or a vendor-provided implementation, is used, this SDK MUST set the +`telemetry.sdk.name` attribute to the fully-qualified class or module name of this SDK's main entry point +or another suitable identifier depending on the language. +The identifier `opentelemetry` is reserved and MUST NOT be used in this case. +All custom identifiers SHOULD be stable across different versions of an implementation. + +**[7] `process.owner`:** On z/OS, SHOULD be set to the user under which the z/OS system software is executed. + +--- + +`host.arch` 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 | +|---|---|---| +| `amd64` | AMD64 | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `arm32` | ARM32 | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `arm64` | ARM64 | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `ia64` | Itanium | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `ppc32` | 32-bit PowerPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `ppc64` | 64-bit PowerPC | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `s390x` | IBM z/Architecture | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `x86` | 32-bit x86 | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + +--- + +`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 | Stability | +|---|---|---| +| `aix` | AIX (Advanced Interactive eXecutive) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `darwin` | Apple Darwin | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `dragonflybsd` | DragonFly BSD | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `freebsd` | FreeBSD | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `hpux` | HP-UX (Hewlett Packard Unix) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `linux` | Linux | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `netbsd` | NetBSD | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `openbsd` | OpenBSD | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `solaris` | SunOS, Oracle Solaris | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `windows` | Microsoft Windows | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `z_os` | IBM z/OS | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + +--- + +`telemetry.sdk.language` 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 | +|---|---|---| +| `cpp` | cpp | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| `dotnet` | dotnet | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| `erlang` | erlang | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| `go` | go | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| `java` | java | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| `nodejs` | nodejs | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| `php` | php | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| `python` | python | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| `ruby` | ruby | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| `rust` | rust | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| `swift` | swift | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | +| `webjs` | webjs | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | + + + + + diff --git a/model/mainframe/registry_lpar.yaml b/model/mainframe/registry_lpar.yaml new file mode 100644 index 0000000000..d1d1deb5ba --- /dev/null +++ b/model/mainframe/registry_lpar.yaml @@ -0,0 +1,11 @@ +groups: + - id: registry.mainframe.lpar + type: attribute_group + display_name: Mainframe LPAR attributes + brief: This document defines attributes of a Mainframe Logical Partition (LPAR). + attributes: + - id: mainframe.lpar.name + type: string + stability: experimental + brief: "Name of the logical partition that hosts a systems with a mainframe operating system." + examples: ["LPAR01"] diff --git a/model/zos/registry.yaml b/model/zos/registry.yaml new file mode 100644 index 0000000000..e8ca2735e1 --- /dev/null +++ b/model/zos/registry.yaml @@ -0,0 +1,17 @@ +groups: + - id: registry.zos + type: attribute_group + display_name: z/OS attributes + brief: > + This document defines attributes of a z/OS resource. + attributes: + - id: zos.smf.id + type: string + stability: experimental + brief: "The System Management Facility (SMF) Identifier uniquely identified a z/OS system within a SYSPLEX or mainframe environment and is used for system and performance analysis." + examples: ["SYS1"] + - id: zos.sysplex + type: string + stability: experimental + brief: "The name of the SYSPLEX to which the z/OS system belongs too." + examples: ["SYSPLEX1"] diff --git a/model/zos/resources.yaml b/model/zos/resources.yaml new file mode 100644 index 0000000000..bc5d2f8a12 --- /dev/null +++ b/model/zos/resources.yaml @@ -0,0 +1,74 @@ +groups: + - id: resource.zos.software + type: resource + stability: experimental + name: zos.software + brief: A software resource running on a z/OS system. + attributes: + - ref: service.name + note: For z/OS system software, SHOULD be set to an appreviated name of the z/OS system software. + examples: ['CICS TS', 'Datacom', 'ADABAS'] + requirement_level: required + - ref: service.version + note: For z/OS system software, SHOULD be set to the version of the z/OS system software. + examples: '5.6' + requirement_level: required + - ref: service.instance.id + note: For z/OS system software, SHOULD be set to the identifier representing the current instance of the the z/OS system software, e.g., the CICS region APPLID or IMS region IMSID. + examples: 'CICSPROD' + requirement_level: required + - ref: service.namespace + note: For z/OS system software, SHOULD be set to the identifier representing of a grouping of the z/OS system software instances, e.g., the name of the CICSPLEX. + examples: 'CICSPLX2' + requirement_level: required + - ref: process.command + brief: 'The command used to launch the process (i.e. the command name). On z/OS, SHOULD be set to the name of the job used to start the z/OS system software.' + examples: 'CICSSTRT' + requirement_level: required + - ref: process.pid + note: 'On z/OS, SHOULD be set to the Address Space Identifier.' + examples: '008A' + requirement_level: required + - ref: process.owner + note: 'On z/OS, SHOULD be set to the user under which the z/OS system software is executed.' + examples: 'CICSUSR' + requirement_level: opt_in + - ref: process.runtime.description + examples: 'IBM Customer Information Control System (CICS) Transaction Server for z/OS Version 5.6' + requirement_level: opt_in + - ref: process.runtime.name + examples: 'CICS Transaction Server z/OS Version 5.6' + requirement_level: opt_in + - ref: process.runtime.version + examples: '5.6' + requirement_level: opt_in + - ref: os.type + examples: 'z_os' + requirement_level: required + - ref: os.description + brief: 'Human readable OS version information, e.g., as reported by command `d iplinfo`.' + examples: 'IBM z/OS 3.1' + requirement_level: opt_in + - ref: os.name + examples: z/OS + requirement_level: opt_in + - ref: os.version + brief: 'The version string of the operating system. On z/OS, SHOULD be the release returned by the command `d iplinfo`.' + examples: '3.1.0' + - ref: zos.sysplex + requirement_level: required + - ref: zos.smf.id + requirement_level: required + - ref: mainframe.lpar.name + - ref: host.name + brief: 'Name of the host. On z/OS, SHOULD be the full qualified hostname used to register the z/OS system in DNS.' + examples: 'SYS1.DOMAIN.COM' + - ref: host.arch + examples: 's390x' + - ref: host.id + brief: 'Unique host ID. On z/OS, SHOULD be the concatenation of sysplex name and SMFID, separated by a dash' + examples: 'SYSPLEX1-SYS1' + requirement_level: opt_in + - ref: telemetry.sdk.language + - ref: telemetry.sdk.name + - ref: telemetry.sdk.version