CICS and OpenTelemetry
6.3 beta Applies to 6.3 and CICS TS beta.
OpenTelemetry (OTel) is an open source observability framework that enables the instrumentation of applications and systems across different infrastructures and run-times in a hybrid cloud architecture to generate, gather, and export telemetry data to observability back-end systems, such as Jaeger or Prometheus, for analysis. This data provides a holistic and comprehensive view of how applications interact, making it easier for teams to optimize performance and troubleshoot issues.
There are three OTel data types - traces, metrics, and logs.
- Traces, which are made up of spans, track the flow of an application through a system. A trace represents the entire journey of a request through a system, while a span represents a single operation within that journey.
- Metrics provide runtime measurements of a system.
- Logs provide recording of events.
You can configure CICS to participate in OTel tracing by propagating OTel trace context and generating span data records when tasks complete.
Why use OpenTelemetry trace?
Key benefits of using OTel trace include:
- Identifying performance bottlenecks and slow-downs
- Locating errors by tracing the request path
- Gaining a comprehensive view of application interactions and potential efficiency gains
For more information about OpenTelemetry, see the OpenTelemetry documentation.
Why OpenTelemetry tracing matters for CICS
Troubleshooting issues in complex distributed systems can be challenging, especially when flows involve both distributed and IBM® z/OS® components such as CICS. By enabling CICS to participate in OTel tracing, you can access CICS transaction data and correlate it with data from other systems. Correlating CICS data with other system data helps you quickly identify the location of errors and performance issues. Once identified, traditional diagnostic tools can help you determine the root cause.
Enabling OTel tracing across your enterprise allows you to track requests across systems. If CICS is not configured to participate in the global OTel trace framework, CICS transactions do not generate trace data, making end-to-end transaction visibility impossible.
OpenTelemetry Java API and SDK support in CICS
CICS supports the OpenTelemetry Java™ API and SDK within JVM servers. This enables Java applications running under CICS to propagate context and produce telemetry data when the controlling CICS region is configured for OTel tracing. Java applications emit their OTel data to either an OTel collector or to an observability back-end system via the Java SDK.
For more information about CICS and OpenTelemetry Java, see the How it works: Java and OpenTelemetry documentation.
OpenTelemetry trace is different from CICS trace
OTel trace differs from CICS trace. OTel trace is used primarily to locate where a problem occurs within a distributed system. CICS trace is a debugging tool that is used to diagnose what the problem is once its location is known. Use OTel trace to find the location of an issue, then use CICS trace to help resolve it.