OpenTelemetry tracing in IMS

You can find information about OpenTelemetry tracing that is supported in IMS 15.5 or later. You must apply the PTF UO05322 for APAR PH62728 and PTF UO0533 for APAR PH65117 for the OpenTelemetry support in IMS and IMS Connect respectively.

Introduction

OpenTelemetry is an open-source project designed to provide a unified set of APIs, SDKs, and tools for instrumenting, generating, and collecting telemetry data (metrics, logs, and traces). OpenTelemetry is a vendor-neutral standard for observability, enabling you to instrument your applications once and send the data to any backend that can be an open-source tool or a commercial observability platform.

OpenTelemetry tracing

OpenTelemetry tracing is a vendor-neutral specification and includes a set of tools for generating, collecting, and exporting traces. A trace represents the end-to-end journey of a request as it travels through a distributed system. It's a key component of observability, providing insights into the performance and behavior of applications.

OpenTelemetry support in IMS

The following figure depicts the OpenTelemetry support in IMS.
Image showing OpenTelemetry support in IMS

Configuring z/OS for IMS OpenTelemetry support

IMS Connect and IMS emit spans in the form of SMF 1160 records. IMS spans are record type 1160 and subtype 1 while IMS Connect spans are record type 1160 and subtype 2.

Create in-memory records for use with IMS Connect and IMS, by using the following instructions. This in-memory resource is used by all IMS Connect and IMS regions that run on the LPAR.
  1. Determine the name of the in-memory resource. For example, IFASMF.IMSOTEL.
  2. Ask a security administrator to define a new SAF resource for the FACILITY class to protect the IBM® IMS resource. The resource is the name of the in-memory resource prefixed with IFA. For example, IFA.IFASMF.IMSOTEL.
  3. Give each IBM IMS Connect and IMS started task, an ID READ access to the SAF resource.
  4. Update the SMFPRMxx parmlib member to specify the INMEM parameter, resource name, and values for the RESSIZMAX and TYPE sub-parameters for each in-memory resource that you want to define. For example, SETSMF INMEM(IFASMF.IMSOTEL,RESSIZMAX(128M),TYPE(1160))
  5. Issue the SET SMF=xx command to activate the updated SMFPRMxx member.

Common z/OS and zLinux OpenTelemetry configuration tasks

The OpenTelemetry configuration tasks that are common for both z/OS® and zLinux systems are as follows:
  1. Configure OTEL Emitter Service as specified in the Advanced Data Gatherer. Refer to the Data Gatherer User's Guide (SC31-5703).
  2. Configure OTEL Gateway. Refer to the Data Gatherer Programmer's Guide (SC31-5701).
  3. Enable any Application Performance Monitor (APM) dashboard of your choice, for example, IBM Instana®, and connect to the OpenTelemetry Gateway.