Node.js Agent Configuration Options


The APM Insight Node.js Agent Configuration file helps you fine tune the configuration for tracking web based transactions. These settings can be configured from the web client.

Editing the configuration settings

These settings can be configured using the edit option available in the web client.

Note: '*' indicates that the highlighted default value applies for versions above Applications Manager v16470.

Basic configuration profiles

Name Key Description Default value

Capture database SQL Queries

sql.capture.enabled

  • Enabling this option will listen to all SQL Queries which gets executed.

  • If this option is disabled, no Database Metrics will be collected.

True

Obfuscate SQL Parameters

transaction.trace.sql.parametrize

  • Enabling this option will parameterize all SQL Queries in Slow Transaction Traces. (if sql.capture.enabled set to true & transaction.trace.enabled set to true)

  • Disabling this option will give you the real query (with parameters).

  • It is recommended to enable this option if there are queries getting executed using confidential parameters like credit card number, passwords, etc.

True

Stacktrace threshold for SQLs in transaction trace

transaction.trace.sql.stacktrace.threshold

  • Enabling this option will collect the stacktrace whenever any sql query executed above this threshold time value.

3(seconds)

Display Instance Port number

show.instance.port.number

  • Port number of application instances will be shown, if this option is enabled.

True

Logging level

apminsight.log.level

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

  • Supported levels are SEVERE,WARNING, INFO and FINE.

CRITICAL

List of URL extensions to be skipped from tracking

transaction.skip.listening

  • Web transactions of the specified URL patterns will be skipped while tracking

  • Use comma(,) to separate multiple entries

    Example: transaction.skip.listening=*.jpeg, will skip listening to transactions ending with .jpeg

*.css, *.js, *.gif, *.jpg, *.jpeg, *.bmp, *.png, *.ico

Group similar transactions

transaction.grouping

  • Provide a regex pattern of the transactions that can be grouped under a single transaction name.

      For example:
    • ebay/shop/item/chocolate/.*=ebay/shop/chocolate
    • ebay/shop/item/stationary/.*=ebay/shop/stationary
    • ebay/shop/item/.*=ebay/shop/others

     

None

Group transactions by Prefix

transaction.prefix.grouping

  • Provide a list of prefixes that need to be grouped under a single prefix name.

      For example:
    • nestle, snickers, orion = chocolate
    • In the above given example, nestle/quantity/order, snickers/quantity/order, orion/quantity/order will be replaced by chocolate/quantity/order.

     

None

Skip Transactions

transaction.skip.patterns

  • Provide regex patterns or transaction names that can be skipped from tracking. Multiple entries should be comma separated values.

None

Normalize DB Operation Names  
  • Replaces alphanumeric values in the DB operation names with a question mark (*), if enabled.
False

Web transaction configurations

Name Key Description Default value

Apdex Threshold

apdex.threshold

  • Application Performance Index (simply called Apdex) is measurement of an Application's Performance ranging from 0 to 1.

  • Detailed information about Apdex can be found at www.apdex.org

  • If any transaction response time scores values below the apdex.threshold value, the transaction is labeled as Satisfied.

  • If any transaction response time scores above four times the apdex.threshold, the transaction is labeled as Frustrated.

  • If it is exactly equal to apdex.threshold or in between satisfied and frustrated threshold value it is labeled as Tolerating.

0.5 (seconds)

Sampling factor

transaction.tracking.request.interval

  • Sampling factor helps in tracking sampled transactions.

  • If set to 5, APMInsight tracks only 1 in 5 requests of the same kind

1(request) or 10(seconds)*

Enable transaction tracing

transaction.trace.enabled

  • Enabling this option will construct Trace for Slow Transactions.

  • You can view the traces collected in APM Insight Page by selecting Traces tab.

True

Transaction tracing threshold

transaction.trace.threshold

  • Trace of any transaction whose response time scores above the specified threshold value will be collected, provided transaction.trace.enabled is set to true.

  • The trace can be used to analyze, troubleshoot the transaction working.

2(seconds) or 5(seconds)*

Capture trace if external calls exceeds

webtransaction.trace.external.components.count.threshold

  • Trace snapshot will be taken for all HTTP request(s) which has total external components (like MYSQL, MEMCACHED, etc) call count equal or higher than the configured number.

30 (Count)

Web transaction tracker drop threshold

webtransaction.tracker.drop.threshold

  • Trackers with resp time less than this threshold will be dropped

10(ms)

List of HTTP error codes to be Ignored from Tracking

http.errors.ignore

  • This is the list of HTTP error codes, like 400, 401, and 500, that will not be tracked.

None

Background transaction configurations

Name Key Description Default value
Track background transactions bgtransaction.tracking.enabled
  • Enabling this option, APM Insight agent starts tracking background transactions

  • All transactions other than HTTP are considered as background transactions

True
Capture traces bgtransaction.trace.enabled
  • Enabling this option, the agent collects traces for slow background transactions, provided bgtransaction.tracking.enabled is set to true
True
Transaction trace threshold bbgtransaction.trace.threshold
  • Traces will be collected for background transactions whose response times have crossed the specified threshold value, provided bgtransaction.trace.enabled is set to true
5 (seconds)
Capture trace if external calls exceeds bgtransaction.trace.external.components.count.threshold
  • Trace snapshot will be taken for background transactions which has total external components (like MYSQL, MEMCACHED, etc) call count equal or higher than the configured number.
50 (Count)
Capture CPU time per transaction? bgtransaction.record.cputime.enabled
  • Record CPU time for every background transaction, if enabled.
False
Capture Memory allocation per transaction? bgtransaction.record.memory.allocation.enabled
  • Memory allocated for background transactions will be captured, if this option is enabled.
False
Sampling factor 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)

Configurations available only in apminsight.conf file

Certain configuration files cannot be modified from the client. These settings can be configured in apminsight.conf file.

Name Key Description Default value

Application Name

application.name

  • Specify the desired Application's Name to show in Applications Manager.

  • If there are multiple instances of your application and you would like to group them, then specify the same application name in all installed APM Insight Agent Configuration files.
    Example: myonlineshopping.com

True

Capture traces

license.key

  • The API Key for the corresponding user.

  • This will be available in the APM Insight home page, after login.

  • Copy and Paste the Key as value for this parameter.

  • This key is user specific. Do not share with anyone else.

none

Configure Proxy

behind.proxy

  • Specify whether the Agent installed Application Server is under a proxy network.

  • If set True, Proxy credential information should be given in order to send the metric data from the agent to Applications Manager.

  • If behind.proxy is set to true, specify values for the following keys:

  • proxy.server.host: Host name of the proxy server

  • proxy.server.port: Proxy server's port

  • proxy.auth.username: User name of the proxy server

  • proxy.auth.password: password for the proxy server

False

APM Directory path

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.
  • It can be found in the apminsight.conf and it will be commented by default.
  • To make changes with this parameter sample usage for both windows and Linux need to defined as follows: Windows:D:/Tomcat/APMInsight/logs Linux:/home/apps/APM/APMInsight/logs