APM Insight Agent Configuration Options

This page should help you tune the configuration for tracking web based transactions. These settings can be configured in apminsight.conf file. Make sure that this file is present in the folder where you have deployed the APM Insight agent.

Custom components can be added by specifying the package name in below mentioned format : packagename/.*:Component_Name

All packages and classes under the specified package will be grouped into specified component

For Ex: include.components=com/test/custom/.*:CUSTOM, all packages and classes under the package com/test/custom/ will be grouped into CUSTOM component

Use comma(,) to separate multiple entries

Note: The package names, by default will be included for instrumentation and you need NOT give this in include.package separately

apminsight.log.dir

Directory path where the APM Insight log should be stored.

Use forward slash(/) as path separator

example: D:/apminsight/

Defaults to the directory where APM Insight agent jar is installed if commented or mentioned incorrectly or unable to create the configured directory.

apminsight.log.level

The log level at which the APM Insight agent should record information.

Supported levels are SEVERE,WARNING, INFO and FINE.

INFO (level)

autoupgrade.enabled

Enabling this option agent will automatically download and install the latest available version

false

APM Insight will use its default factory value, if any invalid value specified for an option. Other than options listed below, all the other options can be changed at run time.

application.name

apm.host

apm.port

agent.server.port

apminsight.log.dir

apminsight.log.level (only in java agent. Whereas, in .NET agent, this property can be changed at run time)

Note
Options marked with a * are mandatory. If any of the mandatory entries are not provided, the Agent cannot be initialized / started. However the Application Server (where the Agent is deployed) will start normally.
For more detailed information about APDEX threshold go to : www.apdex.org

Tracking Background Transactions

Apart from web transactions, most applications run background tasks to perform various tasks like maintenance, schedulers, messaging, etc. APM Insight also captures these transactions and list them under Background tab in APM Insight dashboard.

Note:
This feature is available in .Net & Java agents only

For the agent to track background transactions, it has to be enabled in background_transaction.conf file. Configuration for background transactions is explained below.

All transactions other than HTTP are considered as background transactions

true

bgtransaction.trace.enabled

Enabling this option, the agent collects traces for slow background transactions, provided bgtransaction.tracking.enabled is set to true

true

bgtransaction.trace.threshold

Traces will be collected for background transactions whose response time have crossed the specified threshold value, provided bgtransaction.trace.enabled is set to true.

5 (seconds)

bgtransaction.tracking.request.interval

Sampling factor for background transactions

If value is set to 1, agent tracks every transaction. If value is set to n, agent tracks 1 in N transactions of same kind.

1 (request) for Java & 5 for .Net agent

Note:

These values cannot be changed during run-time for java agent. For the changes to be effective, server restart is required.

Restart is not required servers using .Net agent, the values will be updated in run-time.

Custom Instrumentation

APM Insight agent instruments predefined classes of several Web Components and Frameworks to provide insight into the application. APM Insight also provides an option to custom instrument, classes of your choice. Custom instrumentation helps in providing wider insight into applications, where it will be easier to track performance of specific features or modules in the application.

Configuration Steps for Java Agent

To instrument classes of your choice, specify the class name in 'custom_instrumentation.conf' file, as per format specified below.

Fully qualified class name : Methods to be instrumented

Use comma(,) as method separator for multiple entries. If methods to be instrumented is left blank, all methods under the specified class will be instrumented. If there exists, overloading methods that needs to be instrumented, all the overloaded methods will be instrumented. Each class entry must be given in a new line.

Example:

a/b/c/CustomClass : methodA, methodB

a/b/c/CustomClass :

If all classes in a package needs to be instrumented, specify the package name as described below.

package_name/.* :

Example: a/b/c/.* :

It is not recommended to specify packages as input, as the agent will instrument all methods in all classes and all packages under it. These may cost extra overhead in CPU and memory usage. Also, there will be many methods that are of least interest and also these makes the traces lengthy. Although it can be used to study the code flow.

Note:

It requires a application server restart for the changes to be effective

Grouping Similar Transactions

Dynamic Transaction names are becoming more familiar with lots of applications, making it difficult to actually track the performance of the application. Dynamic transactions are web transactions within an application having single URL but get appended with unique alpha numeric identifiers every time they are invoked, making the web transaction name itself look different. Tracking such individual URLs is a herculean task. Here, this feature of grouping similar transactions, will help to group these dynamic transactions into the actual URL that needs to be monitored.