Download PDF
Download page Correlate Business Transactions for Mobile RUM.
Correlate Business Transactions for Mobile RUM
You can correlate mobile network requests with business transactions. In actuality, the correlation is made between instances of network requests (network request snapshots) and instances of business transactions (transaction snapshots).
The correlation enables you to map network requests made by your mobile application with an underlying backend application. Business transaction correlation is disabled by default.
Requirements
To correlate business transactions, you are required to do the following:
- purchase licenses for Application Performance Monitoring (APM) and End-User Monitoring (EUM)
- instrument an application with an app agent
- instrument a mobile application with a mobile agent
- 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:
- Java Agent
- .NET Agent - only .NET Framework is supported
- Node.js Agent
- PHP Agent
Benefits of Correlating Business Transactions
By correlating business transactions with network request snapshots, you can identify potential issues with the backend 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.
How It Works
When an end user takes an action with your mobile application that requires a network request:
- The app agent does the following:
- sends HTTP headers identifying the business transaction to the end user's mobile device.
- 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 Mobile Agent sends metrics and the business transaction identifiers (from the HTTP header) to the EUM Server. This serves as the content for the network request snapshot.
The Controller fetches the metrics and business transaction identifiers from the EUM Server and then uses the business transaction identifiers to correlate the network request snapshot 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
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, correlation headers will be added to all requests.
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.
View Business Transaction Correlation
There are several ways to navigate from a browser snapshot to its correlated business transaction. The following steps show you one possible way.
- From the Mobile App Dashboard, click Network Requests.
- Click Snapshots.
- You should now see network transaction snapshots as shown below:
- Double-click one of the browser snapshots to open the Network Request Snapshot Details dialog. If a correlated transaction snapshot exists, you will see a link in the Business Transactions section as shown here:
- You can then click links in the transaction snapshot or transaction snapshot itself to view corresponding pages in APM.
Business Transaction Correlation HTTP Headers
The Mobile Agents and business application exchange HTTP headers to correlate business transactions with network requests. To ensure the business transactions are correlated, be sure that the HTTP headers are not blocked.
Mobile Agent HTTP Headers
The Mobile Agents send the following HTTP headers to the business applications. The HTTP headers can be lowercase or uppercase, so ADRUM_1
or adrum_1
are both valid.
HTTP Header | Supported Values | Description |
---|---|---|
ADRUM | isAjax:true, isAjax:false | Indicates whether the network request was made with Ajax. |
ADRUM_1 | isMobile:true, isMobile:false | Indicates whether the network request was made natively or from web views. |
Business Application HTTP Headers
The business application responds with HTTP headers that have the following syntax: ADRUM_<number>
. For example: ADRUM_0
, ADRUM_1
, ADRUM_2
. The business application typically returns approximately 5 HTTP headers, but can send up to 15. The values assigned to the HTTP headers are string identifiers used for correlation purposes.
The following is an example set of HTTP headers sent by the business application to the Mobile Agent.
ADRUM_0: g:325e6a4b-72e1-4a57-8da8-3c0ffccsdd
ADRUM_1: n:customer1_3fdf4d56-f805-4a85-bf1a-ass
ADRUM_2: i:2224122
ADRUM_3: e:449
ADRUM_4: d:198