Flow Level Visibility feature captures the time spent on each message flow and any exit calls made from the message flow. Unlike the existing agent flow, Flow level does not capture the time spent on every node in the message flow. All the other features such as BT correlation, snapshots, exit calls, and so on remain unchanged. The difference is only visible in the Tree View in Business Transaction and Water Fall View in Transaction Snapshots. This difference is demonstrated with an example below:
Existing IIB Agent Flow
In the existing IIB Agent default visibility, the agent gathers timings for each node in an IIB flow.
Consider the following illustration that shows the information captured by the existing framework for the flow NodeJS--->IIB--->Java:
The broker within the IIB tier runs the following two message flows: demoflowup and demoflowdown. demoflowup makes a call to demoflowdown, which in turn, makes a backend call.
The following image displays the business transaction tree view and the transaction snapshot waterfall view for transactions flowing through the IIB application:
Flow Level Visibility
To reduce the cost of collecting the node level data, a new mode for the agent to provide flow-level visibility is introduced. In this mode, timings are collected only for flow start and end and any external calls made from within a flow. Therefore, the expected CPU cost of instrumenting the flows with the agent is reduced, especially for complex flows.
The business transaction tree and snapshot views from the sample application are provided below to illustrate the difference in data granularity with flow-level visibility enabled.
When you set the flow-level-visibility-enabled flag as 0 or 1, you might need to delete the BT in the tree view so that the tree view gets updated appropriately.