This reference page contains information about app agent node properties. The properties are listed in alphabetical order.


bci-log-config

Use this property to configure the bytecode transformer log (BCT log). This log shows what AppDynamics instruments and what classes are loaded in the JVM. The initial file (the 0.log) is saved to preserve the context of the server startup and is not rolled over. The subsequent files rotate. The format of the file name is ByteCodeTransformer.<timestamp>.<N>.log. The time stamp is represented as YYYY_MM_DD_HH_mm_ss. N increments starting from zero.

 
TypeString
Default value:20,5,4
Platform(s):Java

Examples

ByteCodeTransformer.2012_09_12_20_17_57.0.log
CODE

Because the file size is checked every 15 seconds, the files may be a bit larger than the specified threshold value before they are rolled over.

The first log file generated is named as follows: ByteCodeTransformer.<timestamp>.0.log

The format for this property value is illustrated by the default value, 20,5,4. The numbered segments have the following meaning: 

  • 20 is the size, in MB, of the first log file, the .0 version
  • 5 is the size in MB for each subsequent rolling file
  • 4 is the number of ByteCodeTransformer log files to keep

bciengine-disable-retransformation

Disable or enable bytecode retransformation. By default, the Sun and JRockit variant of the Java Agent applies configuration changes requiring bytecode retransformation, such as new POJO rules, without a restart to the JVM. Set bciengine-disable-retransformation to true to prevent the agent from performing automatic retransformation to apply such rules.

TypeBoolean
Default value:false
Platform(s):Java

boot-amx

If set to true, enables support for Glassfish AMX MBeans. See GlassFish Startup Settings for more information about Glassfish server support.

TypeBoolean
Default value:false
Platform(s):Java

callgraph-granularity-in-ms

Specifies the granularity for call graphs for this node. The global configuration is ignored if this property is used. This value is ignored if the adaptive-callgraph-granularity property is set to true. A default value of zero means the global configuration, from Configuration > Instrumentation > Call Graph Settings is used. Does not need a restart. 

TypeInteger
Default value:0
Range:Minimum=0; Maximum=5000
Platform(s):Java, .NET

capture-404-urls

This property disables or enables the capture of the URLs causing 404 errors. The URLs are reported as ERROR events every 15 minutes and are viewable through the Event Viewer. The JVM needs a restart if retransformation is not supported for the JVM version.

404 errors usually mean that no application code is executed, resulting in nothing to be captured in a snapshot. You can get insight into the 404 error by setting this property to true. It reports all the URLs which caused 404 error.

The capture-404-urls node property is deprecated in AppDynamics v. 3.6 and replaced with capture-error-urls.

TypeBoolean
Default value:false
Platform(s):Java

capture-error-urls

This property enables or disables the capture of the following HTTP errors:

  • 401 - Unauthorized
  • 500 - Internal Server Error
  • 404 - Page Not Found
  • All other error codes are put in a generic HTTP error code bucket.

For these four categories, the agent collects URLs, limited to 25 per category per minute, and sends an event out every 5 minutes.

You can see these URLs when you drill down on an error code by clicking Troubleshoot > Errors > Exceptions tab > HTTP Error Codes.

TypeBoolean
Default value:true
Platform(s):Java

capture-raw-sql

If capture-raw-sql is enabled, SQL calls with dynamic parameters—such as question mark parameters—are captured by the agent and shown in the Controller UI with the dynamic parameters bound to their runtime values. 

TypeBoolean
Default value:false
Platform(s):Java, .NET

Examples

For example, consider Java code that constructs a SQL call as follows: 

stmt = new PreparedStatement("select * from user where ssn = ?")
stmt.bind(1, "123-123-1234")
stmt.execute()
CODE

With capture-raw-sql enabled, AppDynamics captures the SQL call in the following form: 

select * from user where ssn = '123-123-1234'
CODE

If capture-raw-sql is disabled, the SQL call appears with question mark parameters not bound to values. 

Disabling capture-raw-sql and using question mark parameters in SQL prepared statements gives you a mechanism for preventing sensitive data from appearing in the Controller UI. 

It is important to note that the sensitive values must be parameterized in the original, prepared statement form of the SQL statement, as shown above. The following statement would result in the potentially sensitive information—the ssn value—appearing in the UI whether capture-raw-sql is enabled or disabled.   

stmt = new PreparedStatement("select * from user where ssn ='123-123-1234'")
CODE

If you change this node property in an environment that is using the IBM JVM, you need to restart the JVM. This is because the feature requires retransformation of certain JDBC classes, which is not possible with the IBM agent.

Setting the option as an agent property affects the SQL capture mode for the node. You can configure the behavior for all nodes using the Capture Raw SQL option described in Call Graph Settings.

capture-set-status

Directs the agent to capture errors where the webservice is using setStatus() to send back an error. By default, only sendError() is instrumented by the agent.

TypeBoolean
Default value:false
Platform(s):Java

capture-spring-bean-names

When a class is mapped to multiple Spring bean names, by default only the name of the first Spring bean found displays. This can be misleading. For example, when you see a call graph for web service A that has Spring beans from web service B. Setting this property to false shows only the class name when these conflicts occur and does not show the Spring bean name.

TypeBoolean
Default value:true
Platform(s):Java

check-bt-excludes-early

Reverses the default order in which Java and .NET agents evaluate rules. If true, exclude rules are evaluated before match rules. 

TypeBoolean
Default value:false
Platform(s):Java, .NET

collect-user-data-sync

Collect user data from diagnostic POJO data collectors synchronously. Does not require a restart.

TypeBoolean
Default value:true
Platform(s):Java

collection-capture-period-in-minutes

Total interval in minutes since server restart for which collections are captured for leak evaluation. The property takes effect only after the node restart.

TypeInteger
Default value:30
Range:Minimum=5; Maximum=N/A
Platform(s):Java