This reference page contains information about app agent node properties. The properties are listed in alphabetical order.
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.
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:
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
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
true to prevent the agent from performing automatic retransformation to apply such rules.
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.
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.
capture-404-urls node property is deprecated in AppDynamics v. 3.6 and replaced with
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.
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.
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'
capture-raw-sql is disabled, the SQL call appears with question mark parameters not bound to values.
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.
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.
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.
Reverses the default order in which Java and .NET agents evaluate rules. If true, exclude rules are evaluated before match rules.
Collect user data from diagnostic POJO data collectors synchronously. Does not require a restart.
Total interval in minutes since server restart for which collections are captured for leak evaluation. The property takes effect only after the node restart.