Header background

Update: End-to-end tracing of messages across IBM MQ

Dynatrace OneAgent allows you to track each request from end-to-end, following individual messages across queues. This enables Davis®, the Dynatrace AI causation engine, to automatically identify the root causes of detected problems even in the most complex business processes and large microservices landscapes.

OneAgent also enables you to analyze transactions using powerful analysis features like service flow and the service-level backtrace. For supported messaging services, including IBM MQ, Dynatrace automatically detects and monitors queues and messages in your applications.

IBM MQ message tracing

IBM MQ request tracing for Java has been in silent Beta for a while now. IBM MQ is special for us because it connects the distributed world (Linux, Windows, microservices) with IBM Integration Bus and the IBM mainframe world. While it does support message headers, which are used by conventional queuing systems, you can’t rely on message headers always being available. Additionally, IBM MQ is often used to connect to 30-, 40-, or even 50-year old mainframe applications—applications that can’t deal with message headers. As such, IBM MQ support had to be developed with extra care.

Dynatrace IBM MQ request tracing for Java brings tremendous value by connecting these two largely separate worlds. We’re happy to announce its immediate general availability (GA) with OneAgent version 1.161 and Dynatrace version 1.163.

We’re also proud to release Beta support for IBM MQ message tracing for .NET in OneAgent version 1.161.

Dynatrace OneAgent has long displayed IBM MQs in Smartscape topology view (see example below).

IBM MQ in Smartscape

All services that use an IBM MQ are listed in the Sends to queue and Receives from queue sections of the related service overview page.

Service overview page when using IBM MQ

Activate and view IBM MQ end-to-end tracing

Dynatrace puts great emphasis on stability and quality. To this end, we don’t automatically activate new features upon release within existing environments. To enable IBM MQ support, go to Settings > Server-side service monitoring > Deep monitoring. Expand OneAgent beta features and search for IBM MQ. Set the IBM MQ tracing switch to the Enable position.

Then enable the Java IBM MQ tracing or .NET messaging IBM MQ options as required. Click the Save changes button.

Activate IBM MQ tracing for Java

With end-to-end request queue tracing enabled, the Service flow and PurePath views now trace messages wherever they lead. This results in an end-to-end view of each message trace, as long as each message is sent and received within the same queue (see example below).

End-to-end service flow view of message trace in IBM MQ

This means that Service-level backtraces can also now follow messages backward, to their origins.

Service-level backtrace to message origin

And, of course, when you look at a single PurePath you can now understand the end-to-end flow of the message.

Message PurePath for end-to-end flow

This new functionality works for JMS-based applications and Java applications that use the IBM MQ client library. If you use IBM MQ via JMS, our solution will work out-of-the-box. If you use the IBM MQ Java client directly, you’ll need to define a custom service for the message handler so that each method call handles a single IBM MQ message.

.NET IBM MQ Beta

We’re also proud to announce the Beta availability of IBM MQ end-to-end tracing for .NET. In recent years, .NET and .NET Core applications have become more and more popular as a front-end for banking applications. These applications still need to connect to the business applications running in more traditional setups however (for example, IBM WebSphere, IBM Integration Bus, or CICS on the mainframe). This feature enables you and the Dynatrace AI causation engine to bridge these two worlds.

To activate IBM MQ for .NET, go to Settings > Server-side service monitoring > Deep monitoring. Expand OneAgent beta features and search for IBM MQ. Set the IBM MQ tracing and .NET messaging IBM MQ switches to the Enable position.

Click the Save changes button.

Activate IBM MQ tracing for .NET

What’s next

  • We’ve brought the Early Access Program for our IBM Integration Bus support to a close; it will be available in public Beta mode with Dynatrace and Managed versions 1.164.
  • We’ve recently launched our Early Access Programs for CICS and IMS on IBM mainframes. These will feature IBM MQ support as well.
  • For IBM MQ, Dynatrace doesn’t place trace tags on messages so as to avoid issues with older mainframe programs. Nevertheless, we’re able to trace messages across IBM MQ. If you have transactions that jump queues or queue manager boundaries, Dynatrace can’t connect the transactions automatically. To support such use cases, we will soon provide a new API.