App Connect

App Connect

Join this online user group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.

 View Only

Enhancement to PathTracker Serviceability Feature in App Connect Enterprise 13.0.3.0

By AMAR SHAH posted Tue April 01, 2025 07:08 AM

  



In IBM App Connect Enterprise (ACE) v12.0.12.0 and v13.0.1.0 we had introduced a new path analysis feature called PathTracker to help with diagnosing problems in production environments. A detailed blog was published here describing how this feature works.

In IBM App Connect Enterprise v13.0.3.0, the PathTracker feature is extended further so that if trace is on you will get a UserTrace entry containing the path for each message through the flow, even if PathTracker is not explicitly turned on. When running in this mode we don't cache the list of path.  We just trace it out per message but this does mean that you should now have an easy way to see exactly where a message has gone in either a service or user trace by looking for BIP10240 for example:

2025-04-02 06:36:16.862528    23661  UserTrace   BIP10240I: A message flow invocation for message with id '(00005C6D-67ECCCD0-00000001)' has completed. The path has been tracked.

A message flow invocation for message with id '(00005C6D-67ECCCD0-00000001)' has completed. The path tracked was

'[

 {

  "source" :

  {

   "flowLabel" : "HttpReqReply",

   "flowName" : "HttpReqReply",

   "flowURI" : "/apiv2/servers/EG1/applications/HttpApp/messageflows/HttpReqReply",

   "libraryName" : "",

   "libraryURI" : "",

   "nodeLabel" : "myHttpIn",

   "nodeName" : "HttpReqReply#FCMComposite_1_1",

   "nodeURI" : "/apiv2/servers/EG1/applications/HttpApp/messageflows/HttpReqReply/nodes/myHttpIn",

   "terminalName" : "out",

   "type" : "ComIbmWSInputNode"

  },

  "target" :

  {

   "flowLabel" : "HttpReqReply",

   "flowName" : "HttpReqReply",

   "flowURI" : "/apiv2/servers/EG1/applications/HttpApp/messageflows/HttpReqReply",

   "libraryName" : "",

   "libraryURI" : "",

   "nodeLabel" : "Compute",

   "nodeName" : "HttpReqReply#FCMComposite_1_3",

   "nodeURI" : "/apiv2/servers/EG1/applications/HttpApp/messageflows/HttpReqReply/nodes/Compute",

                                                    

   "terminalName" : "in",

   "type" : "ComIbmComputeNode"

  }

 },

 {

  "source" :

  {

   "flowLabel" : "HttpReqReply",

   "flowName" : "HttpReqReply",

   "flowURI" : "/apiv2/servers/EG1/applications/HttpApp/messageflows/HttpReqReply",

   "libraryName" : "",

   "libraryURI" : "",

   "nodeLabel" : "Compute",

   "nodeName" : "HttpReqReply#FCMComposite_1_3",

   "nodeURI" : "/apiv2/servers/EG1/applications/HttpApp/messageflows/HttpReqReply/nodes/Compute",

   "terminalName" : "out",

   "type" : "ComIbmComputeNode"

  },

  "target" :

  {

   "flowLabel" : "HttpReqReply",

   "flowName" : "HttpReqReply",

   "flowURI" : "/apiv2/servers/EG1/applications/HttpApp/messageflows/HttpReqReply",

   "libraryName" : "",

   "libraryURI" : "",

   "nodeLabel" : "HTTP Reply",

   "nodeName" : "HttpReqReply#FCMComposite_1_2",

   "nodeURI" : "/apiv2/servers/EG1/applications/HttpApp/messageflows/HttpReqReply/nodes/HTTP%20Reply",

   "terminalName" : "in",

   "type" : "ComIbmWSReplyNode"

  }

 }

]'.

This feature is useful in number of situations such as troubleshooting unexpected output in a production system where traces cannot be enabled, diagnosing intermittent issues, identifying rouge messages that cause different processing route through the flow or even identifying different types of messages that drive different paths through the flow. 

0 comments
19 views

Permalink