You can correlate IoT network request events with business transactions. The correlation is made between beacons containing network request event information and instances of business transactions (transaction snapshots).
The correlation enables you to map network request events made by your IoT application with an underlying backend business application. Business transaction correlation is disabled by default.
By correlating business transactions with network request snapshots, you can identify potential issues with the backend business application that are causing bad user experiences. For example, you might find that a server error or a database query is causing a slow or very slow user experience.
To correlate business transactions, you are required to do the following:
- purchase licenses for Application Performance Monitoring (APM) and End-User Monitoring (EUM)
- instrument a business application with an app agent
- instrument an IoT application with one of the IoT SDKs (C/C++ or Java) or the IoT REST API
- enable business transaction correlation in the Controller UI
App Server Agents Supporting Business Transaction Correlation
To correlate business transactions, your business application must have one of the following app server agents installed:
How It Works
The steps below outline how IoT applications correlate network requests with business transactions:
- The IoT application attaches AppDynamics HTTP headers to a network request to the app server agent. These AppDynamics HTTP headers instruct the app server agent to send back correlation headers.
- The app server agent does the following:
- sends HTTP response headers identifying the business transaction to the IoT application.
- aggregates backend metrics and sends them along with the business transaction identifiers to the Controller. This serves as the content for the transaction snapshot.
- The IoT Agent sends business transaction identifiers (from the HTTP response headers) as part of IoT network request event to the EUM Server. This serves as the content for the network request.
The Controller fetches the events and business transaction identifiers from the EUM Server and then uses the business transaction identifiers to correlate the network request with the transaction snapshots.
Enable Business Transaction Correlation
You need to configure the Controller to correlate business transactions. The Controller will map the business transactions with the network request snapshots based on the process described above in How It Works.
To enable business transaction correlation:
- From the Application Dashboard, click Configuration.
- Click User Experience App Integration >.
From the Business Transaction Correlation tab, check the Enable Business Transaction Correlation check box.
Specify Business Transactions to Include Correlation Headers (Optional)
You can also specify which business transactions will include or exclude correlation headers. If you do not add request match rules or request exclude rules, all requests will have correlation headers.
To add a request rule:
- Click the plus icon to open the Create HTTP Request Match Rule dialog.
- From the Create HTTP Request Match Rule dialog:
- Check the Method checkbox and select an HTTP method that you want to match. If you do not select an HTTP method, the rule will be applied to all HTTP requests.
- Check the URI checkbox and enter your criteria.
- Click Save to save the match rule.
- From the Business Transaction Correlation tab, click Save.
Correlate IoT Network Request Events with Business Transactions
After you have enabled business transaction correlation, your IoT application can then request business transaction headers from the business application. You can use the IoT SDKs or the IoT REST API to send the returned response headers from the business application with beacons to report IoT network request events and correlate those events with the business transaction.
View Business Transaction Correlation
There are several ways to navigate from a network request snapshot to its correlated business transaction. The following steps show you one possible way.
- From the IoT Device Dashboard, double-click one of the device records in the Unique Devices widget:
- You should now see a list of network requests in the Activity Stream tab. You can click a link in the activity stream to view the transaction flow map for a business transaction.
- Click the Business Transactions tab to view a list of correlated business transactions.
- You can then click a business transaction to view the Transaction Flow Map shown below, which provides a visual representation of the components and activities of the business application during the correlated business transaction.