This page applies to an earlier version of the AppDynamics App IQ Platform.
See the latest version of the documentation.
On this page:
This reference page contains information about app agent node properties. The properties are listed in alphabetical order.
In general use caution when modifying the agent default settings. If increasing limits specified for an agent, you need to carefully assess and monitor memory consumption by the agent after the change.
adaptive-callgraph-granularity
This property enables adaptive snapshots. The call graph granularity for adaptive snapshots is based on the average response time for the business transaction during the last one minute and is thus adaptive. The following distribution is used:
- Granularity of 10 ms for average response time of <= 10 seconds
- 50 ms for 10 to 60 seconds
- 100 ms for 60 to 600 seconds
- 200 ms for > 600 seconds
Type: Boolean
Default value: false
Platform: Java, .NET
ado-new-resolvers
Enable database detection and naming for ODP.NET backends labeled "Unknown0".
Type: Boolean
Default value: true
Platform: .NET
always-add-eum-metadata-in-http-headers
By default the Java Agent, .NET Agent, and Node.js Agent set business transaction correlation data in a cookie for HTTP responses, except when the JavaScript Agent has already set an "isAjax:true" header in the request. When it finds the "isAjax:true" header, the agent sets the correlation metadata in the XHR header.
For cross-origin AJAX requests, the JavaScript Agent does not set "isAjax:true" so that the app agent doesn't write correlation data to the header of those responses.
Set always-add-eum-metadata-in-http-headers to true to configure the app agent to write business transaction metadata to the XHR header and in a cookie even if the request is considered cross-origin.
Type: Boolean
Default value: false
Platform: Java, .NET, Node.js
analytics-sql-cpm-limit
This property specifies the per minute upper limit on the number of SQL queries that collect parameter data for analytics. The number is a cumulative total. It is not the number of distinct SQL queries, but the overall number of invocations of the SQL queries that have been configured to collect analytics data.
Type: Integer
Default Value: 10000
Platform: Java, .NET
api-thread-activity-timeout-in-seconds
This property provides a time-out value that comes into play when you have added global transactions to your application using APIs from the AppDynamics SDK. In the event that the added transaction spawns additional threads that do not return or complete, this property provides a safety valve time-out value. The value is in seconds. The removeCurrentThread method is invoked after the specified time out period.
Type: Integer
Default value: 300 seconds
Range: Minimum =1; Maximum=3600
Platform: Java
api-transaction-timeout-in-seconds
This property provides a time-out value that comes into play when you have added global transactions to your application using APIs from the AppDynamics SDK. In the event that the added transaction does not return or complete, this property provides a safety valve time-out value. The time-out value is in seconds. The endTransaction method is invoked after the specified time-out period.
Type: Integer
Default value: 300 seconds
Range: Minimum=1; Maximum=3600
Platform: Java
aspdotnet-mvc-naming-controlleraction
If true, causes the agent to identify ASP.NET MVC business transactions as Controller/Action. See Name MVC Transactions by Area, Controller, and Action.
Type: Boolean
Default value: false
Platform: .NET
aspdotnet-mvc-naming-controllerarea
If true, causes the agent to identify ASP.NET MVC business transactions as Area/Controller. See Name MVC Transactions by Area, Controller, and Action.
Type: Boolean
Default value: false
Platform: .NET
async-tracking
Enable or disable detection of asynchronous exit points. See Asynchronous Exit Points for .NET.
Type: Boolean
Default value: true
Platform: .NET
async-transaction-demarcator
This class name and method name combination marks the end of an asynchronous distributed transaction. Use the format ClassName/MethodName. For example, foo/bar where foo is the class name and bar is the method name.
Type: String
Default value: none
Platform: Java
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 start up 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.
For example:
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
Type: String
Default value: 20,5,4
Platform: Java
bciengine-disable-retransformation
New in 4.3.4.1, 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: 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: 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 value of zero (default) means the global configuration (from Configuration > Instrumentation > Call Graph Settings) is used. Does not need a restart.
Type: Integer
Default value: 0 (zero)
Range: Minimum=0; Maximum=5000
Platform: 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: 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: Java
capture-raw-sql
If capture-raw-sql is enabled, SQL calls with dynamic parameters (i.e., 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'
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 give 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.
Type: Boolean
Default value: false
Platform: Java, .NET
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: 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: 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: 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: 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: Java
disable-custom-exit-points-for
Disables certain types of automatically detected exit points: SAP, Mail, LDAP, etc. Case is important in specifying type names. Use commas to separate multiple types.
Type: String
Allowed Values: CASSANDRA
, Coherence
, DangaMemcache
, EHCache
, LDAP
, Memcache
, MongoDB
, RABBIT_MQ
, REDIS
, RMI
, SAP
, THRIFT
Default value: none
Platform: Java
dev-mode-suspend-cpm
The maximum number of transactions monitored per minute during development mode before the system switches out of development mode into normal operation mode.
Type: Integer
Default value: 500
Range: Minimum=0; Maximum=N/A
Platform: Java
disable-exit-call-correlation-for
Disable exit call correlation for a specific type of call. For example, HTTP, JMS, RMI. By default all exit call correlations are enabled.
Type: String
Default value: none
Platform: Java, .NET
disable-exit-call-metrics-for
Disables exit call monitoring for a specific type of exit call; for example, HTTP, JMS, WEB_SERVICE. If this property is set, the average data (calls/min, avg response time) for the specific exit call type is not collected. However, for a snapshot all details are collected. Set this property if the application makes a large number of exit calls per transaction and the avg metrics are not important.
Type: String
Default value: By default all exit call metrics are enabled.
Platform: Java, .NET
disable-percentile-metrics
App agents that support percentile metrics enable collection by default. Disable percentile metrics on the Configuration > Slow Transaction Thresholds window or set this node property manually to "true" to disable percentiles.
Changes to this property do not require an agent restart.
Type: Boolean
Default value: false
Platform: Java, .NET
disabled-features
Specifies types of data for which agent reporting to suppress. Use this property provides to disable data collection mechanisms at the agent to limit data reported by the agent for security or privacy reasons. This agent configuration overrides any Controller configuration that affects the data.
You can disable
- LOG_PAYLOAD: Log payload, i.e., the node property "log-request-payload"
- RAW_SQL: Raw SQL statements
- CUSTOM_EXIT_SNAP_DATA: Snapshot data in custom exits
- METHOD_INV_DATA_COLLECTOR: Diagnostic data collectors — method invocation
- HTTP_DATA_COLLECTOR: Diagnostic data collectors — HTTP requests
- INFO_POINT: Information points
- ALL: All of the above
- NONE: None of the above (this is equivalent to the default agent behavior)
Configure disabled features in the app-agent-config.xml in the versioned conf directory for the agent. Specify the data category as the value attribute of the disabled-features property. You can have multiple data categories excluded by listing each separated by commas. For example:
<app-agent-configuration> <configuration-properties> .... <property name="disabled-features" value="RAW_SQL,LOG_PAYLOAD"/> </configuration-properties> ..... </app-agent-configuration>
Type: String
Default value: None
Platform: Java
dont-show-packages
Do not show these packages / class names in addition to the ones configured in the global call graph configuration, for the call graphs captured on this node. Does not need a restart.
Type: String
Default value: none
Platform: Java, .NET
downstream-tx-detection-enabled
If the agent cannot reach the controller for a prolonged period, it turns off most services and notifies the continuing tiers that upstream transaction was detected and is not being monitored. Set this property to true to enable the continuing tiers to detect their own transactions in the event of network failure on the upstream tiers.
Type: Boolean
Default value: false
Platform: Java, .NET
enable-async-service-endpoints
By default the Java Agent automatically detects service endpoints for worker threads. Set this property to "false" to disable service endpoint detection for worker threads. This has the same effect as the Automatic Service Endpoint Detection checkbox for other types of service endpoints on Configuration > Instrumentation > Service Endpoints.
Type: Boolean
Default value: true
Platform: Java
enable-default-http-error-code-reporter
This property disables or enables automatic HTTP error code reporting for error codes between 400 to 505.
Type: Boolean
Default value: true
Platform: Java, .NET
enable-info-point-data-in-snapshots
This property disables or enables the capture of information point calls in snapshots. When this property is set to true, information point calls appear in the User Data section of the snapshot.
Type: Boolean
Default value: false
Platform: Java, .NET
enable-instance-monitoring
This property enables or disables Instance tracking on this node. Does not need a JVM restart.
Type: Boolean
Default value: false
Platform: Java
enable-interceptors-for-security
This property enables or disables security interceptors on this node. Set this property to true in environments where the Java 2 Security Manager is enabled. If the Java 2 Security Manager is enabled, and this property is not set to true, then the agent will encounter SecurityExceptions, and will not be able to collect the data that it should. Does not need a JVM restart.
Type: Boolean
Default value: false
Platform: Java
enable-json-bci-rules
Set this property to true to enable JSON bytecode instrumentation rules. AppDynamics instruments the get and getString methods within the package/class org.json.JSONObject when you set this value to true. Needs a JVM restart.
Type: Boolean
Default value: true. This only affects new applications; applications created with a 3.7.x controller will still have this property set by default to false.
Platform: Java
enable-kafka-consumer
Set the enable-kafka-consumer
to "true" to enable Apache Kafka consumer entry points. For more information see "Apache Kafka Backends" on Java Backend Detection.
Type: Boolean
Default value: false
Platform: Java
enable-object-size-monitoring
This property is related to Automatic Leak Detection (ALD) and enables or disables Object Size monitoring on this node. Changing this property does not need a JVM restart. ALD is supported for JVM version 1.6 and up.
Type: Boolean
Default value: false
Platform: Java
enable-soap-header-correlation
This property controls correlation with web service transactions. When enabled, a node which receives a web service transaction may correlate that transaction with any downstream transactions. The ability to correlate depends on the particular web services framework. Currently, correlation is supported only by Apache Synapse and CXF frameworks. When disabled, the agent will not perform correlation through any web service tiers.
Type: Boolean
Default value: false
Platform: Java, .NET
enable-spring-integration-entry-points
This property disables or enables the default detection of Spring Integration entry points. Set to 'false' to disable.
Default detection of Spring Integration entry points is based on MessageHandler. In cases where a lot of application flow happens before the first MessageHandler is executed:
- set this property to 'false',
- configure suitable POJO entry points,
- and specify the property spring-integration-receive-marker-classes.
See also Spring Integration Support.
Type: Boolean
Default value: true
Platform: Java
enable-startup-snapshot-policy
This property disables or enables the policy for start-up transaction snapshot. This means snapshots are collected for all BTs for all invocations for the first 15 minutes of application server start up.
Type: Boolean
Default value: false
Platform: Java, .NET
enable-transaction-correlation
This property disables or enables transaction correlation. It does not require a restart.
Type: Boolean
Default value: true
Platform: Java, .NET
enable-vertx-http
New in 4.3.2, enable or disable servlet HTTP entry points and exit points for Vert.x.
Type: Boolean
Default value: true
Platform: Java
enable-vertx-message-entry
New in 4.3.2, enable or disable Vert.x verticle message entry points for continuing transactions.
Type: Boolean
Default value: true
Platform: Java
enable-xml-bci-rules
This property enables Java XML Binding and DOM Parser bytecode instrumentation rules. Set to true to enable. The change takes effect after a JVM restart.
Type: Boolean
Default value: true. This only affects new applications; applications created with a 3.7.x Controller will still have this property set by default to false.
Platform: Java
end-to-end-message-latency-threshold-millis
Enables end-to-end message latency monitoring for distributed asynchronous systems by setting up a threshold. Any message taking more time than the threshold is viewable through the Event Viewer.
Type: Integer
Default value: 0
Range: Minimum=0; Maximum=36000
Platform: Java
find-entry-points
Set this property to true to log all potential entry points that are hitting instrumented exit points or loggers to the Business Transactions log file.
Use this property when you suspect that some traffic is not being detected as business transactions. You should only enable this property for debugging purposes. You should disable this property in production setup.
For new applications crated in AppDynamics 4.3, you can use the interactive Live Preview tools to discover entry points.
Type: Boolean
Default value: false
Platform: Java, .NET
heap-storage-monitor-devmode-disable-trigger-pct
Use this property to indicate the implementation classes of the java.sql.CallableStatement interface that should be instrumented. For example, to instrument calls to Times Ten (an unsupported database), you could set this property to the following:
com.timesten.jdbc.JdbcOdbcCallableStatement
Type: String
Default value: none
Platform: Java
jdbc-connections
Use this property to indicate the implementation classes of the java.sql.Connection interface that should be instrumented. For example, to instrument calls to Times Ten (an unsupported database), you could set this property to the following:
com.timesten.jdbc.JdbcOdbcConnection
Type: String
Default value: none
Platform: Java
jdbc-dbcam-integration-enabled
Use this property to integrate the Java Agent with AppDynamics for Databases and Database Monitoring. Changes to this property do not require a JVM restart for JDK 1.6 and higher. Older 1.5 JVMs do not support class reloading, so for those environments a restart is required.
AppDynamics for Databases: When this property is enabled, you can link to AppDynamics for Databases from a Transaction Snapshot Flow Map where an exit call is to an Oracle database, and analyze the SQL statements that were running at the time of the snapshot. This property works in conjunction with the AppDynamics for Databases license and database collector that has been previously set up. Integration must also be setup from the Admin pages of the Controller UI. For more information, see Integrate and Use AppDynamics for Databases with AppDynamics Pro.
Database Monitoring: Set this property to enable snapshot correlation between Java applications and Oracle databases. This property configures Globally Unique Identifier (GUID) session tagging between business transactions monitored by the Java Agent and Oracle databases monitored by Database Monitoring. Each snapshot is identified by a GUID which Database Monitoring instrumentation injects into the Oracle session using a standard JDBC API. This enables AppDynamics to collect the session properties, including the GUID. When the queries are correlated with the GUID, AppDynamics can correlate the backend database activity with the business transaction snapshot.
Type: Boolean
Default value: false
Platform: Java
jdbc-prepared-statements
Use this property to indicate the implementation classes of the java.sql.PreparedStatement interface that should be instrumented. For example, to instrument calls to Times Ten (an unsupported database), you could set this property to the following:
com.timesten.jdbc.JdbcOdbcPreparedStatement
Type: String
Default value: none
Platform: Java
jdbc-resultsets
Use this property to indicate the implementation classes of the java.sql.ResultSet interface that should be instrumented. For example, to instrument calls to Times Ten (an unsupported database), you could set this property to the following:
com.timesten.jdbc.JdbcStatement
Type: String
Default value: none
Platform: Java
jdbc-statements
Use this property to indicate the implementation classes of the java.sql.Statement interface that should be instrumented. For example, to instrument calls to Times Ten (an unsupported database), you could set this property to the following:
com.timesten.jdbc.JdbcOdbcStatement
Type: String
Default value: none
Platform: Java
jmx-appserver-mbean-finder-delay-in-seconds
When an app server starts up, the associated MBean server starts and the MBeans are discovered. The timing of these activities varies by app server and by configuration. If this activity is not completed in the time that the AppDynamics agent is expecting to discover the MBeans, then the MBean Browser will not show them. Using this node property, you can delay the discovery of MBeans to make sure that agent discovers all the domains after complete start up of the app server. For example, you can set the delay to a time which is 1.5 times of the server startup time. The default delay for the AppDynamics agent is two minutes.
Type: Numeric, seconds
Default value: 120
Platform: Java
jmx-operation-timeout-in-milliseconds
New in 4.3.2, controls the length of time the Java Agent waits before timing out an MBean operation. If you have MBean operations that run longer than the default of 10 seconds, you can increase the timeout value up to 5 minutes.
Type: Integer
Default value: 10000 (10 seconds)
Range: 1000ms (1 second) - 300000ms (5 minutes)
Platform: Java
jmx-rediscover-mbean-servers
When an app server starts up, the associated MBean server starts and the MBeans are discovered. The timing of these activities varies by app server and by configuration. If this activity is not completed in the time that the AppDynamics agent is expecting to discover the MBeans, then the MBean Browser will not show them. Using this node property, you can trigger the rediscovery of MBeans to make sure that the agent discovers all the domains after complete start up of the app server. Set this property to 'true' and reset the app agent, as described in Manage App Agents.
Type: Boolean
Default value: false
Platform: Java
jrmp-enable
This property enables or disables AppDynamics support for Sun RMI over Java Remote Protocol (JRMP). You should test Sun RMI JRMP support in a staging environment before using it on production systems. Enable Sun JRMP support by setting this property to 'true'.
Type: Boolean
Default value: false
Platform: Java
leak-diagnostic-interval-in-minutes
Interval at which diagnostic data, content summary and activity trace, is captured for leaking collections.
Type: Integer
Default value: 30
Range: Minimum=2; Maximum=N/A
Platform: Java
log-request-payload
Set this property to true to log the request payload (HTTP parameters, cookies, session keys, etc.) as part of a transaction snapshot. The log-request-payload property includes logging of WCF HTTP parameters for .NET.
Type: Boolean
Default value: false
Platform: Java, .NET
logbased-visibility-log-check-interval-in-millis
How often the agent checks application log files for information related to garbage collection performance.
Type: Integer
Default value: 1000 ms
Platform: Java
maximum-activity-trace-stack-depth
This determines the depth of the stack trace to capture as part of an activity trace session. By default, the size of the code paths for OIT (Object Instance Tracking), ALD (Automatic Leak Detection) and MIDS (Memory Intensive Data Structures) are set to 10. To increase this limit, use this property.
A larger depth has higher overhead on the system. AppDynamics recommends that you increase the default value of this property only temporarily, and remove it or set it back to 10 once you get the desired output.
Type: Integer
Default: 10
Platform: Java
maximum-async-task-registration-requests-allowed
Adjust this property to increase or decrease the number of asynchronous task registration requests allowed.
Type: Integer
Default: 500
Platform: Java
maximum-async-task-registrations-allowed
Adjust this property to increase or decrease the number of asynchronous task registrations allowed.
Type: Integer
Default: 500
Platform: Java, .NET
max-business-transactions
Sets a limit on the number of business transactions discovered once an agent is started. The limit helps to ensure that the Controller I/O processing capability and agent memory requirements are appropriate for a production environment.
Changing this setting can affect the resource consumption of your deployment. Before you change this setting verify your application environment and Controller can handle any increased resource requirements.
Type: Integer
Default value: 50
Range: Minimum=N/A; Maximum=200
Platform: Java, .NET
max-call-elements-per-snapshot
This property represents the maximum number of elements that are collected for any call graph for a snapshot. When the limit is reached, the agent stops collecting more data for this call graph, reports what has been collected to that point, and marks the call graph with a warning that the limit was reached. it is not recommended to dramatically increase this number as it may have overhead implications.
Type: Integer
Default value: 5000
Platform: Java, .NET
max-concurrent-snapshots
The maximum number of total snapshots that are allowed, including continuing transactions. When the queue goes over the value set, additional snapshots are dropped. This property is ignored while in Development mode.
Type: Integer
Default value: 20
Range: Values must be positive integers. No other constraints.
Platform: Java, .NET
max-jdbc-calls-per-callgraph
Maximum number of JDBC/ADO.NET exit-call stack samples per call graph. Only queries taking more time than the value of min-duration-for-jdbc-call-in-ms are reported. Changing the value does not require a restart.
Type: Integer
Default value: 100
Range: Minimum=1; Maximum=1000
Platform: Java, .NET
max-jdbc-calls-per-snapshot
Maximum number of JDBC/ADO.NET exit calls allowed in a snapshot. Calls after the limit are not recorded. Changing the value does not require a restart.
Type: Integer
Default value: 500
Range: Minimum=1; Maximum=5000
Platform: Java, .NET
max-service-end-points-per-async-type
Maximum total number of service endpoints that can be registered for each asynchronous entry point type, such as worker thread. Because a single transaction may spawn many threads, you may expect more asynchronous service endpoint types than for synchronous service endpoint types.
Type: Integer
Default value: 40
Range: Minimum=0; Maximum=N/A
Platform: Java
max-service-end-points-per-entry-point-type
Maximum total number of service endpoints that can be registered for each entry point type, such as servlet, struts action, web service, and so on.
Type: Integer
Default value: 25
Range: Minimum=0; Maximum=N/A
Platform: Java, .NET
max-service-end-points-per-node
Maximum total number of service endpoints that can be detected on a single node. Increasing the value of this property enables more service end points to be detected on a particular node.
Type: Integer
Default value: 100
Range: Minimum=0; Maximum=N/A
Platform: Java, .NET
max-service-end-points-per-thread
Maximum number of service endpoints detected on a single thread of transaction execution.
If this property is set to the default value of one and two service endpoints are detected that impact one specific transaction, only one service endpoint will be evaluated at any time. If a second service endpoint is detected in context of the first one, the second is ignored. But, if the second service endpoint starts after the first one ends, the second service endpoint will be evaluated.
Increase this property to monitor additional service endpoints on a thread. This number ensures a maximum limit on overhead and number of metrics due to service endpoints on each thread execution.
Type: Integer
Default value: 1
Range: Minimum=0; Maximum=N/A
Platform: Java, .NET
max-urls-per-error-code
Increases the number of URLs the agent can track that produced a certain error. Once the maximum has been reached, all remaining errors are classified as unknown.
Type: Numeric
Default value: 50
Platform: Java
min-duration-for-jdbc-call-in-ms
A JDBC/ADO.NET call taking more time than the specified time (in milliseconds) is captured in the call graph. The query continues to show up in a transaction snapshot. Setting this value too low (< 10ms) may affect application response times. Changing the value does not require a restart.
Type: Integer
Default value: 10
Range: Minimum=0; Maximum=N/A
Platform: Java, .NET
min-load-per-minute-diagnostic-session-trigger
Indicates the number of requests per Business Transaction to evaluate before triggering a diagnostic session. This is useful to prevent diagnostic sessions when there is not enough load.
Type: Integer
Default value: 10
Range: Minimum=N/A; Maximum=N/A
Platform: Java, .NET
minimum-age-for-evaluation-in-minutes
Automatic Leak Detection (ALD) tracks all frequently used Collections. For a Collection object to be identified and monitored it must meet the conditions defined by the ALD properties. This property is the first criteria that needs to be met. The value is the minimum age of the Collection in minutes. The property takes effect after node restart.
From the point the collection is captured, it is monitored if it is still available for the specified period without getting
garbage collected. If it survives then it is evaluated for size checks and if it meets the criteria then it is monitored for long term growth in size.
Warning: If you reduce the default there may be a performance hit on the CPU and memory because AD needs to process more collections.
Type: Integer
Default value: 30
Range: Minimum=5; Maximum=N/A
Platform: Java
minimum-number-of-elements-in-collection-to-deep-size
Automatic Leak Detection (ALD) tracks all frequently used Collections. For a Collection object to be identified and monitored for it must meet the conditions defined by the ALD properties. This property sets the number of elements threshold.
Warning: If you reduce the default there may be a performance hit on the CPU and memory because AD is processing more collections.
Type: Integer
Default value: 1000
Platform: Java
minimum-size-for-evaluation-in-mb
Automatic Leak Detection (ALD) tracks all frequently used Collections. For a Collection object to be identified and monitored it must meet the conditions defined by the ALD properties. This property sets the minimum initial size in megabytes for a collection to qualify for monitoring. The collection must also survive for the period specified in the minimum-age-for-evaluation-in-minutes property.
Warning: If you reduce the default there may be a performance hit on the CPU and memory because AD is processing more collections.
Type: Integer
Default value: 5
Range: Minimum=1; Maximum,=N/A
Platform: Java
msmq-correlation-field
By default the .NET agent disables downstream correlation for MSMQ message queues. Register this node property on both the publishing and receiving tiers to enable downstream correlation for MSMQ and to specify the field where the agent writes correlation data.
The agent supports "Extension", the default, or "Label". Some frameworks build on MSMQ use the "Extension" field. Only use "Label" when the "Extension" field does not work. The NServiceBus implementation of MSMQ uses the "Extension" field, so for NServiceBus use "Label." See MSMQ Backends for .NET.
Type: String
Values:
None: Disable downstream correlation for MSMQ.
Label: Store correlation information in the label field.
Extension: Store correlation information in the extension field.
Default: None
Platform: .NET
msmq-single-threaded
Specify the threading architecture for the MSMQ message queue. The value defaults to "true." For multithreaded queue implementations, change the value to "false." See MSMQ Backends for .NET.
Type: Boolean
Default: true
Platform: .NET
nservicebus-single-threaded
Specify the threading architecture for the NServiceBus message queue. The value defaults to "true." For multithreaded queue implementations, change the value to "false." See NServiceBus Backends for .NET.
Type: Boolean
Default: frue
Platform: .NET
on-demand-snapshots
Collect snapshots for all business transactions executed in this node. Does not need a restart. This property is ignored while in Development mode.
Type: Boolean
Default value: false
Platform: Java, .NET
percentile-method-option
You can choose one of two different algorithms to calculate percentiles in AppDynamics:
- P Square algorithm (default): This option consumes the least amount of storage and incurs the least amount of CPU overhead. The accuracy of the percentile calculated varies depending on the nature of the distribution of the response times. You should use this option unless you doubt the accuracy of the percentiles presented.
- Quantile Digest algorithm: This option consumes slightly more storage and CPU overhead but may offer better percentiles depending on how the response times are distributed.
Changes to this property do not require that you restart the agent.
Type: Numeric
Values:
1: P Square
2: Quantile Digest
Default value: 1
Platform: Java, .NET
reportingFrequencyinMillis
The agent property specifies frequency of Request Segment Data (RSD) uploads from the agent.
Type: Numeric
Default value: 10000ms
Platform: Java
rest-num-segments
The property, rest-num-segments specifies the n in the first-n-segments parameter in rest-uri-segment-scheme. If this property is 0 or less, then the value of this property is ignored. The value of this property is also ignored if rest-uri-segment-scheme=full.
Type: String
Default value: 2
Platform: Java
rest-transaction-naming
This node property determines the format in which REST-based business transactions are named. You can use variables to populate the name with values bound at runtime. Any characters in the property value that do not match a variable are treated as literal text in the business transaction name, so you can, for example, separate variables with a colon, slash, or other character.
The agent takes each parameter and fills in the proper value based on the annotations and properties of the Java class:
{class-name}
: The app agent will fill in the name of the Java class mapped to the REST resource.{method-name}
: The method being called.{class-annotation}
: Class annotation values.{method-annotation}
: Method annotation applied to the method (not always present).{rest-uri}
: URI of the REST resource. The REST URI is further configured using the following properties:{http-method}
: HTTP method of the request, GET, POST, and so on.{param-%d}
: A parameter to the method identified by position. Replace %d with the position of the parameter (ZERO-based).
Type: String
Default value: {class-annotation}/{method-annotation}.{http-method}
Platform: Java
Examples: Using Default Settings and Using rest-transaction-naming Properties
rest-uri-segment-scheme
The property, rest-uri-segment-scheme has three valid values: first-n-segments, last-n-segments, and full. This property indicates how many segments of the URI to use for the URI in {rest-uri}. This option is case-sensitive. If the value of this property is full, then the value of rest-num-segments is ignored.
Type: String
Default value: first-n-segments
Platform: Java
rmqsegments
The App Agent for .NET (agent) automatically discovers RabbitMQ remote services. Use the rmqsegments node property to refine the queue backend name to include some or all segments of the routing key. You must be familiar with your implementation RabbitMQ exchanges and routing keys. See RabbitMQ Exchanges and Exchange Types.
The RabbitMQ routing key is a string. The agent treats dot-separated (".") substrings of the routing key as segments. Set the value for rmqsegments to an integer that represents the number of routing key segments to include in the name. For more details, see information on refining backend naming in RabbitMQ Backends for .NET.
Type: Numeric
Values: Integer representing the number of routing key segments to include in the name.
Default Value: 0
Platform: .NET
show-packages
For the call graphs captured on this node, show the specified packages or class names in addition to the ones configured in the global call graph configuration. Does not need a restart.
Type: String
Default value: none
Platform: Java, .NET
slow-request-deviation
The value in milliseconds for the deviation from the current average response time. This setting is used for evaluation of slow in-flight transactions. Also see the slow-request-threshold property for more details.
Type: Integer
Default value: 200
Range: Minimum=10; Maximum=3600
Platform: Java, .NET
slow-request-monitor-interval
Description: In-flight requests are checked for slowness in the interval specified by this property. The value is specified in milliseconds.
Type: Integer
Default value: 100
Range: Minimum=0; Maximum=3600
Platform: Java, .NET
slow-request-threshold
In-flight requests taking more time than this threshold (in ms) with a deviation greater than the slow-request-deviation property from the current average response time are monitored to capture hot spots.
Type: Integer
Default value: 500
Range: Minimum=0; Maximum=3600
Platform: Java, .NET
spring-integration-receive-marker-classes
Use this property to specify the class and method you have identified as suitable POJO entry points for Spring Integration.
Based on the MessageHandler interface, the App Agent for Java by default automatically discovers exits for all channels except 'DirectChannel.' In cases where a lot of application flow happens before the first MessageHandler is executed,
- set enable-spring-integration-entry-points=false,
- configure suitable POJO entry points,
- and declare each suitable POJO entry point class/method in this property spring-integration-receive-marker-classes.
If the application code polls for messages in a loop, the span of each loop iteration is tracked as a transaction. Tracking begins when the loop begins and end it when the iteration ends. To safeguard against cases where pollableChannel.receive() is not called inside a loop, specify this property for each class/method combination that polls messages in a loop.
After setting this property, restart the application server for changes to this property to take effect.
For example, to enable tracking for the following:
class MessageProcessor { void process() { while(true) { Message message = pollableChannel.receive() } } }
set this property as follows:
spring-integration-receive-marker-classes = MessageProcesser/process
See also Spring Integration Support.
Type: Comma-separated string of fully-qualified class /method name, such as spring-integration-receive-marker-classes = <fully qualified name of class/method>,<> ....
Default value: None
Platform: Java
thread-correlation-classes
For multithreaded applications, use this property to configure classes to be included in Java thread correlation when simple prefix-matching (matching on STARTSWITH) is sufficient to identify the classes.
The thread-correlation-classes property specifies the classes to include for thread correlation. This property can be used together with the thread-correlation-classes-exclude property.
The configured correlation takes effect without requiring a restart of the managed application.
Also see: Enable Thread Correlation for Java.
Type: Comma-separated string of fully-qualified class names or package names
Default value: none
Platform: Java
thread-correlation-classes-exclude
For multithreaded applications, use this property to configure classes to be excluded in Java thread correlation when simple prefix-matching (matching on STARTSWITH) is sufficient to identify the classes. This property specifies the classes to exclude from thread correlation. This property can be used in conjunction with the thread-correlation-classes node property.
The configured correlation takes effect without requiring a restart of the managed application.
Also see: Configure Multithreaded Transactions (Java only).
Type: Comma-separated string of fully-qualified class names or package names
Default value: none
Platform: Java
thread-cpu-capture-overhead-threshold-in-ms
Determines the timeout allotted for collecting and calculating Thread CPU Time for 1000 iterations. If the timeout is exceeded, the Java Agent automatically disables CPU time collection for threads. CPU usage information will then be absent from the BT overview or snapshots in the Controller UI. In addition, an INFO-level log similar to the following appears in the logs:
[Thread-0] 22 Oct 2013 14:19:26,346 INFO JVMThreadCPUTimeCalculator - Disabling BT CPU Monitoring. Time taken to calculate Thread CPU Time for [1000] iterations is [15 ms] which is greater than the allowed budget of [10 ms].
This issue may particularly affect JDK 1.6 on Linux due to the issue getCurrentThreadCpuTime is drastically slower than Windows Linux.
You can increase the thread-cpu-capture-overhead-threshold-in-ms property, but it is important to note that this may result in increased overhead on your application. We recommend you use this Java HotSpot VM option instead to speed up the API call itself:
-XX:+UseLinuxPosixThreadCPUClocks
Restart is needed after changing this value.
Type: Integer
Default: 10 ms
Platform: Java
wcf-enable-eum
Enable and disable EUM correlation from a WCF node.
The enable EUM correlation, the WCF application must also have the following entry in the Web.Config:
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
See serviceHostingEnvironment.
Type: Boolean
Default value: false
Platform: .NET
websocket-entry-calls-enabled
When set to false, no WebSocket entry calls are detected.
Type: Boolean
Default value: true
Platform: Java