Download PDF
Download page App Agent Node Properties (B-C).
App Agent Node Properties (B-C)
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.
Type | String |
Default value: | 20,5,4 |
Platform(s): | Java |
Examples
ByteCodeTransformer.2012_09_12_20_17_57.0.log
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.
Type | Boolean |
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.
Type | Boolean |
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.
Type | Integer |
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
.
Type | Boolean |
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.
Type | Boolean |
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.
Type | Boolean |
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()
With capture-raw-sql enabled, AppDynamics captures the SQL call in the following form:
select * from user where ssn = '123-123-1234'
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'")
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.
Type | Boolean |
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.
Type | Boolean |
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.
Type | Boolean |
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.
Type | Boolean |
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.
Type | Integer |
Default value: | 30 |
Range: | Minimum=5; Maximum=N/A |
Platform(s): | Java |
custom-activity-correlation
Use this property to add custom activity correlation rules in the format specified in custom-activity-correlation
.xml
.
Type | String |
Default value: | none |
Platform(s): | Java |
custom-interceptors-rules
Use this property to add custom interceptor rules in the format specified in custom-interceptors.xml
.
Alternatively, you can set custom interceptors rules directly in custom-interceptors.xml
. The Java agent considers the latest change.
Type | String |
Default value: | none |
Platform(s): | Java |