Message tracing lets you visualize and report on the path a message has taken, from origin to destination. You can view the amount of time a message took to process as well as the latency as it moves through the Connexion and Integrator workflows. It also includes the ability to track messages through branch operations, across the remote agent-Connexion boundary, and secure-sender boundaries*.
Message tracing works across Remote Agent and Connexion instances. However, the trace view can only display where the message has been up to the point at which you are viewing it. For example, if your message passes through 3 Connexion systems (1, 2, 3), you will only get a complete view if you run the message trace from the final Connexion system (3). If you run the message trace on the intermediate system (2), you will not see any trace information from the final Connexion instance.
Message tracing works by embedding a trace history in each message that passes through Connexion (or Remote Agent). Each device that interacts with the message can optionally include some trace information. Each native Connexion device adds trace information. Information on how to include trace information in your custom devices is given below.
Message tracing information is displayed in a new queue window ‘Message Source Trace’. Like Processing History, this information relates to the currently selected message within the queue. The Source column is either a Uri or a Group/Tab/Channel name. Uris are displayed for trace information external to the current Connexion system. For example, network source Uris (http://, mllp://), file Uris (file://somepath), database Uris (db://…), etc. When the message trace contains pointers to channels within the current Connexion system, it will display the channel as a hyperlink (click to navigate to that channel).
The Stamp column contains the date the message trace information was inserted, and the Delay column contains the elapsed time from the previous stamp. The Delay from Origin column contains the running time span from the message origin (giving you the ability to see how long it took for the message to pass from ingestion to final destination).
A simple trace reading from a database: