Tracking Background Transactions


In a typical web application, the user communicates with the application via HTTP requests; these requests access the application server and render the requested data back to the user. Aside from these web transactions, there could be a number of transactions being executed in an application. These transactions may not be triggered by the user but they are still vital for the application to properly function. In general, transactions that do not come under user purview are considered background transactions.

Common examples include data collection, data archiving, data alerting, etc. Since these transactions run in the background, it's easy to overlook their performance. You often won't know if these transactions are successful or not unless a major issue bogs down your entire application. This is why monitoring background transactions is essential for quickly debugging errors.

Browse through the following topics to learn more about tracking background transactions:

How to monitor background transactions

Unlike web transactions, which are implemented using known frameworks like Struts, Play, Spring, etc., background transactions are custom coded by developers to meet their specific needs and requirements. These are not captured by the APM Insight agent by default but can be monitored using custom instrumentation.

With custom instrumentation, you can use defined methods and classes. Include the specified code at the beginning of a method or class, and the agent will start tracking its performance.

Metrics captured

Applications Manager allows users the ability to monitor background processes and other jobs running within the web application.

  • Transaction trace threshold - You can enable the APM Insight agent to track the background transactions happening in the application server. It will collect traces of slow background transactions. Background transactions are considered to be slow, if it crosses the configured Background trace threshold.
  • Sampling factor - For example, if you specify the Sampling Factor value as 5, the agent will track one in 5 background transactions.
  • AssemblyName: Name of the DLL.

Access the parameters for background transactions by logging in to Applications Manager, then going to APM → Your application → Edit APM Insight Application Configuration → Edit → Background Transactions Configurations.