App Connect

 View Only



LinkedIn Share on LinkedIn

Enhancement to PathTracker Serviceability Feature in App Connect Enterprise 13.0.3.0

By AMAR SHAH posted 9 days ago

  



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
17 views

Permalink