Skip to end of metadata
Go to start of metadata

Make sure you have installed and configured the components described in Installing Agent-Side Components and, for on-premises, Custom Install and Events Service Deployment before attempting to configure Transaction Analytics.

Select the Application and the Business Transactions

Configuring Transaction Analytics consists of selecting the application and the specific business transactions that you want to analyze. You can also enable the collection of additional business data using Data Collectors. For Node.js apps, see Configure Analytics for Node.js.

To enable and configure Transaction Analytics for Java and .NET applications:

  1. In the Controller UI, from the top navigation bar, select Analytics > Configuration.
  2. From the Transaction Analytics tab, select the application. 
  3. Check the check box labeled Enable Analytics Data Collection for <selected_app>.

  4. Specify which business transactions should report analytics data by adding available transactions from the right-hand list to the left-hand list of transaction reporting analytics data: 

Even if you have pre-existing Data Collectors defined, you do not get Analytics data unless you confirm that the related business transactions are enabled for analytics.

Configure Data Collectors

After you select the application and business transactions, you can optionally configure data collectors. The Configure Transaction Analytics page includes sections you can use to configure HTTP and method invocation data collectors, as follows. 

HTTP Data Collectors

To collect HTTP request data, you can use the default HTTP Request Data Collector. You need to explicitly enable the collector for Analytics.

To configure HTTP Data Collectors for Analytics, use these steps:

  1. In the Controller UI, select Analytics > Configuration from the top navigation bar. 
  2. From the Transaction Analytics tab, select the application of interest and scroll to the HTTP Request Data Collector section.
  3. Select the HTTP Data Collector to enable and click Edit (or Add to create new collectors).
  4. On the HTTP Request Data Collector page, confirm the data to collect, confirm Transaction Analytics is checked, and click Save.
  5. Use Configure Transactions Using this Data Collector and confirm that the data collector is enabled on the appropriate business transactions. 
    See Data Collectors for more information. 

Method Invocation Data Collectors

You can also use the Analytics > Configuration page to enable existing or new Method Invocation Data Collectors.  Open the Method Invocation Data Collectors panel. The process is essentially the same as described in Data Collectors.

Make sure that you:

  • Check the Transaction Analytics check box to use this collector for Application Analytics
  • Check the Configure Transactions popup to confirm you have enabled the right Business Transactions.

Changing the name of method invocation data collector will create a completely new field in transaction analytics. If you want to change the type of a data collector field, we recommend creating a new field instead to avoid conflicts with the old data.

SQL Data Collectors

Transaction snapshots capture SQL queries. SQL data collectors provide a way to extract business data from parameters used in the SQL statements for use in analytics. See Collect Business Data From SQL Calls.

Configure Analytics for Node.js

Collect Default Node.js Transaction Data

To configure the Node.js Agent to send the default transaction data to the analytics agent, modify the require statement in your application. Add the following variables with the proper values to point to your Analytics Agent:

analytics: {
    host: <analyticsHostName>,
    port: <analyticsPort>  }

The Analytics Agent can be on the same host as the Node.js Agent, or on a different host. For more details on installing the Node.js Agent, see Install the Node.js Agent.

For example, your require statement should look similar to the following where your Analytics Agent is on localhost and listening on port 9090:

  controllerHostName: '<controller host name>',
  controllerPort: <controller port number>, 
  controllerSslEnabled: false,  // Set to true if controllerPort is SSL
  accountName: '<AppDynamics_account_name>',
  accountAccessKey: '<AppDynamics_account_key>', //required
  applicationName: 'your_app_name',
  tierName: 'choose_a_tier_name', 
  nodeName: 'choose_a_node_name',
  analyticsHostName: 'host_name',
  analyticsPort: 'port_number', 
  analyticsSslEnabled: false, // Set to true if controllerPort is SSL
  analytics: {
      host: 'localhost',
      port: 9090 }});

Node.js Data Collectors

You can also collect additional data from your Node.js business transactions by using the Node.js API. To configure transaction analytics data collectors for Node.js, see txn.addAnalyticsData() in the Node.js Agent API Reference.