Skip to content
CA Application Performance Management - 10.5
Documentation powered by DocOps

Java Agent Properties

Last update September 20, 2018

The agent refers to properties in the IntroscopeAgent.profile for its standard connection and naming properties. When you install an agent, the agent profile is installed in the <Agent_Home>/core/config directory.

Note: All the Java agent properties apply to on-premise CA APM, and only some terms apply to CA Digital Experience Insights Application Performance Management.

Configuring the IntroscopeAgent.profile Location

Introscope looks for the agent profile in these locations, in this sequence:

  1. The location that is defined in the system property com.wily.introscope.agentProfile
  2. The location that is defined in com.wily.introscope.agentResource
  3. <working directory>/core/config directory
Note: When adding a path on a Windows computer, escape the backslash (\) with another backslash as follows: C:\\Introscope\\lib\\Agent.jar.

You can change the location of the IntroscopeAgent.profile.

Follow these steps:

  1. Define the new location using one of these methods:
    • Define a system property on the Java command line with the -D option. Specify the full path to IntroscopeAgent.profile file location.

      -Dcom.wily.introscope.agentProfile=/path/to/IntroscopeAgent.profile

    • Use the shortcut system property on the Java command line with the -D option to specify the full path to the location of the IntroscopeAgent.profile file. The canonical form takes precedence over the shortcut.

      -DagentProfile=/path/to/IntroscopeAgent.profile

    • Make the IntroscopeAgent.profile available in a resource on the classpath. Set com.wily.introscope.agentResource to specify the path to the resource containing the agent profile.

      Note: If you change the location of the IntroscopeAgent.profile, also change the AutoProbe log location.

      More information: Managing ProbeBuilder Logs
  2. Move your ProbeBuilder directives (PBD and PBL files) to the same location as the agent profile. The PBD and PBL files are referenced relative to the profile location.

Command-line Property Overrides

In Introscope, you can override specific properties of the Enterprise Manager, agents, Workstation, and WebView using the command line. Command-line overrides for the Java agent are especially useful in clustered environments with the following characteristics:

  • Multiple copies of an agent are being shared.
  • When you must configure the agent settings for each monitored application.

Prerequisites:  The agent is installed and configured on the application server to be monitored. The agent successfully connects to the Enterprise Manager.

To override agent properties using the command line

  1. Open the file where you modified the Java command to start the agent.
    The location of this file varies depending on the application server you use in your environment.
  2. Add a -D command to override a property. For example, you can add the following command to make the agent also use the weblogic-full.pbl file:

    -Dintroscope.autoprobe.directivesFile=weblogic-full.pbl

    Place this command next to other -D commands in the open file.

    Note: When you use this command to override hot-deployable properties, the property is no longer hot deployable. If you modify the property at a later time in the configuration file, Workstation or WebView issue a warning message. The message states that you modified an overridden property and your change has no effect. To avoid this situation, remove the override command before modifying the property in a configuration file.
  3. Save the file.
  4. Restart the agent.
    For example, if you added the -Dintroscope.autoprobe.directivesFile=weblogic-full.pbl command, after restarting the agent, you are able to see the extra WebLogic metrics in the agent node.

    Important! System properties become part of the property space of Introscope properties. This situation allows information such as the java.io.tmpdir to be visible to anything using IndexedProperties.

Agent Failover Properties

When the Java agent loses connection with its primary Enterprise Manager, you can configure agent failover. These properties specify the Enterprise Manager to which the agent fails over. The properties also specify how often the agent tries to reconnect to its primary Enterprise Manager.

Connection Order

Use the agentManager.url property to set the connection order of backup Enterprise Managers.

The number in the property suffix automatically determines the connection order. If the primary Enterprise Manager (agentManager.url.1) is not available, the agent tries to connect to the next Enterprise Manager (agentManager.url.2). If the agent does not connect with its first backup Enterprise Manager, it tries the next Enterprise Manager (agentManager.url.3).

 If the agent is disconnected from its default Enterprise Manager, specify the connection order that the agent uses.

Example

agentManager.url.1=sfcollect01:5001

agentManager.url.2=paris:5001
agentManager.url.3=voyager:5002

Note: Restart the managed application for changes to this property to take effect.

introscope.agent.enterprisemanager.failbackRetryIntervalInSeconds

This property requires the agent to keep trying to connect to its allowed Enterprise Managers until one is available.

This property specifies the number of seconds between attempts by a denied agent to reconnect to these Enterprise Managers:

  • Enterprise Managers, which are based on order that is configured in the agent profile introscope.agent.enterprisemanager.connectionorder property value.
  • Any Enterprise Manager allowed based on loadbalancing.xml configuration.

If an agent cannot connect to an Enterprise Manager, it handles connections in these ways:

  • Agent tries to connect to the next allowed Enterprise Manager.
  • Agent does not connect to any Enterprise Manager on which it is disallowed.

Default

The default interval is 120 seconds.

Example

introscope.agent.enterprisemanager.failbackRetryIntervalInSeconds=120

Notes:

  • This property is commented out by default.
  • This property is useful for environments where an agent is allowed to connect across the following CA APM components:
    • Clusters
    • Collectors and Standalone Enterprise Managers
    • Any combination of clusters, Collectors, and Standalone Enterprise Managers

Example
These actions occur when an agent can connect to Enterprise Managers in different clusters and introscope.agent.enterprisemanager.failbackRetryIntervalInSeconds is not configured:

  1. An agent that is connected to an Enterprise Manager in Cluster 1 disconnects.
  2. The agent connects to an Enterprise Manager in Cluster 2 in disallowed mode.
  3. The agent does not know when the allowed Enterprise Manager in Cluster 1 becomes available.
  • Restart the managed application for changes to this property to take effect.

Agent to Enterprise Manager Connection Properties

You can control how the agent connects to the Enterprise Manager.

agentManager.localIpaddress.1

This property the application server environment IP address that the agent uses for connecting to the Enterprise Manager.

When there are multiple NICs on the agent computer, agentManager.localIpaddress.1 is useful when and you want to use a specific NIC for the agent.

Default: localhost

Example

agentManager.localIpaddress.1=172.31.255.255

Note: Restart the managed application for changes to this property to take effect.

agentManager.localPort.1

This property the application server default local port to enable connections from the agent to the Enterprise Manager. If the property is not set (or set to 0), the agent picks any available port number.

Default: 0

Example

agentManager.localPort.1=5000

Notes:

  • You can customize the port number setting of the agent to work with your server environment. In this case, configure the TIME_WAIT settings of the operating system where the agent is installed. This configuration prevents a connection failure between the agent and the Collector.

    More Information:To manage port timeout settings, see the Operating System documentation for the computer on which the agent is installed.

  • Restart the managed application for changes to this property to take effect.

Agent HTTP Tunneling for Proxy Servers

These properties apply to agents configured to tunnel over HTTP that must use a proxy server for Enterprise Manager connection.

agentManager.httpProxy.host

This property the proxy server host name.

Default: not specified

Notes:

  • This property is commented out by default.
  • Restart the managed application for changes to this property to take effect.

agentManager.httpProxy.port

This property specifies the proxy server port number.

Default: not specified

Notes:

  • This property is commented out by default.
  • Restart the managed application for changes to this property to take effect.

agentManager.httpProxy.username

 When the proxy server requires the agent to authenticate it, specifies the user name for authentication.

Default: not specified

Notes:

  • This property is commented out by default.
  • Restart the managed application for changes to this property to take effect.

agentManager.httpProxy.password

When the proxy server requires the agent to authenticate it, specifies the password for authentication.

Default: not specified

Notes:

  • This property is commented out by default.
  • Restart the managed application for changes to this property to take effect.

Agent Memory Overhead Property

Significant agent memory overhead only occurs in certain extreme cases. The typical trade-off for lowering memory consumption is a potential increase in response time. However, each application is unique and the trade-off between memory usage and response time can vary depending on each application.

introscope.agent.reduceAgentMemoryOverhead

This property specifies the agent configuration to use. Uncomment if you want to reduce the agent memory overhead.

Values: true or false

Default: false

Example: introscope.agent.reduceAgentMemoryOverhead=false

Notes:

  • This property is commented out by default.
  • Restart the managed application for changes to this property to take effect.

Agent Metric Aging Properties

Agent metric aging periodically removes dead metrics from the agent memory cache. A dead metric is a metric that has no new data reported in a configured amount of time. Removing old metrics helps to improve agent performance and avoid potential metric explosions.

Note: A metric explosion happens when an agent reports more metrics than the system can handle. When too many metrics are reported, the agent can affect the performance of the application server. In extreme cases, the agent can prevent the server from functioning at all.

Metrics that are in a group are removed only if all metrics in the group are considered candidates for removal. Currently, only BlamePointTracer and MetricRecordingAdministrator metrics are removed as a group. Other metrics are removed individually.

The MetricRecordingAdministrator has the following interfaces for creating, retrieving, or removing a metric group:

  • getAgent().IAgent_getMetricRecordingAdministrator.addMetricGroup
    String component, collection metrics. The component name is the metric resource name of the metric group. The metrics must be under the same metric node to qualify as a group. The metrics are a collection of com.wily.introscope.spec.metric.AgentMetric data structures. You can only add AgentMetric data structures to this collection.
  • getAgent().IAgent_getMetricRecordingAdministrator.getMetricGroup
    String component. Based on the component name which is the metric resource name, you can get the Collection of metrics.
  • getAgent().IAgent_getMetricRecordingAdministrator.removeMetricGroup
    String component. The metric group is removed based on the component which is the metric resource name.
  • getAgent().IAgent_getDataAccumulatorFactory.isRemoved
    Checks if the metric is removed. You use this interface if you keep an instance of an accumulator in your extension. If the accumulator is removed because of metric aging, you use this interface to prevent holding onto a dead reference.
     
Important! When you create an extension that uses a MetricRecordingAdministrator interface (for example, for use with other CA Technologies products), be sure to delete your own instance of an accumulator. A metric can age out because it has not been invoked. When data later become available for that metric, the old accumulator instance does not create new metric data points. To avoid this situation, do not delete your own instance of an accumulator and use instead the getDataAccumulatorFactory interface.

Configuring Agent Metric Aging

Agent metric aging is on by default. You can turn off this capability using the property introscope.agent.metricAging.turnOn. If you remove this property from the IntroscopeAgent.profile, agent metric aging is turned off by default.

Agent metric aging runs on a heartbeat in the agent. The heartbeat is configured the property introscope.agent.metricAging.heartbeatInterval. Be sure to keep the frequency of the heartbeat low. A higher heartbeat impacts the performance of the agent and Introscope.

During each heartbeat, agent metric aging checks a set of metrics. You can configure the set using the property introscope.agent.metricAging.dataChunk. Keep this value low, because a higher value can affect performance. The default value is 500 metrics that are checked per heartbeat. Each of the 500 metrics is checked to see if it is a candidate for removal. For example, you set this property to check chunks of 500 metrics per heartbeat. You have a total of 10,000 metrics in the agent memory. The value of 500 metrics takes the agent a certain about of time with a low-performance impact to check all 10,000 metrics. However, if you set introscope.agent.metricAging.dataChunk to a higher number, the agent checks all 10,000 metrics faster, with possibly high overhead.

When a metric has not received new data after certain time frame, the metric is a candidate for removal. You can configure this time frame using the property introscope.agent.metricAging.numberTimeslices. This property is set to 180000 by default. When a metric meets the condition for removal, then a check is performed.  Agent metric determines if all the metrics in its group are candidates for metric removal. If this requirement has also been met, then the metric is removed.

introscope.agent.metricAging.turnOn

Turns on or off agent metric aging.

Values: true or false

Default: true

Example: introscope.agent.metricAging.turnOn=true

Note: No managed application restart needed

introscope.agent.metricAging.heartbeatInterval

This property specifies the time interval when metrics are checked for removal, in seconds.

Default: 86400

Example: introscope.agent.metricAging.heartbeatInterval=86400

Note: Restart the managed application for changes to this property to take effect.

introscope.agent.metricAging.dataChunk

This property specifies the number of metrics that are checked during each interval.

Default: 500

Example: introscope.agent.metricAging.dataChunk=500

Note: No managed application restart needed

introscope.agent.metricAging.numberTimeslices

This property specifies the number of intervals to check without any new data before making it a candidate for removal.

Default: 180000

Example: introscope.agent.metricAging.numberTimeslices=180000

Note: No managed application restart needed

introscope.agent.metricAging.metricExclude.ignore.0

This property excludes specified metrics from being removed. To exclude one or more metrics from aging, add the metric name or a metric filter to the list.

Values: Comma-separated list of metrics. You can use an asterisk (*) as a wildcard in metric names.

Default: metric names beginning with Threads (Threads*).

Example: introscope.agent.metricAging.metricExclude.ignore.0=Threads*

Note: No managed application restart needed

Agent Metric Clamp Property

introscope.agent.metricClamp

This property configures the agent to clamp approximately the number of metrics that are sent to the Enterprise Manager. When the number of generated metrics exceeds the property value, the agent stops collecting and sending new metrics. Existing metrics continue to report values.

Default: 5000

Example:

introscope.agent.metricClamp=5000

Notes:

  • When the property is not set, by default the agent clamps at the maximum value of 50000 metrics. The agent does not report new metrics, but does continue to report existing metrics.
  • The value must be equal to or larger than 1000 to take effect.
  • This clamp property works with the introscope.enterprisemanager.agent.metrics.limit property that is located in the apm-events-thresholds-config.xml file.
    If introscope.enterprisemanager.agent.metrics.limit clamp value is triggered before the introscope.agent.metricClamp value, then the Enterprise Manager reads agent metrics. However the Enterprise Manager does not report the metrics in the Investigator metric browser tree.
    If the introscope.agent.metricClamp clamp value is triggered before the introscope.enterprisemanager.agent.metrics.limit clamp value, the agent stops sending metrics to the Enterprise Manager

  • Restart the managed application for changes to this property to take effect.

Agent Naming Properties

You can configure properties to obtain the Java agent name for application servers.

introscope.agent.agentAutoNamingEnabled

This property specifies whether agent autonaming is used to obtain the Java agent name for supported application servers.

Values: true or false

Default: Varies by application server.

Example: introscope.agent.agentAutoNamingEnabled=false

Notes:

  • Agent autonaming is enabled by default for WebLogic and WebSphere.
  • This property requires the Startup Class to be specified for WebLogic,
  • This property requires the Custom Service to be specified for WebSphere.
  • Agent auto-naming is disabled in the Interstage and Tomcat application servers.
  • You can enable autonaming for JBoss.
  • Restart the managed application for changes to this property to take effect.

introscope.agent.agentAutoNamingMaximumConnectionDelayInSeconds

This property specifies the number of seconds that anagent waits for naming information before connecting to the Enterprise Manager.

Default: 120

Example: introscope.agent.agentAutoNamingMaximumConnectionDelayInSeconds=120

Note: Restart the managed application for changes to this property to take effect.

introscope.agent.agentAutoRenamingIntervalInMinutes

This property specifies the number of minutes that an agent waits before determining whether it has been renamed.

Default: 10 (minutes)

Example: introscope.agent.agentAutoRenamingIntervalInMinutes=10

Note: Restart the managed application for changes to this property to take effect.

introscope.agent.agentName

This property provides a default agent name when other agent naming methods fail.

Value: For any installation, if the value of this property is invalid or if this property is deleted from the profile, the agent is named UnnamedAgent.

Example: #introscope.agent.agentName=AgentName

Notes:

  • In the InstroscopeAgent.profile that is provided with the application-server-specific agent installers, the default reflects the application server. For example, WebLogic Agent.
  • In the IntroscopeAgent.profile that is provided with the default agent installer, the property value is AgentName. The line is commented out.
  • Uncomment this property to provide a default agent name if other agent naming methods fail.
  • Restart the managed application for changes to this property to take effect.

introscope.autoprobe.directivesFile

Note: CA CEM is available for on-premise CA APM only.

You enable ServletHeaderDecorator / HTTPHeaderDecorator and CEMTracer through the introscope.autoprobe.directivesFile property configuration.

The directives file property specifies where to find the directive files (PBD) or directive lists (PBL) for AutoProbe.

AutoProbe uses directives to enable your applications, and to determine which metrics the agents report to the Enterprise Manager.

Settings

The settings depend on the agent application server that is installed, with the format of <appserver>-full.pbl or <appserver>-typical.pbl.

Default

default-typical.pbl

Example

introscope.autoprobe.directivesFile=weblogic-typical.pbl

Notes

Although you can simply add ServletHeaderDecorator.pbd or httpheaderdecorator.pbd to the end of this property list, it is better practice to perform this procedure:

  1. Locate the PBL file that is specified in the property.
    For example, in introscope.autoprobe.directivesFile=weblogic-typical.pbl, the specified pbl is weblogic-typical.pbl.

  2. Open the PBL file in a text editor.
  3. For a Java agent, uncomment to enable the ServletHeaderDecorator.pbd line.
  4. For a .NET agent, uncomment to enable the httpheaderdecorator.pbd line.
  5. Save your changes to the PBL file.

introscope.agent.agentNameSystemPropertyKey

This property specifies the agent name using the value of a Java system property.

Default: Not specified.

Example: introscope.agent.agentNameSystemPropertyKey

Note: Restart the managed application for changes to this property to take effect.

introscope.agent.disableLogFileAutoNaming

This property specifies whether to disable automatic naming of the agent log files when using AutoNaming options.

Setting this property to true disables log-file auto-naming for agents, AutoProbe, and LeakHunter with the agent name or a timestamp.

Value: true or false

Default: false

Example: introscope.agent.disableLogFileAutoNaming=false

Notes:

  • Log file auto-naming takes effect only in two situations. When the agent name can be determined using a Java system property or an application server custom service.
  • Restart the managed application for changes to this property to take effect.

introscope.agent.clonedAgent

This property enables you to run identical copies of an application on the same computer. Set this property to true if you have identical copies of an application running on the same computer.

Values: true or false

Default: false

Example: introscope.agent.clonedAgent=false

Note: Restart the managed application for changes to this property to take effect.

introscope.agent.customProcessName

This property specifies the process name as it ideally appears in the Enterprise Manager and Workstation.

Default: Varies by application server.

Example: introscope.agent.customProcessName=CustomProcessName

Notes:

  • In the agent profile that is provided with application-server-specific agent installers, the default reflects the application server. For instance, WebLogic.
  • In the agent profile that is provided with the default agent installer, this property is commented out.
  • Restart the managed application for changes to this property to take effect.

introscope.agent.defaultProcessName

This property specifies the value that is used for the process name, when two conditions are met. When no custom process name is provided, and when the agent is unable to determine the main application class name.

Default: UnknownProcess

Example: introscope.agent.defaultProcessName=UnknownProcess

Note: Restart the managed application for changes to this property to take effect.

introscope.agent.display.hostName.as.fqdn

This property specifies whether the agent name is displayed as a fully qualified domain name (fqdn). To enable the fully qualified domain name, set this property value to true. By default, the agent displays the host name.

Values: true or false

Default: false

Example: introscope.agent.display.hostName.as.fqdn=false

Notes:

  • For the Catalyst integration, set this property to true.
  • Restart the managed application for changes to this property to take effect.

Agent Recording (Business Recording) Property

You can control how the agent handles business transaction recording.

introscope.agent.bizRecording.enabled

This property enables or disables business transaction recording for the agent.

Values: true or false

Default: true

Example: introscope.agent.bizRecording.enabled=true

Note: Restart the managed application for changes to this property to take effect.

Agent Thread Priority Property

The property in this section controls the priority of agent threads.

introscope.agent.thread.all.priority

This property controls the priority of agent threads.

Values: 1 (low) to 10 (high).

Default: 5

Example: introscope.agent.thread.all.priority=5

Notes:

  • This property is commented out by default.
  • Restart the managed application for changes to this property to take effect.

Application Naming Property

The property in this section configures the name of Java applications that are displayed in the Team Center and Investigator Metric Browser tree.

introscope.agent.application.name

This property allows to you set one custom name for all the Java applications that are connected to this agent. The custom name displays instead of the default Java application name.

When this property value is not specified, individual application names display as individual node names in Team Center and the Metric Browser tree. For example, an agent monitors different applications. The agent reports the metrics for each application as a separate node under the Frontends node.

When this property is uncommented and specified, individual application names are bundled. The names display as one custom node name in Team Center and the Metric Browser tree. For example, you set introscope.agent.application.name=Application 1. An agent monitoring different application reports the metrics for each application under the Frontends | Application 1 | URLs.

Values: Alphanumeric string. No wildcards are allowed.

Default: This property has no default setting.

Example: introscope.agent.application.name=Application 1

Notes:

  • This property is commented out by default.
  • No managed application restart needed

Application Triage Map Properties

You can configure business transaction recording for the agent and application triage map data.

introscope.agent.appmap.enabled

This property enables or disables the tracking of monitored code for the application triage map.

Values: true or false

Default: true

Example: introscope.agent.appmap.enabled=true

introscope.agent.appmap.metrics.enabled

This property enables or disables the tracking of metrics for the application triage map nodes.

Values: true or false

Default: false

Example: introscope.agent.appmap.metrics.enabled=false

Note: This property is commented out by default.

introscope.agent.appmap.queue.size

This property specifies the buffer size for the application triage map.

Value: Positive integers

Default: 1000

Example: introscope.agent.appmap.queue.size=1000

Notes:

  • If the value is set to 0, the buffer is unbounded.
  • This property is commented out by default.

introscope.agent.appmap.queue.period

This property specifies the frequency in milliseconds for sending application triage map data to the Enterprise Manager.

Values: Positive integers.

Default: 1000 (milliseconds)

Example: introscope.agent.appmap.queue.period=1000

Notes:

  • If the value is set to 0, the default value is used.
  • This property is commented out by default.

introscope.agent.appmap.intermediateNodes.enabled

This property enables or disables the ability to include intermediate nodes between the application frontend and backend nodes.

Values: true or false

Default: false

Example: #introscope.agent.appmap.intermediateNodes.enabled=true

Notes:

  • Setting this property to true can slow down agent performance.
  • This property is commented out by default.
  • No managed application restart needed

introscope.agent.appmap.catalystIntegration.enabled

This property enables or disables the ability to send additional information from the agent for integration with Catalyst.

Values: True or false

Default: False

Example: 

introscope.agent.appmap.catalystIntegration.enabled=false

Note: This property is commented out by default.

introscope.agent.primary.net.interface.name

This property specifies the primary network interface name of the host computer that the agent uses for the Catalyst integration.

When the agent logging level is set to DEBUG, information about network interface names available for configuration appears in the log file. Alternatively, you can use the Network Interface utility to determine the primary network interface name for this property.

(Optional) Allow for multiple network addresses by specifying the subinterface number, which starts at 0.

Default:  Undefined. When this property is not set, the agent assigns the first available network interface as the primary interface. You can use the Network Interface utility to determine the name value for this property.

Examples:

introscope.agent.primary.net.interface.name=eth4

The following example shows the subinterface number format:

introscope.agent.primary.net.interface.name=eth4.1

Notes:

  • This property is commented out by default.

  • No managed application restart needed 

Application Triage Map Business Transaction POST Parameters Property

introscope.agent.bizdef.matchPost

You can configure your Local Product Shorts to perform more complex monitoring by matching POST parameters. This property determines when POST parameters are matched.

Note: Understand how agent recording works before you configure this property.

Values: The valid settings for this property are never, before, or after.

  • Never
    Never attempt to match POST parameters. This option is the fastest, but might result in inaccurate business-transaction component matching.
    Set the property to never for full agent functionality and better performance. This setting allows your application to identify all business transactions using URLs, cookies, or header parameters, but fails to match any business transactions that are identified solely through POST parameters.
  • Before
    This option matches POST parameters before the servlets execute.
    Set the property to before to get full agent performance. This setting allows applications to use POST parameters to identify some or all business transactions. However, the applications never access the servlet stream directly for HTTP form requests. New applications that are deployed must also conform to standard API when this property is set to before.
     
Important! Setting this property to before could have potentially hazardous repercussions for your applications. Review this property setting with a CA Technologies representative before implementation.
  • After
    This option matches POST parameter patterns after the servlet has executed. When set to after, cross-process mapping and some metrics are not available. This value is the default setting.
    Set the property to after to match safely business transactions with POST parameters, but with limited agent functionality. When this property value is after, the agent is not able to map business transactions that are identified by POST parameters across processes. The agent also cannot produce full sets of metrics for POST parameters across processes. This setting also consumes slightly more CPU time compared to the other options, but is considered the safest setting if one needs the POST parameter functionality. It allows applications to use POST parameters to identify some or all business transactions and cannot ensure that the servlet stream is never accessed directly.

Example:

introscope.agent.bizdef.matchPost=after

Known limitations:

The metrics that are defined using agent recording are displayed in the application triage map. When configuring agent recording, there are some known limitations when using regular expressions. Most of the limitations have to do with POST parameters.

  • Line terminators (.) are not supported for POST parameter values.
  • If POST parameter definitions are dependent on the business transaction definition, only three metrics are provided for the business transaction component. These metrics are:
    • Average Response Time
    • Responses Per Interval
    • Errors Per Interval
  • If POST parameter definitions are dependent on the business transaction definition, then the business component name in the transaction trace component has a generic name and not the specific name of the business service, business transaction, and business transaction component. This also applies to business transaction definitions that are dependent on POST parameter definitions that do not match.

Application Triage Map Managed Socket Configuration Properties

The properties in this section allow you to enable or disable the appearance of socket metrics in the application triage map.

introscope.agent.sockets.managed.reportToAppmap

This property enables managed sockets to appear in the application triage map.

Values: true or false

Default: true

Example: introscope.agent.sockets.managed.reportToAppmap=true

Note: Restart the managed application for changes to this property to take effect.

introscope.agent.sockets.managed.reportClassAppEdge

This property enables managed sockets to report class level application edges to the application triage map.

Values: true or false

Default: false

Example: introscope.agent.sockets.managed.reportClassAppEdge=false

Note: Restart the managed application for changes to this property to take effect.

introscope.agent.sockets.managed.reportMethodAppEdge

This property enables managed sockets to report method level application edges to the application triage map.

Values: true or false

Default: true

Example: introscope.agent.sockets.managed.reportMethodAppEdge=true

Note: Restart the managed application for changes to this property to take effect.

introscope.agent.sockets.managed.reportClassBTEdge

This property enables managed sockets to report class level business transaction edges to the application triage map.

Values: true or false

Default: false

Example: introscope.agent.sockets.managed.reportClassBTEdge=false

Note: Restart the managed application for changes to this property to take effect.

introscope.agent.sockets.managed.reportMethodBTEdge

This property enables managed sockets to report method level business transaction edges to the application triage map.

Values: true or false

Default: true

Example: introscope.agent.sockets.managed.reportMethodBTEdge=true

Note: Restart the managed application for changes to this property to take effect.

AutoProbe Properties

introscope.autoprobe.constructor.policy

Constructor instrumentation limitations can cause byte-code verification errors on some JVMs. Constructor instrumentation policies allow as much visibility as possible to constructor transactions while taking into account the limitations.

Values:

  • Full
    Full instrumentation provides the full timing of constructor methods and catches all thrown exceptions. However, this setting can cause class verification errors on some applications and JVMs. This setting creates two try/catch blocks, one for the super() constructor method call, and the other for rest of the constructor body. 
  • Partial
    This setting creates one try/catch block for rest of the constructor body. Therefore, the Java agent does not report the timing of the super() constructor method call. When the super() constructor method call throws an exception, the Java agent does not know that the constructor was ever called, therefore cannot report the error. 
  • None
    The Java agent is not allowed to instrument constructor methods.

Default: Partial

Example: introscope.autoprobe.constructor.policy=Partial

Notes:

  • This property is not included in the introscopeagent.profile file. Add this property to the introscopeagent.profile to change it.
  • The property values are case-sensitive. The first letter must be uppercase, and the remaining letters must be lowercase.
  • Restart the managed application for changes to this property to take effect.

introscope.autoprobe.directivesFile

This property specifies ProbeBuilder directives files for AutoProbe.

Default: Varies by installer.

Note: If this property includes one or more directories, and dynamic ProbeBuilding is enabled, the agent loads directives files from the specified directories without an application restart.

introscope.autoprobe.enable

This property enables or disables inserting probes into bytecode automatically.

Values: true or false

Default: true

Example: introscope.autoprobe.enable=true

Notes:

  • Setting this property to false turns off automatic insertion of probes into the application bytecode, but does not turn off the agent or agent reporting.
  • Restart the managed application for changes to this property to take effect.

introscope.autoprobe.logfile

This property specifies if the location of the log file must be moved to something other than the default.

Values: Absolute file paths, or nonabsolute paths. Nonabsolute names are resolved relative to the location of this properties file.

Default: ../../logs/AutoProbe.log

Example: introscope.autoprobe.logfile=../../logs/AutoProbe.log

To disable logging, comment out the log file as follows:

introscope.autoprobe.logfile=logs/AutoProbe.log

You can set a JVM parameter to limit the AutoProbelog to an approximate size. When this property is set, AutoProbe log compares the current log size to this system property. If the current log size is larger than the property value, then AutoProbe logging stops. Therefore, the AutoProbe log file size can be larger than the specified value.

Add this property to the monitored application Java parameters in the same location as the -javaagent properties:

-Dcom.wily.autoprobe.logSizeInKB=

This example shows how to limit an AutoProbe log file size to about 1 MB (1024 KB):

-Dcom.wily.autoprobe.logSizeInKB=1024

Note: Restart the managed application for changes to this property to take effect.

Command Center Property

introscope.agent.acc.enable

This property enables or disables connectivity to Agent Controller.

Values: true or false

Default: false

Example: introscope.agent.acc.enable=true

Note: This property is not part of the IntroscopeAgent.profile file. Add this property if you want CA APM Command Center to manage the agent.

Deep Inheritance Settings

The most common functionality for which you would enable the deep inheritance property is EJB and servlet request tracing. For example, WebLogic uses its own implementation of ServletRequest and it is not recognized if the deep inheritance property is disabled. EJBs only work if they directly implement SessionBean and EJBObject which, depends on the web server version and type of implementation. This rule also applies to extension and other custom PBDs that apply the deep inheritance property.

PBD Examples:

apm-common.pbd 

IdentifyDeepInheritedAs: javax.servlet.ServletRequest ServletRequestClass

IdentifyDeepInheritedAs: javax.servlet.http.HttpServletRequest ServletRequestClass

j2ee.pbd 

IdentifyDeepInheritedAs: javax.ejb.SessionBean SessionBeanTracing

IdentifyDeepInheritedAs: javax.ejb.EntityBean EntityBeanTracing

IdentifyDeepInheritedAs: javax.ejb.MessageDrivenBean MessageDrivenBeanTracing

IdentifyDeepInheritedAs: javax.ejb.EJBObject EJB2StubTracing

HTTP_Tracer_For_SYSVIEW.pbd 

IdentifyDeepInheritedAs: java.net.URLConnection URLConnectionCorrelationTracing

IdentifyDeepInheritedAs: javax.servlet.http.HttpServlet HttpServletCorrelationTracing

introscope.autoprobe.deepinheritance.enabled

This property enables deep inheritance instrumentation through PBD directives.

If this property is set to false, deep inheritance directives behave as shallow inheritance. Meaning, inheritance relations beyond the immediate superclass interfaces are not recognized.

Values: true or false

Default: true

Property Example: introscope.autoprobe.deepinheritance.enabled=false

Note: No managed application restart needed

introscope.autoprobe.deepinheritance.auto.turnoff.enable

If you enable the deep inheritance property, this property takes effect. This property controls whether deep inheritance automatically turns off when it takes too much time.

  • If the property is set to true, deep inheritance automatically turns off when it takes too much time. 
  • If the property is set to false, deep inheritance does not automatically turn off and it continues.

Values: true or false

Default: true

Property Example: introscope.autoprobe.deepinheritance.auto.turnoff.enable=true

Note: Restart the managed application for changes to this property to take effect.

introscope.autoprobe.deepinheritance.auto.turnoff.requests.per.interval

If you enable the deep inheritance auto- turn off property, this property takes effect. This property specifies the number of requests in a checking interval.

Values: numeric

Default: 100

Property Example: introscope.autoprobe.deepinheritance.auto.turnoff.requests.per.interval=100

Note: Restart the managed application for changes to this property to take effect.

introscope.autoprobe.deepinheritance.auto.turnoff.maxtime.per.interval

If you enable the deep inheritance auto- turn off property, this parameter takes effect. This property specifies the maximum amount of time in milliseconds allowed in a checking interval.

Values: numeric

Default: 12000

Property Example: introscope.autoprobe.deepinheritance.auto.turnoff.maxtime.per.interval=12000

Note: Restart the managed application for changes to this property to take effect.

introscope.autoprobe.deepinheritance.auto.turnoff.maxtime.total

If you enable the deep inheritance auto- turn off property this property takes effect. This property specifies the total maximum time deep inheritance can spend after an application starts. If the application exceeds the value that is specified, then deep inheritance is disabled. 

Values: numeric

Default: 120000

Property Example: introscope.autoprobe.deepinheritance.auto.turnoff.maxtime.total=120000

Note: Restart the managed application for changes to this property to take effect.

Bootstrap Classes Instrumentation Manager Properties

The properties in this section configure the Bootstrap Classes Instrumentation Manager:

The Bootstrap Classes Instrumentation Manager instruments a set of classes after the agent bootstrap. This instrumenting improves agent performance and allows easy implementation of tracers for Java NIO and Secure Sockets Layer (SSL).  Comment out this property in the IntroscopeAgent.profile to disable it.

introscope.bootstrapClassesManager.enabled

This property enables or disables the bootstrap manager. When set to false, no system classes are instrumented.

Values: true or false

Default: false

Example: introscope.bootstrapClassesManager.enabled=true

Note:

  • This property only functions with JVMs running Java 1.5 at a minimum.
  • Restart the managed application for changes to this property to take effect.

introscope.bootstrapClassesManager.waitAtStartup

Sets the time in seconds for the agent wait time after startup to instrument bootstrap classes.

Default:

  • 240 seconds when used with Interstage, WebLogic, or WebSphere application server
  • 5 seconds when used with JBoss, Sun, or Tomcat

Example: introscope.bootstrapClassesManager.waitAtStartup=5

Note:

  • This property only functions with JVMs running Java 1.5 at a minimum.
  • When this property is active, it can overrule classes that have been designated as skipped. If skipped classes are being instrumented, contact your CA Technologies representative, or CA Support.

CA CEM Agent Profile Properties

You can configure CA CEM-related IntroscopeAgent.profile (also named the agent profile) properties file found in the <Agent_Home> directory.

 CA CEM and Introscope are preconfigured to work together.

Note: CA CEM is available for on-premise CA APM only.

introscope.agent.remoteagentconfiguration.allowedFiles

This property identifies the files that are allowed to be copied remotely from any computer to the agent directory.

The Enterprise Manager uses the file name in this property to identify the valid CA CEM domain configuration file to send to the agents. The domain configuration file contains the CA CEM business service and transactions definitions.

Settings

Use valid file name.

Default

domainconfig.xml

Example

introscope.agent.remoteagentconfiguration.allowedFiles=domainconfig.xml

Notes:

This property also applies to the Command-Line Workstation Send Config File command.

This property is valid for CA CEM releases.

introscope.agent.remoteagentconfiguration.enabled

If this Boolean value is set to true, it allows remote file copies to the agent from another computer.

The Enterprise Manager requires you to set this property to true to send the CA CEM domain configuration file to the agents. The domain configuration file contains the CA CEM business service and transactions definitions.

Settings

True or False

Default

  • True for Java Agents
  • False for .NET Agents

Example

introscope.agent.remoteagentconfiguration.enabled=true

Notes

A remote user can also use the Introscope Command-Line Workstation (CLW) Send Config File command to copy into the agent directory. You specify the file or files in the introscope.agent.remoteagentconfiguration.allowedFiles property.

Noncompatible agents are an unsupported .NET agent, an EPA agent, or other non-Java agent. When agents are noncompatible, set introscope.agent.remoteagentconfiguration.enabled to false.

introscope.agent.decorator.enabled

When this Boolean value is set to true, it configures the agent to add extra performance monitoring information to HTTP response headers. ServletHeaderDecorator / HTTPHeaderDecorator attaches the GUID to each transaction and inserts the GUID into an HTTP header, x-wily-info.

This property enables the correlation of transactions between CA CEM and Introscope.

Settings: True or false

Default

  • False for Java agents
  • False for .NET agents

Note: No managed application restart needed

Example

introscope.agent.decorator.enabled=false

introscope.agent.decorator.security

This property determines the format of the decorated HTTP response headers that are sent to CA CEM.

Settings:

  • Clear 
    Clear text encoding
  • Encrypted
    The header data is encrypted.

Default: Encrypted

Example

introscope.agent.decorator.security=encrypted

Note: For supported versions, see the Product Compatibility Matrix.

ChangeDetector Configuration Properties

You can control how the local agent works with ChangeDetector.

introscope.changeDetector.enable

This property specifies whether ChangeDetector is enabled or disabled. Set the property to true to enable ChangeDetector.

Values: True or false

Default: False

Example

introscope.changeDetector.enable=false

Notes:

  • This property is commented out by default.
  •  If you enable ChangeDetector, set the additional ChangeDetector-related properties.
  • Restart the managed application for changes to this property to take effect.

introscope.changeDetector.agentID

This property specifies the text string that is used by ChangeDetector to identify the local agent. If you enable ChangeDetector, uncomment this property and set it to an appropriate value.

Default: SampleApplicationName

Example:

introscope.changeDetector.agentID=SampleApplicationName

Note: This property is commented out by default.

introscope.changeDetector.rootDir

This property specifies the root directory for ChangeDetector files. The root directory is the folder where ChangeDetector creates its local cache files.

Values: Full path to the root directory for ChangeDetector files as a text string.

Default: The default path is c:\\sw\\AppServer\\<Agent_Home>\\change_detector.

Example:

introscope.changeDetector.rootDir=c:\\sw\\AppServer\\<Agent_Home>\\change_detector

Note: Use a backslash to escape the backslash character, as in the example.

introscope.changeDetector.isengardStartupWaitTimeInSec

This property specifies the number of seconds to wait after the agent starts before ChangeDetector tries to connect to the Enterprise Manager.

Default: 15 (seconds)

Example:

introscope.changeDetector.isengardStartupWaitTimeInSec=15

Note: This property is commented out by default.

introscope.changeDetector.waitTimeBetweenReconnectInSec

This property specifies the number of seconds ChangeDetector waits before retrying a connection to the Enterprise Manager.

Default: 10 (seconds)

Example:

introscope.changeDetector.waitTimeBetweenReconnectInSec=10

Note: This property is commented out by default.

introscope.changeDetector.profile

This property specifies the absolute or relative path to the ChangeDetector datasources configuration file.

Default: ChangeDetector-config.xml

Example

introscope.changeDetector.profile=CDConfig\\ChangeDetector-config.xml

Notes:

  • Use a backslash to escape the backslash character, as in the example.
  • This property is commented out by default.

introscope.changeDetector.profileDir

This property specifies the absolute or relative path to the directory that contains data source configuration files. When this property is set, all the data source configuration files in this directory and any file that is specified by the introscope.changeDetector.profile property are used.

Default: changeDetector_profiles

Example:

introscope.changeDetector.profileDir=c:\\CDconfig\\changeDetector_profiles

Notes:

  • Use a backslash to escape the backslash character.
  • This property is commented out by default.

introscope.changeDetector.compressEntries.enable

This property specifies whether to allow compression on the ChangeDetector data buffer.  When you experience memory consumption at startup, you can set this property to true to improve performance.

Values: true or false

Default: False, if the property is not set in the agent profile or the property is commented out.

Example:

introscope.changeDetector.compressEntries.enable=true

Note: Restart the managed application for changes to this property to take effect.

introscope.changeDetector.compressEntries.batchSize

This property defines the batch size for the compression job, set in the introscope.changeDetector.compressEntries.enable property.

Default: 1000

Example:

introscope.changeDetector.compressEntries.batchSize=1000

Note: Restart the managed application for changes to this property to take effect.

Smart Instrumentation Properties

If appropriate for your environment, you can vary the depth and scope of smart instrumentation visibility. You can consider the overhead impact and your monitoring environment. For example, you can experiment with higher overhead in a test or QA environment, but not in production.

Note: To see deep visibility components, both of these properties must be set to true:

  • introscope.agent.deep.instrumentation.enabled
  • introscope.agent.deep.trace.enabled

introscope.agent.deep.instrumentation.enabled

This property enables and disables the agent ability to automatically instrument deep visibility components without PBD configuration to provide smart instrumentation.

Values: true or false

Default: true

Example: introscope.agent.deep.instrumentation.enabled=true

Notes:

  • The introscope.agent.deep.instrumentation.enabled property must be enabled for the introscope.agent.deep.trace.enabled property to function.
  • Restart the managed application for changes to this property to take effect.

introscope.agent.deep.trace.enabled

This property enables and disables the agent ability to collect deep visibility components and send the data to the Enterprise Manager.

Values: true or false

Default: True

Example: introscope.agent.deep.trace.enabled=true

Notes:

  • No managed application restart needed
  • The introscope.agent.deep.instrumentation.enabled property must be enabled for the introscope.agent.deep.trace.enabled property to function.

    When introscope.agent.deep.instrumentation.enabled=true and introscope.agent.deep.trace.enabled=true, the agent automatically instruments deep visibility components. Also, Introscope sends deep visibility component data to the Enterprise Manager.

    When introscope.agent.deep.instrumentation.enabled=true and introscope.agent.deep.trace.enabled=false, the agent automatically instruments deep visibility components. However no deep visibility component data is sent to the Enterprise Manager or displayed.

    When introscope.agent.deep.instrumentation.enabled=false and introscope.agent.deep.trace.enabled=true, the agent does not instrument deep visibility components. Therefore no deep visibility components are discovered, sent to the Enterprise Manager, or displayed.
     
Note: Both introscope.agent.deep.instrumentation.enabled and introscope.agent.deep.trace.enabled must be set to true for the following properties to function.

introscope.agent.deep.instrumentation.level

This property sets the instrumentation level. This property determines the amount of managed application code that the agent instruments to discover deep-visibility methods.

Important! Setting the level to high causes the most overhead.

When the instrumentation level is changed, classes are reloaded in batches. The duration of the level change depends on the number of classes, and the batch size and interval. When a level change is in progress and another change is made, the first change completes before the second change starts. View the Current Instrumentation Level supportability metric for level status.

Values:

  • Low: To balance visibility with minimal impact to application resources.
  • Medium: To provide deeper visibility with more impact to application resources.
  • High: To provide greatest visibility with higher impact to application resources than the medium and low settings.

Default: low

Example: introscope.agent.deep.instrumentation.level=low

Note: No managed application restart needed

introscope.agent.deep.instrumentation.level.batch.size
 

Important! The batch size default value is optimized for typical production environments. A value greater than the default can increase the performance overhead in environments with a high transaction load.

When the introscope.agent.deep.instrumentation.level property is changed, classes are reloaded in batches. This property specifies the number of classes that are reloaded per batch.

Values: Integer > 0. If <=0, automatically reset to the default.

Default: 5

Example: introscope.agent.deep.instrumentation.level.batch.size=5

Note: No managed application restart needed

introscope.agent.deep.instrumentation.level.batch.interval

When the introscope.agent.deep.instrumentation.level property is changed, classes are reloaded in batches. This property specifies the time interval in minutes between batches.

Values: Integer >= 1. If <1, automatically reset to the default.

Default: 2

Example: introscope.agent.deep.instrumentation.level.batch.interval=2

Note: No managed application restart needed

introscope.agent.deep.errorsnapshot.enable

This property enables and disables visibility of deep visibility components in error snapshots. Stack View in Live Error Viewer and Historical Event Viewer display the detailed error snapshot information.

Values: True or false

Default: True

Example: introscope.agent.deep.errorsnapshot.enable=true

Note: No managed application restart needed

introscope.agent.deep.stallsnapshot.enabled

This property enables and disables visibility of deep visibility components for stalls in error snapshots. Stack View in Live Error Viewer and Historical Event Viewer display the detailed stall information.

Values: True or false

Default: True

Example: introscope.agent.deep.stallsnapshot.enabled=true

Note: No managed application restart needed

introscope.agent.deep.instrumentation.max.methods

Limits the number of methods that the agent can automatically instrument without PBD instrumentation.

Values: Integer > 0 <= 10000

Default: 10000

Example: introscope.agent.deep.instrumentation.max.methods=10000

Note: No managed application restart needed

introscope.agent.deep.trace.max.components

Limits the maximum number of deep visibility components an agent can collect in a transaction trace.

Values: Integer > 0 <= 1000

Default: 1000

Example: introscope.agent.deep.trace.max.components =1000

Note: No managed application restart needed

introscope.agent.deep.trace.max.consecutive.components

Limits the maximum number of consecutive deep visibility components in a transaction trace. Sets the number of deep visibility components that are discovered and displayed between PBD-instrumented methods.

Values: Integer > 0

Default: 15

Example: introscope.agent.deep.trace.max.consecutive.components=15

Note: No managed application restart needed

introscope.agent.deep.instrumentation.custom.prefixes

This property specifies the Java packages that Introscope makes low priority to be instrumented by smart instrumentation.

Values: Any string consisting of valid Java package prefix characters. One or multiple prefix segments are allowed. Use commas to separate multiple strings. No wildcards are allowed.

Default: java

Example: introscope.agent.deep.instrumentation.custom.prefixes=java,org.apache

In this example, Introscope considers the methods that call the APIs defined in Java and org.apache as low priority to be instrumented by smart instrumentation.

Note: Restart the managed application for changes to this property to take effect.

introscope.agent.deep.automatic.trace.enabled

This property enables and disables Introscope to collect automatically transaction traces.

Values: True or false

Default: True

Example: introscope.agent.deep.automatic.trace.enabled=true

Notes: 

  • This property does not apply to transaction-trace sampling.
  • No managed application restart needed

introscope.agent.deep.automatic.trace.clamp

Limits the number of automatic transaction traces that Introscope collects per 1-minute interval.

Values: Integer > 0 <= 10 If <= 0, Introscope does not collect automatic transaction traces. If > 10, due to http protocol header limitations, can result in not seeing cross-process transactions in automatic transaction traces. 

Default: 10

Example: introscope.agent.deep.automatic.trace.clamp=10

Notes: 

  • This property does not apply to transaction-trace sampling.
  • No managed application restart needed 

introscope.agent.deep.automatic.trace.crossprocess.enabled

This property enables and disables cross-process support for automatic transaction traces.

Note: To see cross-process transactions in automatic transaction traces, these properties must also be set to true:

  • introscope.agent.deep.trace.enabled

  • introscope.agent.deep.instrumentation.enabled

  • introscope.agent.deep.automatic.trace.enabled

Values: True or false

Default: True

Example: introscope.agent.deep.automatic.trace.crossprocess.enabled=true

Note: No managed application restart needed

introscope.agent.deep.entrypoint.enabled

This property enables and disables the agent ability to detect entry points.

Values: True or false

Default: True

Example: introscope.agent.deep.entrypoint.enabled=true

Note: No managed application restart needed

introscope.agent.deep.entrypoint.skip.pkgs

This property specifies the Java package prefixes for classes that the agent skips and does not consider for entry points. These prefixes are in addition to skipped flags and classes in existing default or custom PBDs.

Values: Any value consisting of valid Java package prefix characters. Use commas to separate multiple strings. No wildcards allowed.

Default: <blank>

Example: introscope.agent.deep.entrypoint.skip.pkgs=com.abc

In this example, the agent skips all the classes with the prefix com.abc. The agent does not consider these classes as possible entry points.

Note: Restart the managed application for changes to this property to take effect.

introscope.agent.autopersist.instrumentation.count.max

Limits the maximum number of entry points and automatic backends that can be persisted in AutoPersist.pbd.

Values: Integer > 0 <= 250

Default: 60

Example: introscope.agent.autopersist.instrumentation.count.max=60

Notes: 

  • No managed application restart needed
  • The introscope.agent.autopersist.instrumentation.count.max property replaces the introscope.agent.deep.entrypoint.count.max property, which is deprecated.

introscope.agent.automatic.backend.detection.enabled

This property enables and disables the agent ability to detect automatic backends.

Values: True or false

Default: True

Example: introscope.agent.automatic.backend.detection.enabled=true

Note: No managed application restart needed

introscope.agent.automatic.backend.detection.skip.pkgs

This property specifies the Java package prefixes for classes that the agent skips and does not consider for automatic backends. These prefixes are in addition to skipped flags and classes in the existing default or custom PBDs.

Values: Any consisting of valid Java package prefix characters. Use commas to separate multiple strings. No wildcards allowed.

Default: <blank>

Example: introscope.agent.automatic.backend.detection.skip.pkgs=com.abc,com.xyz

In this example, the agent skips all the classes with the prefixes com.abc and com.xzy. The agent does not consider these classes as possible automatic backends.

Note: Restart the managed application for changes to this property to take effect.

Dynamic Instrumentation Properties

You can enable classes and methods to be instrumented dynamically. Dynamic instrumentation does not require writing custom PBDs, restarting the application server, or restarting the agent.

introscope.autoprobe.dynamicinstrument.enabled

This property enables dynamic ProbeBuilding for agents.

Values: true or false

Default: true

Example: introscope.autoprobe.dynamicinstrument.enabled=true

Notes:

  • Valid for agents that run on JDK 1.5 at a minimum and use AutoProbe.
  • Restart the managed application for changes to this property to take effect.

introscope.autoprobe.dynamicinstrument.simpleClassNameSearch.enabled

This property enables the simple class name search in dynamic Instrumentation when redefining the classes. Use this property when redefining JSP classes on the WebSphere application server or on WebSphere Liberty Profile. Enable this property when you see the following exception in the agent log:

[IntroscopeAgent.Agent] Could not obtain class bytes for the class -com.ibm._jsp._directives 
java.io.IOException: input stream null ....

Default: false

Example:

introscope.autoprobe.dynamicinstrument.simpleClassNameSearch.enabled=true

Note: This property is not in the file by default. To add this property, copy and paste the example text into the properties file.

autoprobe.dynamicinstrument.pollIntervalMinutes

This property determines the frequency with which the agent polls for new and changed PBDs.

Default: 1

Example: autoprobe.dynamicinstrument.pollIntervalMinutes=1

Note: Valid for agents that run on JDK 1.5 at a minimum using AutoProbe and dynamic ProbeBuilding

introscope.autoprobe.dynamicinstrument.classFileSizeLimitInMegs

Some classloader implementations have been observed to return huge class files. This is to prevent memory errors.

Default: 1

Example: introscope.autoprobe.dynamicinstrument.classFileSizeLimitInMegs=1

Note: Restart the managed application for changes to this property to take effect.

introscope.autoprobe.dynamic.limitRedefinedClassesPerBatchTo

Redefining too many classes at a time can be very CPU intensive. When changes in PBDs trigger a redefinition of a large number of classes, this property batches the process at a comfortable rate.

Default: 10

Example: introscope.autoprobe.dynamic.limitRedefinedClassesPerBatchTo=10

introscope.agent.remoteagentdynamicinstrumentation.enabled

This property enables or disables remote management of dynamic instrumentation.

Values: true or false

Default: true

Example: introscope.agent.remoteagentdynamicinstrumentation.enabled=true

Notes:

  • Dynamic instrumentation is a CPU-intensive operation. Use configurations that minimize the classes that are being instrumented.
  • Restart the managed application for changes to this property to take effect.

introscope.autoprobe.dynamicinstrument.pollIntervalMinutes

This property defines the polling interval in minutes to poll for PBD changes.

Default: 1

Example: introscope.autoprobe.dynamicinstrument.pollIntervalMinutes=1

Note: Restart the managed application for changes to this property to take effect.

ErrorDetector Properties

ErrorDetector is installed by default with the agent. You can control how the agent interacts with ErrorDetector. 

introscope.agent.errorsnapshots.enable

This property enables the agent to capture transaction details about serious errors. This property must be set to true for error snapshots to be available for viewing.

Values: true or false

Default: true

Note: You  do not need to restart the managed application.

introscope.agent.errorsnapshots.throttle

This property specifies the maximum number of error snapshots that the agent can send in a 15-second period.

Default: 10

Example: introscope.agent.errorsnapshots.throttle=10

Note: You  do not need to restart the managed application.

introscope.agent.errorsnapshots.ignore.<index>

This property specifies one or more error message filters. You can specify as many filters as you need using the index identifier that is appended to the property name (for example, .0, .1, .2 ...). You can use wildcards (*). Error messages matching the criteria that you specify are ignored. Also, error snapshots and error metrics are not generated and sent to the Enterprise Manager.

Important! You cannot use this property to filter SOAP error messages.

Default: The IntroscopeAgent.profile provides example values.

Example:

introscope.agent.errorsnapshots.ignore.0=*com.company.HarmlessException*
introscope.agent.errorsnapshots.ignore.1=*HTTP Error Code: 404*

Note: You  do not need to restart the managed application.

Extensions Properties

You can configure the location and capabilities of agent extensions.

introscope.agent.extensions.directory

This property specifies the location of agent extensions that you select from the installer, download from support, or copy from <Agent_Home>/examplesYou can specify an absolute or relative path to the directory. When you do not specify an absolute path, the path that you specify is resolved relative to the IntroscopeAgent.profile location.

We recommend that you do not change the default directory value.

Default: <Agent_Home>/ext directory.

Example: introscope.agent.extensions.directory=../ext

Note: Restart the managed application for changes to this property to take effect.

introscope.agent.extensions.bundles.directory

This property specifies the installation directory for agent extensions.

Default: <Agent_Home>/extensions

Example: introscope.agent.extensions.bundles.directory=<Agent_Home>/extensions

Note: Restart the managed application for changes to this property to take effect.

introscope.agent.extensions.bundles.mode

This property sets the agent extension loading mechanism. Here are the mode values:

  • Off disables the extension loading and unloading from the <Agent_Home>/extensions directory.
  • Controlled loads and unloads extensions only at agent startup. Controlled mode is suitable for production use to control when and how agents load agent extensions. Some extensions can only run in controlled mode and cannot be set to Dynamic mode. Controlled mode extensions always require application restart to enable monitoring.
  • Dynamic loads and unloads extensions that do not require application restart during runtime.

Default: Dynamic

Example: introscope.agent.extensions.bundles.mode=dynamic

Note: Restart the managed application for changes to this property to take effect.

Agent Common Directory

introscope.agent.common.directory

This property specifies the location of agent-extension related files.

Default: Common folder in the <Agent_Home>/common directory.

Example: introscope.agent.common.directory=../../common

External Business Transaction Monitoring Properties

In the IntroscopeAgent.* profile, you can use:

  • The External Business Transaction Monitoring properties to configure CA APM business transaction to external business transaction matching. End-User Endpoints Monitoring uses this name matching.
  • The transaction tracer configuration x-apm-bt property to record specific HTTP request headers, parameters, or session attributes in the transaction tracer data.

Note: The properties are not for the legacy mode Java agent.

introscope.agent.external.biz.enabled

This property enables and disables external business transaction monitoring.

Default: True

introscope.agent.external.biz.header.size.max

This property specifies the maximum data size for the External Business Transaction header parameter (x-apm-bt). The unit is 1 KB. A request with a parameter exceeding this limit is not processed as an External Business Transaction.

Default: 10

introscope.agent.external.biz.bt.count.max

This property specifies the maximum number (clamp) of External Business Transactions allowed. The clamp is per agent (the instrumented Java backend application instance). If the clamp is reached, an entry appears in the agent logs and in the supportability metric. This property resets the current External Business Transaction definition.

Default: 100

introscope.agent.transactiontracer.parameter.httprequest.headers=x-apm-bt

This property specifies HTTP request headers, parameters, or session attributes in the Transaction Tracer data.

GC Monitor Property

The metrics under the GC Monitor node report information about Garbage Collectors and Memory Pools. These metrics help you detect memory-related issues that are adversely affecting performance. Manually enable the collection of these metrics in the agent profile.

introscope.agent.gcmonitor.enable

This property enables or disables the metrics for Garbage Collectors and Memory Pools.

Values: true or false

Default: true

Example: introscope.agent.gcmonitor.enable=true

Note:

  • You can only report GC Monitor metrics for agents that monitor Sun or IBM JVMs.
  • No managed application restart needed 

Java NIO Properties

The Java agent supports the Java New I/O (Java NIO, or NIO) capabilities. Java NIO is a collection of APIs designed to provide access to the low-level I/O operations of modern operating systems. Java NIO metrics capture information about how instrumented applications use Java NIO.

Note: Introscope Java NIO metrics and metric collection of Java NIO information is only available on Java 1.5 JVMs at a minimum.

The Introscope Java Agent collects metrics for NIO channels.

You can restrict the generation of certain NIO metrics.

Java NIO tracer groups have been enabled by default. You can turn off these tracer groups to restrict metric generation further.

Channels

Java NIO channels provide bulk data transfers to and from NIO buffers, and external systems. This low-level data transfer mechanism was designed to address performance and scalability issues within the standard Java I/O.

Channels provide mechanisms for moving bytes between buffers and external systems. Introscope channel metrics characterize data flow rates through channels. Collected NIO channel metrics correspond to metrics currently created for file and socket I/O using standard Java I/O techniques. Metrics for the following channel types are collected separately and displayed in the Workstation Investigator:

  • Datagram Channels
  • Socket Channels

NIODatagramTracing Metrics

Although UDP is a connection-less protocol, the term "connection" is used in the description of NIODatagramTracing to describe how the Java Agent collects datagram metrics. The Java agent collects metrics separately for each remote endpoint datagram that is ‘sent to’ or ‘received from’. Connections are classified as client or server depending on the direction of the first datagram observed from each ‘to’ or ‘from’ endpoint.

For example, if the first datagram is ‘from’ the endpoint, the Java agent classifies all further datagrams to or from that endpoint. The metric displays under NIO|Channels|Datagrams|Server|Port {PORT}, where {PORT} is the local port.

If the first datagram is ‘to’ the endpoint, all further datagrams to or from that endpoint are classified under NIO|Channels|Datagrams|Client|{HOST}|Port {PORT}, where {HOST} and {PORT} are the remote endpoint.

The Java agent also generates backend metrics for client "connections". An exception is thef datagrams that the 'receive' method reads. Datagram channels created using DatagramChannel connect method are considered client connections irrespective of direction of first datagram observed.

Note: Datagram channels that are created using a UDP connection (with a connect method) are considered client connections.

Restricting Java NIO Metrics

You can configure properties to control how Java NIO instrumentation works. You can also restrict generation of datagram and socket metrics. These properties only affect the detail metrics generated by NIOSocketTracing and NIODatagramTracing tracer groups.

introscope.agent.nio.datagram.client.hosts

This property restricts metric reporting to 'client' UDP "connections" with one or more specified hosts.

Values: Comma-separated list of hosts.

Default: undefined (no value)

Example: introscope.agent.nio.datagram.client.hosts=hostA,hostB

Notes:

  • If the list is left empty, no host restrictions apply.
  • You can specify hosts by name or textual representation of the IP address (in either IPv4 or IPv6 forms).
  • Invalid host names are reported in the agent log and ignored.
  • Duplicate host names are discarded. In cases where multiple host names map to a single IP, only one of the names is retained. However, the property matches client connections with any of the set of synonymous names.
  • No managed application restart needed

introscope.agent.nio.datagram.client.ports

Lists the ports that report NIO metrics. Only 'client' datagram metrics for specified ports are generated.

Values: Comma-separated list of port numbers. Port is the remote port to which datagrams are sent, and from which remote port datagrams are received.

Default: undefined (no value)

Example: introscope.agent.nio.datagram.client.ports=123,456,789

Notes:

  • If the list is empty, no port restrictions apply.
  • Invalid port numbers are reported in the agent log and ignored.
  • Duplicate ports are discarded. In cases where multiple ports map to a single IP, only one of the ports is retained.
  • No managed application restart needed 

introscope.agent.nio.datagram.server.ports

Lists the ports that report NIO metrics. Only 'server' datagram metrics for specified ports are generated.

Values: Comma-separated list of port numbers. Port is the local port through which datagrams are sent and received.

Default: undefined (no value)

Example: introscope.agent.nio.datagram.server.ports=123,456,789

Notes:

  • If the list is empty, no port restrictions apply.
  • Invalid port numbers are reported in the agent log and ignored.
  • No managed application restart needed 

introscope.agent.nio.socket.client.hosts

This property restricts metric reporting to 'client' TCP "connections" with specified hosts.

Values: Comma-separated list of hosts.

Default: undefined (no value)

Example: introscope.agent.nio.socket.client.hosts=hostA, hostB

Notes:

  • If the list is empty, no host restrictions apply.
  • You can specify hosts by name or textual representation of the IP address (in either IPv4 or IPv6 forms).
  • Invalid host names are reported in the agent log and ignored.
  • No managed application restart needed 

introscope.agent.nio.socket.client.ports

Lists the ports that report NIO metrics. Only 'client' socket metrics for specified ports are generated.

Values: Comma-separated list of port numbers. Port is the remote port to/from which datagrams are sent/received.

Default: undefined (no value)

Example: introscope.agent.nio.socket.client.ports=123,456,789

Notes:

  • If the list is empty, no port restrictions apply.
  • Invalid port numbers that are reported in the agent log and ignored.
  • No managed application restart needed 

introscope.agent.nio.socket.server.ports

Lists the ports that report NIO metrics. Only 'server' socket metrics for specified ports are generated.

Java NIO metrics appear under the NIO node under the agent top-level node in the Investigator tree. Extra NIO metrics for any 'client' connections appear under the Backends node.

You can suppress one or more Individual NIO metrics by commenting out the TraceOneMethodIfFlagged or TraceOneMethodWithParametersIfFlagged directives. However, do not comment out tracers with a name ending with BackendTracer or MappingTracer.

For example, to suppress the Concurrent Readers metric for datagrams, comment out this TraceOneMethodIfFlagged directive:

TraceOneMethodWithParametersIfFlagged: NIODatagramTracing read NIODatagramConcurrentInvocationCounter "Concurrent Readers"

Values: Comma-separated list of port numbers. Port is the local port through which datagrams are sent and received.

Default: undefined (no value)

Example: introscope.agent.nio.socket.client.ports=123,456,789

Notes:

  • If the list is empty, no port restrictions apply.
  • Invalid port numbers are reported in the agent log and ignored.
  • No managed application restart needed 

JMS Temporary Destination Properties

jms.temporaryDestination.check

This property specifies whether queues and topics that have a destination which is an instance of javax.jms.TemporaryDestination are merged to a single destination (true) or reported individually (false).

Values: true or false

Default: true

Example: jms.temporaryDestination.check=true

Notes:

  • Disabling this property can cause a large number of unwanted metrics to be displayed. To limit the output to queues and topics that are temporary, use the jms.temporaryDestination.names property (see next property).
  • Changes to this property take effect immediately. Restarting the agent or application is not required.

jms.temporaryDestination.names

If jms.temporaryDestination.check is set to false (see previous property), then you can use jms.temporaryDestination.names to identify dynamic or temporary destination names that should be treated as ‘Temporary Queues’ and ‘Temporary Topics’ metrics.

Values: Comma-separated list of wildcard patterns. Only the asterisk (*) (zero or more characters) wildcard character is allowed.

Examples:

  • XYZ* matches if the destination name starts with XYZ
  • *XYZ matches if the destination name ends with XYZ
  • *XYZ* matches if the destination name contains XYZ
  • XYZ expects an exact match

Note: Changes to this property take effect immediately. Restarting the agent or application is not required.

JMX Properties

introscope.agent.jmx.enable

This property enables collection of JMX Metrics.

Values: true or false

Default: Varies by agent version

Example: introscope.agent.jmx.enable=false

Note: Restart the managed application for changes to this property to take effect.

introscope.agent.jmx.ignore.attributes

This property controls which (if any) JMX MBean attributes that the agent is to ignore.

Values: A comma-separated list of keywords.

Default: server

Example: introscope.agent.jmx.ignore.attributes=server

Notes:

  • If an MBean attribute name matches one on the list, the attribute is ignored.
  • Leave the list empty to include all MBean attributes.
  • This property is commented out by default.
  • Restart the managed application for changes to this property to take effect.

introscope.agent.jmx.name.filter

This property specifies a comma-separated list of filter strings to determine what JMX data Introscope collects and displays.

Introscope reports JMX-generated metrics that match a filter string. Filter strings can contain the asterisk (*) and question mark (?) wildcard characters:

  • * matches zero or more characters.
  • ? matches a single character

To match a literal * or ?, escape the character with \\.

Examples:

  • ab\\*c matches a metric name that contains ab*c
  • ab*c matches a metric name that contains abc, abxc, abxxc etc.
  • ab?c matches a metric name that contains abxc
  • ab\\?c matches a metric name that contains ab?c

Default: For WebLogic:

ActiveConnectionsCurrentCount,WaitingForConnectionCurrentCount,PendingRequestCurrentCount,ExecuteThreadCurrentIdleCount,OpenSessionsCurrentCount,j2eeType

Example:

#introscope.agent.jmx.name.filter=ActiveConnectionsCurrentCount,WaitingForConnectionCurrentCount,PendingRequestCurrentCount,ExecuteThreadCurrentIdleCount,OpenSessionsCurrentCount,j2eeType

Notes:

  • Leave empty to include all MBean data available in the system.
  • This property is commented out by default.
  • Restart the managed application for changes to this property to take effect.

introscope.agent.jmx.name.jsr77.disable

This property controls whether Introscope collects and reports full JSR77 data, including complex JMX data.

This property is only available for use in the WebLogic and WebSphere IntroscopeAgent.profile files.

Values: true or false

Default: true

Notes:

  • For this property to have an effect, the application server must provide JSR-77 Management support.
  • Restart the managed application for changes to this property to take effect.

introscope.agent.jmx.name.primarykeys

This property specifies user-defined order of MBean information, and simplifies name conversion.

Values: A comma-separated, ordered list of keys that uniquely identify a particular MBean.

Values for WebLogic:

    • Type
    • Name

Values for WebSphere:

    • J2EEServer
    • Application
    • j2eeType
    • JDBCProvider
    • name
    • mbeanIdentifier

Default: 

Example: introscope.agent.jmx.name.primarykeys=J2EEServer

Notes:

  • Comment out this property if using WebLogic Server 9.0 (minimum).
  • This property is commented out by default.
  • Restart the managed application for changes to this property to take effect.

introscope.agent.jmx.excludeStringMetrics

This property controls whether to include string-valued metrics. To enable string-valued metrics, set this property value to false.

Values: true or false

Default: true

Example: introscope.agent.jmx.excludeStringMetrics=true

Notes:

  • Excluding string-valued metrics reduces the overall metric count, improving agent and EM performance.
  • Restart the managed application for changes to this property to take effect.

introcope.agent.jmx.syncWithAllMbeanServersForcibly

This property controls ability for the agent to poll for all MBeans in all MBean servers. When set to true, agent polls for all MBeans in all MBean servers.

Values: true or false

Default: false

Example: introcope.agent.jmx.syncWithAllMbeanServersForcibly=true

Note: No managed application restart needed

Tomcat Agent JMX Properties

The following properties apply to Tomcat JMX only. The properties are included in the Tomcat agent installation tars/zip.

introscope.agent.jmx.ratecounter.enable

This property controls collection of rate-counter metrics for JMX MBeans data. Set to true to gather JMX rate-counter metrics in the Introscope Agent.

Values: True or false

Default: False

Example: introscope.agent.jmx.ratecounter.enable=true

Note: Restart the managed application for changes to this property to take effect.

introscope.agent.jmx.ratecounter.reset.enable

Used to account for a counter reset for JMX rate-counter metrics. When the rate is negative,the Java agent reports the old counter rate.

Values: true or false

Default: false

Example: introscope.agent.jmx.ratecounter.reset.enable=true

Note: Restart the managed application for changes to this property to take effect.

introscope.agent.jmx.compositedata.enable

This property controls collection of data (CompositeData type) from JMX MBeans. Set to true to gather JMX data in the Introscope Agent.

Values: true or false

Default: false

Example: introscope.agent.jmx.compositedata.enable=true

Note: Restart the managed application for changes to this property to take effect.

Logging Properties

log4j.logger.IntroscopeAgent

This property specifies both the logging level and the output location for log information.

Values:

Detail level values:

  • INFO
  • VERBOSE#com.wily.util.feedback.Log4JSeverityLevel

Destination values:

  • console
  • logfile
  • both console and logfile

Default: INFO, logfile

Example: log4j.logger.IntroscopeAgent=INFO, logfile

To disable agent logging, remove the options from this property as follows:

log4j.logger.IntroscopeAgent=

Note: No managed application restart needed

log4j.appender.logfile.File

When the logfile is specified in the log4j.logger.IntroscopeAgent property, log4j.appender.logfile.File specifies the name and location of the IntroscopeAgent.log file. The filename is relative to the directory that contains the agent profile. 

Default: IntroscopeAgent.log

Example: log4j.appender.logfile.File=../../logs/IntroscopeAgent.log

Notes: System properties (Java command-line -D options) are expanded as part of the file name.

For example, if Java is started with -Dmy.property=Server1, then log4j.appender.logfile.File=../../logs/Introscope-${my.property}.log is expanded to: log4j.appender.logfile.File=../../logs/Introscope-Server1.log.

log4j.logger.IntroscopeAgent.inheritance

This property specifies log level and destination for log messages about classes that require instrumentation.

Values: To configure logging of classes that have not been instrumented because they extend a supertype or interface, set this property to: INFO, pbdlog

Default: None

Example: log4j.logger.IntroscopeAgent.inheritance=INFO,pbdlog

log4j.appender.pbdlog.File

This property specifies a log file for messages about classes that require instrumentation.

Values: To configure logging of classes that have not been instrumented because they extend a supertype or interface set to: pbdupdate.log

Default: None

Example: log4j.appender.pbdlog.File=../../pbdupdate.log

log4j.appender.pbdlog

This property specifies a package for logging messages about classes that require instrumentation.

Values: To configure logging of classes that have not been instrumented because they extend a supertype or interface, set log4j.appender.pbdlog to com.wily.introscope.agent.AutoNamingRollingFileAppender

Default: None

Example: log4j.appender.pbdlog=com.wily.introscope.agent.AutoNamingRollingFileAppender

log4j.appender.pbdlog.layout

This property specifies rules for logging messages about classes that require instrumentation.

Values: To configure logging of classes that have not been instrumented because they extend a supertype or interface, set log4j.appender.pbdlog.layout to com.wily.org.apache.log4j.PatternLayout

Default: None

Example: log4j.appender.pbdlog.layout=com.wily.org.apache.log4j.PatternLayout

log4j.appender.pbdlog.layout.ConversionPattern

This property specifies rules for logging messages about classes that require instrumentation.

Values: To configure logging of classes that have not been instrumented because they extend a supertype or interface, set log4j.appender.pbdlog.layout.ConversionPattern to %d{M/dd/yy hh:mm:ss a z} [%-3p] [%c] %m%n

Default: None

Example: log4j.appender.pbdlog.layout.ConversionPattern=%d{M/dd/yy hh:mm:ss a z} [%-3p] [%c] %m%n

log4j.additivity.IntroscopeAgent.inheritance

This property specifies if the directives for multiple-level inheritance must be logged only in the pbdupdate.log file.

To configure the logging of multiple level inheritance directives in only the pbdupdate.log, add log4j.additivity.IntroscopeAgent.inheritance to the agent profile and set to false.

Values: True or false

Default: True

Example: log4j.additivity.IntroscopeAgent.inheritance=true

Metric Count Property

introscope.ext.agent.metric.count

This property controls where you see the Metric Count metric in the Investigator. By default, the Metric Count is displayed as under the Custom Metric Agent node. If you want to see the Metric Count metric under the Agent Stats node, add this property to the IntroscopeAgent.profile.

Values: true or false

Default: not present in the IntroscopeAgent.profile; false

Example: introscope.ext.agent.metric.count=true

Multiple Inheritance Properties

introscope.autoprobe.hierarchysupport.enabled

This property enables instrumentation of classes that extend a supertype or interface.

Values: true or false

Default: true

Example: introscope.autoprobe.hierarchysupport.enabled=true

Note: Valid for agents that run on JDK 1.5 at a minimum using AutoProbe and dynamic ProbeBuilding.

introscope.autoprobe.hierarchysupport.runOnceOnly

Use this property when you have enabled instrumentation of classes that extend a supertype or interface. This property controls whether the utility that enables multiple inheritance runs only once or at a specified interval.

Change this property to true if you only need detection on a periodic basis.

Values: true or false

Default: false

Example: introscope.autoprobe.hierarchysupport.runOnceOnly=false

Note: Restart the managed application for changes to this property to take effect.

introscope.autoprobe.hierarchysupport.pollIntervalMinutes

This property specifies the frequency in minutes of the polling interval when the agent determines the classes that could not be instrumented due to multiple inheritance. Generally the agent makes the determination only once; however, we recommend a conservative value to account for application server initialization.

Default: 5

Example: introscope.autoprobe.hierarchysupport.pollIntervalMinutes=5

Note: Restart the managed application for changes to this property to take effect.

introscope.autoprobe.hierarchysupport.executionCount

This property specifies the exact number of times the polling interval is run. Configure introscope.autoprobe.hierarchysupport.executionCount to run the polling interval a finite number of times instead of running only once or periodically.

Using this property overrides the run once only setting.

Values: A positive integer

Default: 3

Example: introscope.autoprobe.hierarchysupport.executionCount=3

Note: Restart the managed application for changes to this property to take effect.

introscope.autoprobe.hierarchysupport.disableLogging

This property specifies if the classes being detected must be logged or not. Only uncomment this property if dynamic instrumentation is enabled.

Values: true or false

Default: true

Example: #introscope.autoprobe.hierarchysupport.disableLogging=true

Note: Restart the managed application for changes to this property to take effect.

introscope.autoprobe.hierarchysupport.disableDirectivesChange

This property specifies to log the changes and disable the triggering of dynamic instrumentation.

Values: true or false

Default: true

Example: introscope.autoprobe.hierarchysupport.disableDirectivesChange=true

Note: Restart the managed application for changes to this property to take effect.

Platform Monitoring Property

introscope.agent.platform.monitor.system

This property specifies name of operating system to load for the platform monitor.

Default: Varies by platform

Example: introscope.agent.platform.monitor.system=LinuxIntelAmd64

Notes:

  • This property is commented out by default.
  • Restart the managed application for changes to this property to take effect.

Remote Configuration Properties

The properties in this section allow remote configuration of the Java agent.

introscope.agent.remoteagentconfiguration.enabled

This property enables or disables remote configuration of the agent.

Values:s

True or False

Default

True

Example

introscope.agent.remoteagentconfiguration.enabled=true

Note: No managed application restart needed

introscope.agent.remoteagentconfiguration.allowedFiles

This property lists the exact list of files that are allowed to be remotely transferred to this agent.

Values:s

domainconfig.xml

Default

domainconfig.xml

Example

introscope.agent.remoteagentconfiguration.allowedFiles=domainconfig.xml

Note: No managed application restart needed

Security Property

The property in this section configures security of HTTP headers being sent to CA CEM:

introscope.agent.decorator.security

This property determines the format of decorated HTTP response headers, which are sent to CA CEM.

Values:

  • Clear: clear text encoding
  • Encrypted: header data is encrypted.

Default: Encrypted

Example

introscope.agent.decorator.security=encrypted

Servlet Header Decorator Property

The property in this section enables correlation of transactions between CA CEM and Introscope.

introscope.agent.decorator.enabled

This property specifies if the agent must add extra performance monitoring information to HTTP response headers. The ServletHeaderDecorator attaches the GUID to each transaction and inserts the GUID into an HTTP header, for example: x-wily-info.

If the value is true, then additional information is included.

Values: true or false

Default: false

Example: introscope.agent.decorator.enabled=false

Socket Metrics Properties

You can restrict the generation of I/O socket metrics using these properties.

com.wily.introscope.agent.sockets.clamp.level

This property specifies the total number of sockets that the agent monitors. The list of sockets depends upon a unique combination [port]:[<host>|<ip>].

Default: 100

Example: com.wily.introscope.agent.sockets.clamp.level=100

  • Restart the managed application for changes to this property to take effect.
  • If the client and server socket are on the same JVM, they are counted as two sockets for the clamp.
  • Increasing the value of the default setting causes significant memory overhead.
  • For optimal performance, the summary metric for NIO Datagram Concurrent Readers is not clamped.

introscope.agent.sockets.reportRateMetrics

This property enables reporting of individual socket input/output (I/O) bandwidth rate metrics.

Values: true or false

Default: false

Example: introscope.agent.sockets.reportRateMetrics=false

Notes:

  • Only functions when ManagedSocketTracing is enabled and SocketTracing is disabled. See Backwards compatibility for more information.
  • Restart the managed application for changes to this property to take effect.

introscope.agent.io.socket.client.hosts

This property restricts socket client connections that are instrumented to connections with specified remote hosts.

Values: A comma-separate list of values.

Example: introscope.agent.io.socket.client.hosts=

Notes:

  • If any individual value is invalid, it is ignored.
  • If any parameter is not defined, or after exclusion of any invalid values is an empty list, no restrictions apply to that parameter.
  • No managed application restart needed

introscope.agent.io.socket.client.ports

This property restricts socket client connections that are instrumented to connections with specified remote ports.

Values: A comma-separate list of values.

Example: introscope.agent.io.socket.client.ports=

Notes:

  • If any individual value is invalid, it is ignored.
  • If any parameter is not defined, or after exclusion of any invalid values is an empty list, no restrictions apply to that parameter.
  • No managed application restart needed

introscope.agent.io.socket.server.ports

This property restricts socket client connections that are instrumented to connections using specified local ports.

Values: A comma-separate list of values.

Example: introscope.agent.io.socket.server.ports=

Notes:

  • If any individual value is invalid, it is ignored.
  • If any parameter is not defined, or after exclusion of any invalid values is an empty list, no restrictions apply to that parameter.
  • No managed application restart needed

SQL Agent Properties

You can configure aspects of the SQL Agent.

introscope.agent.sqlagent.statement.clamp

This property specifies the number of SQL metrics that the SQL agent can report for unique normalized SQL statements.

When the metrics limit value is reached, the SQL agent reports all further unique SQL metrics under the SQL | Default node.

Default: 100 unique normalized SQL statement metrics

Example: introscope.agent.sqlagent.statement.clamp=100

Note: No managed application restart needed

introscope.agent.sqlagent.normalizer.extension

This property specifies the name of the SQL normalizer extension that is used to override the preconfigured normalization scheme.

To make custom normalization extension work, the value of its manifest attribute com-wily-Extension-Plugin-{pluginName}-Name must match the value that is given in this property.

If you specify a comma-separated list of names, the Agent uses the default normalizer extension.

For example, with the following setting RegexSqlNormalizer is used for normalization:

introscope.agent.sqlagent.normalizer.extension=RegexSqlNormalizer

This property limits how much of a SQL statement appears in the Investigator tree for SQL Agent metrics, in bytes.

Values: The name of the SQL normalizer extension that is used to override the preconfigured normalization scheme.

Default: RegexSqlNormalizer

Example: introscope.agent.sqlagent.normalizer.extension=RegexSqlNormalizer

Notes:

  • If you use the default setting, you also must configure the regular expressions SQL statement normalizer properties:
    • introscope.agent.sqlagent.normalizer.regex.matchFallThrough
    • introscope.agent.sqlagent.normalizer.regex.keys
    • introscope.agent.sqlagent.normalizer.regex.key1.pattern
    • introscope.agent.sqlagent.normalizer.regex.key1.replaceAll
    • introscope.agent.sqlagent.normalizer.regex.key1.replaceFormat
    • introscope.agent.sqlagent.normalizer.regex.key1.caseSensitive
  • No managed application restart needed

introscope.agent.sqlagent.normalizer.extension.runPredefinedScheme

This property allows the default normalizer to run first before executing the regular expression SQL statement normalizer.

Values: True or False

Default: True

Example: introscope.agent.sqlagent.normalizer.extension.runPredefinedScheme=true

Visibility: This property is not included in the IntroscopeAgent.profile file. Add this property manually if you want to change the default setting to FALSE.

introscope.agent.sqlagent.normalizer.regex.matchFallThrough

This property sets the regular expressions SQL statement normalizer and works with the introscope.agent.sqlagent.normalizer.extension property. When introscope.agent.sqlagent.normalizer.regex.matchFallThrough is set to true, the SQL agent evaluates SQL strings against all regex key groups.

The implementation is chained. For example, if SQL matches multiple key groups, the normalized SQL output from group1 is fed as input to group2.

When the property is set to false, as soon as a key group matches, the normalized SQL output from that group is returned.

Values: true or false

Default: false

Example: introscope.agent.sqlagent.normalizer.regex.matchFallThrough=false

Note: No managed application restart needed

introscope.agent.sqlagent.normalizer.regex.keys

This property sets the regular expressions SQL statement normalizer and works with introscope.agent.sqlagent.normalizer.extension property. This property specifies the regex group keys. They are evaluated in order.

Default: key1

Example: introscope.agent.sqlagent.normalizer.regex.keys=key1

Note: No managed application restart needed

introscope.agent.sqlagent.normalizer.regex.key1.pattern

This property sets the regular expressions SQL statement normalizer and works with introscope.agent.sqlagent.normalizer.extension property. This property specifies the regex pattern that is used to match against the SQL.

Values: All valid regex entries that the java.util.Regex package allows can be used here.

Default: .*call(.*\)\.FOO(.*\)

Example: introscope.agent.sqlagent.normalizer.regex.key1.pattern=.*call(.*\)\.FOO(.*\)

Note: No managed application restart needed

introscope.agent.sqlagent.normalizer.regex.key1.replaceAll

This property sets the regular expressions SQL statement normalizer and works with introscope.agent.sqlagent.normalizer.extension property. When set to false, introscope.agent.sqlagent.normalizer.regex.key1.replaceAll replaces the first occurrence of the matching pattern in the SQL query with the replacement string. If set to true, it replaces all occurrences of the matching pattern in the SQL query with replacement the string.

Values: true or false

Default: false

Example: introscope.agent.sqlagent.normalizer.regex.key1.replaceAll=false

Note: No managed application restart needed

introscope.agent.sqlagent.normalizer.regex.key1.replaceFormat

This property sets the regular expressions SQL statement normalizer and works with introscope.agent.sqlagent.normalizer.extension property. This property specifies the replacement string format.

Values: All valid regex entries that the java.util.Regex package allows and java.util.regex.Matcher class can be used here.

Default: $1

Example: introscope.agent.sqlagent.normalizer.regex.key1.replaceFormat=$1

Note: No managed application restart needed

introscope.agent.sqlagent.normalizer.regex.key1.caseSensitive

This property sets the regular expressions SQL statement normalizer with introscope.agent.sqlagent.normalizer.extension property. This property specifies whether the pattern match is sensitive to case.

Values: true or false

Default: false

Example: introscope.agent.sqlagent.normalizer.regex.key1.caseSensitive=false

Note: No managed application restart needed

introscope.agent.sqlagent.sql.artonly

This property specifies if the agent must create and send only the Average Response Time metric. All SQL agent metrics under backends are affected. When the value is true, performance can improve when the SQL agent both reports metrics and the SQL agent collects transaction traces.

Setting introscope.agent.sqlagent.sql.turnoffmetrics to true overrides this property.

Default: false

Notes:

  • This property does not control custom metrics.
  • The following tracer parameter must be set for this property to work:

    SetTracerParameter: StatementToConnectionMappingTracer agentcomponent "SQL Agent"

  • Restart the managed application for changes to this property to take effect.

introscope.agent.sqlagent.sql.rawsql

This property specifies if the agent must add unnormalized SQL as a parameter for SQL components in transaction traces. When the value for this property is true, performance of the agent for SQL metrics and transaction traces can improve.

Default:false

Warning! Enabling this property can result in passwords and sensitive information being presented in transaction traces.

Note: Restart the managed application for changes to this property to take effect.

introscope.agent.sqlagent.sql.turnoffmetrics

This property specifies that the SQL statement metrics can be turned off. This values results in the agent sending fewer metrics to the Enterprise Manager. When the value for this property is true, performance of the agent for SQL metrics and transaction traces can improve.

Default: false

Notes:

  • This property overrides the introscope.agent.sqlagent.sql.artonly property.
  • The following tracer parameter must be set for this property setting to work:

    SetTracerParameter: StatementToConnectionMappingTracer agentcomponent "SQL Agent"

  • Restart the managed application for changes to this property to take effect.

introscope.agent.sqlagent.sql.turnofftrace

This property controls whether the agent creates and sends transaction trace components to the Enterprise Manager for SQL statements under back-ends. When the value for this property is true, performance of the agent for SQL metrics and transaction traces can improve.

Default: false

Notes:

  • The following tracer parameter must be set for this property setting to work:

    SetTracerParameter: StatementToConnectionMappingTracer agentcomponent "SQL Agent"

  • Restart the managed application for changes to this property to take effect.

SSL Communication Properties

The agent can connect to the Enterprise Manager over SSL. Use the following properties configure the SSL communication.

agentManager.url.1

This property specifies the following settings:

  • The host name of the computer running the Enterprise Manager that the agent connects to by default
  • The port number on the computer that hosts the Enterprise Manager that listens for connections from the agent
  • SSL as the communication channel

Default: localhost 
When you are using Secure Socket Layer (SSL) protocol, the default port that listens for agent connections is 5443.

Example:

agentManager.url.1=ssl://localhost:5443

Note: Restart the managed application for changes to this property to take effect.

agentManager.trustStore.1

Location of a trustStore containing trusted Enterprise Manager certificates. If no trustStore is specified, the agent trusts all certificates.

Values: Either an absolute path or a path relative to the agent working directory.

Example:

agentManager.trustStore.1=/var/trustedcerts

Note: On Windows, backslashes must be escaped. For example: C:\\keystore.

agentManager.trustStorePassword.1

The password for the trustStore.

Example:

agentManager.trustStorePassword.1=

agentManager.keyStore.1

Location of a keystore containing the agent certificate. A keystore is needed when the Enterprise Manager requires client authentication.

Values: Either an absolute path or a path relative to the agent working directory.

Example:

agentManager.keyStore.1=c:\\keystore

Note: On Windows, backslashes must be escaped. For example: C:\\keystore.

agentManager.keyStorePassword.1

The password for the keystore.

Example:

agentManager.keyStorePassword.1=MyPassword768

agentManager.cipherSuites.1

Set the enabled cipher suites.

Values: A comma-separated list of cipher suites.

Example:

agentManager.cipherSuites.1=SSL_DH_anon_WITH_RC4_128_MD5

Note: If not specified, use the default enabled cipher suites.

Stall Metrics Properties

introscope.agent.stalls.thresholdseconds

This property specifies the number of seconds that an executing process can take before it is considered a stalled process. To ensure an accurate Stall Count metric, set the stall threshold to 15 seconds or more. This setting allows time for the Enterprise Manager to complete its harvest cycle.

Default: 30 seconds

Example: introscope.agent.stalls.thresholdseconds=30

Note: No managed application restart needed

introscope.agent.stalls.resolutionseconds

This property specifies how frequently the agent looks for stalls. To ensure an accurate Stall Count metric, do not set the stall resolution to less than 10 seconds. This setting allows time for the Enterprise Manager to complete its harvest cycle.

Default: 10 seconds

Example: introscope.agent.stalls.resolutionseconds=10

Note: No managed application restart needed

Thread Dump Properties

The Thread Dump properties enable and configure agent aspects of Introscope thread dump functionality.

Note: The total number of lines that are allowed for the thread dump size is 100000 (maximum limit).

introscope.agent.threaddump.enable

This property enables thread dumps to be collected on an agent JVM. The property also allows users to view the Thread Dumps tab.

Values: true or false

Default: true

Example: introscope.agent.threaddump.enable=true

Notes:

  • This property works together with the IntroscopeEnterpriseManager.properties file introscope.enterprisemanager.threaddump.enable property. When set to true, this property enables the Enterprise Manager thread dump functionality.
  • No managed application restart needed

introscope.agent.threaddump.deadlockpoller.enable

This property enables the Deadlock Count metric to display the current number of agent JVM deadlocks.

Values: true or false

Default: true

Example: introscope.agent.threaddump.deadlockpoller.enable=true

Note: No managed application restart needed

introscope.agent.threaddump.deadlockpollerinterval

This property specifies the frequency in milliseconds at which Introscope polls the agent JVM for deadlocked threads.

Values: Integer greater than 0

Default: 15000 (milliseconds)

Example: introscope.agent.threaddump.deadlockpollerinterval=15000

Note: Restart the managed application for changes to this property to take effect.

Transaction Tracing Properties

The properties in this section are for transaction tracing and sampling.

introscope.agent.bizdef.turnOff.nonIdentifying.txn

Enable or disable tracing of nonidentifying transactions.

Traces for nonidentifying transactions are generated when this property is set to false in IntroscopeAgent.profile.

By default traces for nonidentifying transactions are not generated even if nonidentifying transactions are enabled in the CEM UI.

Values: true or false

Default: true

Example: introscope.agent.bizdef.turnOff.nonIdentifying.txn=false

introscope.agent.transactiontracer.parameter.httprequest.headers

This property specifies (in comma-separated list) HTTP request header data to capture. Use a comma-separated list.

Default: User-Agent

Example: introscope.agent.transactiontracer.parameter.httprequest.headers=User-Agent

Notes: This property is commented out by default.

introscope.agent.transactiontracer.parameter.httprequest.parameters

This property specifies (in a comma-separated list) HTTP request parameter data to capture.

Default: generic parameters.

Example: introscope.agent.transactiontracer.parameter.httprequest.parameters=parameter1,parameter2

Note: This property is commented out by default.

introscope.agent.transactiontracer.parameter.httpsession.attributes

This property specifies (in a comma-separated list) HTTP session attribute data to capture.

Default: generic parameters.

Example: introscope.agent.transactiontracer.parameter.httpsession.attributes=attribute1,attribute2

Note: This property is commented out by default.

introscope.agent.transactiontracer.userid.key

This property specifies the User-defined key string.

Default: generic parameters.

Example: #introscope.agent.transactiontracer.parameter.httpsession.attributes=attribute1,attribute2

Notes:

  • Optionally supply the values, if in your environment, user IDs are accessed using HttpServletRequest.getHeader or HttpServletRequest.getValue.
  • This property is commented out by default.
  • No managed application restart needed

introscope.agent.transactiontracer.userid.method

This property specifies the method that returns User IDs.

Values:

  • HttpServletRequest.getRemoteUser
  • HttpServletRequest.getHeader
  • HttpServletRequest.getValue

Default: A commented-out property definition for each of the three allowable values. You can uncomment the property that you want to use.

Example:

introscope.agent.transactiontracer.userid.method=HttpServletRequest.getRemoteUser

#introscope.agent.transactiontracer.userid.method=HttpServletRequest.getHeader

#introscope.agent.transactiontracer.userid.method=HttpSession.getValue

Notes: 

  • This property is commented out by default.
  • No managed application restart needed 

introscope.agent.transactiontrace.componentCountClamp

Limits the number of components allowed in a transaction trace.

Default: 5000

Important! If the clamp size is increased, the memory requirements are higher. In extreme cases, you can need to adjust the agent maximum heap size. If the heap size is not adjusted, the managed application can run out of memory.

Example: introscope.agent.transactiontrace.componentCountClamp=5000

Notes:

  • Any transaction trace exceeding the clamp is discarded at the agent. A warning message is logged in the agent log file.
  • When the set limit is reached, warnings appear in the log, and the trace stops.
  • Zero is not a valid value. Do not set introscope.agent.transactiontrace.componentCountClamp=0.
  • No managed application restart needed 

introscope.agent.crossprocess.compression

This property reduces the size of cross process transaction tracing data.

Values: lzma, gzip, none

Default: lzma

Example: introscope.agent.crossprocess.compression=lzma

Notes:

  • This option increases agent CPU overhead, but reduces the size of interprocess headers.
  • lzma compression is more efficient than gzip, but might use more CPU.
  • .NET agents do not support the gzip option. When you require interoperability, do not use gzip.
  • No managed application restart needed

introscope.agent.crossprocess.compression.minlimit

This property specifies the minimum length of cross-process parameter data length for which to apply compression.

Values: 0 to twice the total maximum limit, set in the introscope.agent.crossprocess.correlationid.maxlimit.

If set below the default of 1500, the compression both runs more frequently and consumes more CPU overhead. The default setting of 1500 usually results in no impact to CPU overhead in normal conditions.

Default: 1500

Example: introscope.agent.crossprocess.compression.minlimit=1500

Notes:

  • Used with the introscope.agent.crossprocess.compression property.
  • No managed application restart needed 

introscope.agent.crossprocess.correlationid.maxlimit

This property specifies the maximum size of the cross-process parameter data allowed.

If the total size of the cross-process parameter data exceeds this limit even after applying compression, two problems occur. Some data are dropped and some cross-process correlation functionality does not work properly.

However, this setting protects user transactions from failing in network transmission due to too large header size.

Default: 4096

Example: introscope.agent.crossprocess.correlationid.maxlimit=4096

Notes:

  • Used with the introscope.agent.crossprocess.compression and introscope.agent.crossprocess.compression.minlimit properties.
  • No managed application restart needed 

introscope.agent.transactiontracer.sampling.enabled

This property enables or disables transaction tracer sampling.

Note: Transaction tracer sampling cannot be disabled through the Enterprise Manager properties file.

Values: true or false

Default: true

Example: introscope.agent.transactiontracer.sampling.enabled=false

Note: No managed application restart needed

introscope.agent.transactiontracer.sampling.perinterval.count

This property specifies the number of transactions to trace during the interval that you specify.

This property disables the introscope.agent.transactiontracer.sampling.perinterval.count configuration in the Enterprise Manager if this property is configured in the agent.

Default: 1

Example: introscope.agent.transactiontracer.sampling.perinterval.count=1

Note: No managed application restart needed

introscope.agent.transactiontracer.sampling.interval.seconds

This property specifies the length of time to trace the number of transactions you specify.

This property disables the introscope.agent.transactiontracer.sampling.interval.seconds configuration in the Enterprise Manager if this property is configured in the agent.

Default: 120

Example: introscope.agent.transactiontracer.sampling.interval.seconds=120

Note: No managed application restart needed

introscope.agent.transactiontrace.headFilterClamp

This property specifies the maximum depth of components allowed in head filtering. Head filtering is the process of examining the start of a transaction to potentially collecting the entire transaction. Head filtering checks each component until the first blamed component exits. For transaction with deep call stacks, this check can be a problem if no clamping is applied. The clamp value forces the agent to look only to a fixed depth. This situation limits the memory and CPU utilization impact.

Default: 30

Important! If the clamp size is increased, the requirement on memory is higher. Garbage collection behavior is affected, which has an application-wide performance impact.

Example: introscope.agent.transactiontrace.headFilterClamp=30

Notes:

  • Any transaction trace whose depth exceeds the clamp is only examined for possible collection when some other mechanism is active. For example, when sampling or user-initiated transaction tracing are active to select the transaction for collection.
  • No managed application restart needed

introscope.agent.ttClamp

Limits the number of transactions that the agent reports per reporting cycle.

Values: integers.

Default: 50

Example: introscope.agent.ttClamp=50

Notes:

  • If the property is not set (left blank), the value defaults to 50.
  • Restart the managed application for changes to this property to take effect.

introscope.agent.weblogic.crossjvm

This property configures cross-process tracing in a WebLogic server.

Values: true or false

Default: true

Example: introscope.agent.weblogic.crossjvm=true

Note: This property is commented out by default.

introscope.agent.transactiontracer.tailfilterPropagate.enable

This property controls whether the presence of a tail filter triggers automatic collection of traces from downstream agents or not. This property does not affect collection of automatic downstream traces due to passing of head filters.

Enabling this property and running long transaction trace sessions with tail filters can cause unwanted effects. Large numbers of unwanted traces can be sent to the Enterprise Manager.

Values: true or false

Default: true

Example: introscope.agent.transactiontracer.tailfilterPropagate.enable=false

Note: No managed application restart needed

URL Group Properties

The properties in this section are for configuring URL groups for frontend metrics.

introscope.agent.urlgroup.keys

This property specifies configuration settings for frontend naming.

Default: default

Example: introscope.agent.urlgroup.keys=default

Note: No managed application restart needed

introscope.agent.urlgroup.group.default.charEncoding

This property specifies character encoding for the URL group that you are defining.

Set this property for CEM business transaction query and post parameter matching when a request does not include character encoding.

Default: Null

Example: introscope.agent.urlgroup.group.default.charEncoding=ISO-8859-1

Notes:

  • When the introscope.agent.urlgroup.group.default.charEncoding property has no value, the agent uses the value of the hidden property introscope.agent.charEncoding. You can examine the agent profile to see if introscope.agent.charEncoding has been added and configured.

    The introscope.agent.charEncoding property applies globally to all the agent character encoding defined in CA APM. The introscope.agent.urlgroup.group.default.charEncoding property applies only as a local setting for each URL group.


    An agent can use character encoding when matching requests, and various sources can provide character encoding. An agent evaluates and uses character encoding in this order:
  1. Character encoding the request provides
  2. Value of the introscope.agent.urlgroup.group.default.charEncoding property 
  3. Value of the introscope.agent.charEncoding property
  4. Character encoding is UTF-8.
  • No managed application restart needed

introscope.agent.urlgroup.group.default.format

This property specifies configuration settings for frontend naming. 
When introscope.agent.urlgroup.group.default.format={path_delimited:/:0:5}introscope.agent.urlgroup.keys=default, and introscope.agent.urlgroup.group.default.pathprefix=*, the default URL grouping provides Java URL groups with two segments after the port in the URL path.

Default: Two segments after the port in the URL path.

Example: introscope.agent.urlgroup.group.default.format={path_delimited:/:0:5}

Note: No managed application restart needed

introscope.agent.urlgroup.group.default.pathprefix

This property specifies configuration settings for frontend naming.

Default: *

Example: introscope.agent.urlgroup.group.default.pathprefix=*

introscope.agent.urlgroup.frontend.url.clamp

This property limits the number of unique frontend URL group metrics that the Java agent creates. When the number of new URL groups reaches the set value, metrics for new URL groups display under the Metric Browse Frontends|Apps|URLs|Default node. This property helps to prevent metric explosions.

Default: 5

Example: introscope.agent.urlgroup.frontend.url.clamp=5

introscope.agent.urlgroup.frontend.url.resources.list

Frontends URL groups can contain specific file extensions, for example, png in  <filename>.png, We name these extensions as resources. This property specifies the file extension types. 

When frontends URLs contain the resources that are listed in introscope.agent.urlgroup.frontend.url.resources.list, the resources display under the Frontends|Apps|URLs|Resources node.  

The Resources URL group prevents invalid URLs from creating unique, one-time metrics and using large amounts of Enterprise Manager memory. Common invalid URLs are those that generate 404 errors,

Default: tif,tiff,jpg,jpeg,gif,png,bmp,bmpf,ico,cur,xbm,svg,img,css,woff,nil

Example: introscope.agent.urlgroup.frontend.url.resources.list=tif,tiff,jpg,jpeg,gif,png,bmp,bmpf,ico,cur,xbm,svg,img,css,woff,nil

introscope.agent.backendpathgroup.key

Path groups are groupings of web service HTTP client requests that are defined in terms of a backend URL path prefix.

You can diagnose performance problems by examining path group metrics to determine the number of requests that are invoked from a backend.

By default, all backend URL paths are assigned to the default group. The backend path group key defines a list of the backend URL groups metrics to display in the Metric Browser. Other properties that declare a path group attribute also reference the path group key.

You can define path groups so that some paths fall into multiple groups. In this configuration, the order in which you list the keys for the path groups in the property is important. Be sure that the path group with the narrower membership precedes the path group with broader membership.

This property works with the introscope.agent.backendpathgroup.group.default.pathprefix and introscope.agent.backendpathgroup.group.default.format properties.

Default: default

Example: introscope.agent.backendpathgroup.keys=default

More informationConfigure Backend Path Groups

Note: Changes to this property take effect immediately and do not require restarting the managed application.

introscope.agent.backendpathgroup.group.default.pathprefix

This property specifies a pattern against which the path prefix is matched, defining which requests fall within the path group.

Default: *

Example: introscope.agent.backendpathgroup.group.default.pathprefix=*

More informationConfigure Backend Path Groups

Note: Changes to this property take effect immediately and do not require restarting the managed application.


introscope.agent.backendpathgroup.group.default.format

This property specifies configuration settings for backend naming.  When introscope.agent.backendpathgroup.group.default.format={path_delimited:/:0:5}, introscope.agent.backendpathgroup.key=default, and introscope.agent.backendpathgroup.group.default.pathprefix=*, the default backend path grouping provides Java backend paths with two segments after the port in the URL path.

Default: Two segments after the port in the URL path.

Default: default

Example: introscope.agent.backendpathgroup.group.default.format={path_delimited:/:0:5}

More informationConfigure Backend Path Groups

Note: Changes to this property take effect immediately and do not require restarting the managed application. 

introscope.agent.backendpathgroup.group.backend.url.clamp

This property limits the number of unique backend path group metrics that the Java agent creates. When the number of new URL groups reaches the set value, metrics for new URL groups display under the Metric Browser Backends|WebService at {protocol}_//{host}_{port}|Paths|Default node. This property helps to prevent metric explosions.

Default5

Example: introscope.agent.backendpathgroup.group.backend.url.clamp=5

WebSphere PMI Properties

introscope.agent.pmi.enable

This property enables collection of data from WebSphere PMI.

Values: true or false

Default: true

Example: introscope.agent.pmi.enable=true

Note: Restart the managed application for changes to this property to take effect.

introscope.agent.pmi.enable.alarmManagerModule

This property enables collection of PMI alarm manager data when set to true.

Values: true or false

Default: false

Example: introscope.agent.pmi.enable.alarmManagerModule=false

Note:

  • The alarm manager data category must be turned on in WebSphere to be visible as Introscope data.
  • Restart the managed application for changes to this property to take effect.

introscope.agent.pmi.enable.beanModule

This property enables collection of PMI bean data.

Values: true or false

Default: false

Example: introscope.agent.pmi.enable.beanModule=false

introscope.agent.pmi.enable.cacheModule

This property enables collection of PMI cache data when set to true.

Values: true or false

Default: false

Example: introscope.agent.pmi.enable.cacheModule=false

Note:

  • The cache data category must be turned on in WebSphere to be visible as Introscope data.
  • Restart the managed application for changes to this property to take effect.

introscope.agent.pmi.enable.connectionPoolModule

This property enables collection of PMI connectionPool data.

Values: true or false

Default: true

Example: introscope.agent.pmi.enable.connectionPoolModule=true

introscope.agent.pmi.enable.hamanagerModule

This property enables collection of PMI manager data when set to true.

Values: true or false

Default: false

Example: introscope.agent.pmi.enable.hamanagerModule=false

Note:

  • The manager data category must be turned on in WebSphere to be visible as Introscope data.
  • Restart the managed application for changes to this property to take effect.

introscope.agent.pmi.enable.j2cModule

 This property enables collection of PMI J2C data when set to true.

Values: true or false

Default: true

Example: introscope.agent.pmi.enable.j2cModule=true

Notes:

  • The J2C data category must be turned on in WebSphere to be visible as Introscope data.
  • Restart the managed application for changes to this property to take effect.

introscope.agent.pmi.enable.jvmpiModule

This property enables collection of PMI JVM PI data.

Values: true or false

Default: false

Example: introscope.agent.pmi.enable.jvmpiModule=false

Note: For data to be provided to this module, JVMPI must be turned on in WebSphere.

introscope.agent.pmi.enable.jvmRuntimeModule

This property enables collection of PMI JVM runtime data.

Values: true or false

Default: false

Example: introscope.agent.pmi.enable.jvmRuntimeModule=false

Notes:

  • For data to be provided to this module, JVMPI must be turned on in WebSphere.
  • Restart the managed application for changes to this property to take effect.

introscope.agent.pmi.enable.objectPoolModule

This property enables collection of PMI object pool data when set to true.

Values: true or false

Default: false

Example: introscope.agent.pmi.enable.objectPoolModule=false

Notes:

  • The object pool data category must be turned on in WebSphere to be visible as Introscope data.
  • Restart the managed application for changes to this property to take effect.

introscope.agent.pmi.enable.orbPerfModule

This property enables collection of PMI orbPerf data when set to true.

Values: true or false

Default: false

Example: introscope.agent.pmi.enable.orbPerfModule=false

Notes:

  • The orbPerf data category must be turned on in WebSphere to be visible as Introscope data.
  • Restart the managed application for changes to this property to take effect.

introscope.agent.pmi.enable.schedulerModule

This property enables collection of PMI scheduler data when set to true.

Values: true or false

Default: false

Example: introscope.agent.pmi.enable.schedulerModule=false

Notes:

  • The scheduler data category must be turned on in WebSphere to be visible as Introscope data.
  • Restart the managed application for changes to this property to take effect.

introscope.agent.pmi.enable.servletSessionsModule

This property enables collection of PMI servletSessions data.

Values: true or false

Default: true

Example: introscope.agent.pmi.enable.servletSessionsModule=true

Note: Restart the managed application for changes to this property to take effect.

introscope.agent.pmi.enable.systemModule

This property enables collection of PMI system data when set to true.

Values: true or false

Default: false

Example: introscope.agent.pmi.enable.systemModule=false

Notes:

  • The system data category must be turned on in WebSphere to be visible as Introscope data.
  • Restart the managed application for changes to this property to take effect.

introscope.agent.pmi.enable.threadPoolModule

This property enables collection of PMI thread pool data when set to true.

Values: true or false

Default: true

Example: introscope.agent.pmi.enable.threadPoolModule=true

Notes:

  • The thread pool data category must be turned on in WebSphere to be visible as Introscope data.
  • Restart the managed application for changes to this property to take effect.

introscope.agent.pmi.enable.transactionModule

This property enables collection of PMI transaction data.

Values: true or false

Default: false

Example: introscope.agent.pmi.enable.transactionModule=false

Note: Restart the managed application for changes to this property to take effect.

introscope.agent.pmi.enable.webAppModule

This property enables collection of PMI webApp data.

Values: true or false

Default: false

Example: introscope.agent.pmi.enable.webAppModule=false

Note: Restart the managed application for changes to this property to take effect.

introscope.agent.pmi.enable.webServicesModule

This property enables collection of PMI web services data when set to true.

Values: true or false

Default: false

Example: introscope.agent.pmi.enable.webServicesModule=false

Notes:

  • The web services data category must be turned on in WebSphere to be visible as Introscope data.
  • Restart the managed application for changes to this property to take effect.

introscope.agent.pmi.enable.wlmModule

This property enables collection of PMI WLM data when set to true.

Values: true or false

Default: false

Example: introscope.agent.pmi.enable.wlmModule=false

Notes:

  • The WLM data category must be turned on in WebSphere to be visible as Introscope data.
  • Restart the managed application for changes to this property to take effect.

introscope.agent.pmi.enable.wsgwModule

This property enables collection of PMI WSGW data when set to true.

Values: true or false

Default: false

Example: introscope.agent.pmi.enable.wsgwModule=false

Notes:

  • The WSGW data category must be turned on in WebSphere to be visible as Introscope data.
  • Restart the managed application for changes to this property to take effect.

introscope.agent.pmi.filter.objrefModule

This property controls for hard-coded filters.

The objref filter filters out names ending with @xxxxx where xxxxx is a numeric string.

Values: true or false

Default: false

Example: introscope.agent.pmi.filter.objrefModule=false

Note: Restart the managed application for changes to this property to take effect.

WLDF Metrics Property

introscope.agent.wldf.enable

This property enables the collection of WLDF metrics.

Values: true or false

Default: false

Example: introscope.agent.wldf.enable=false

Note: Restart the managed application for changes to this property to take effect.

Was this helpful?

Please log in to post comments.

  1. Henrik Nissen Nissen Ravn
    2017-11-01 09:32

    I believe the reference to "introscope.agent.enterprisemanager.connectionorder" is obsolete as connection order since 10.2+ is configured using "agentManager.url.#".

    1. Lucie Stehnova
      2017-11-03 12:17

      Thank you for your comment Henrik,

      we will investigate with our teams and will update the documentation.

      Lucie

    1. Maria Wasilewska
      2018-10-19 07:38

      Hello Henrik,

      Thanks for the comment. I have updated the page and the changes will be live after the next publishing.

  2. MIKE COOK
    2018-03-07 09:41

    There is a contradiction in the description of

    introscope.agent.metricClamp

    It says the default is 5000

    Default: 5000

    but then goes on to say

    When the property is not set, by default the agent clamps at the maximum value of 50000 metrics. The agent does not report new metrics, but does continue to report existing metrics.
    

    1. Lucie Stehnova
      2018-03-07 10:29

      Hi Mike,

      Thank you! We'll double check with the developers and will correct it.

      Lucie

    1. Maria Wasilewska
      2018-10-19 07:37

      Hello Mike,

      Thanks for the comment. I have updated the page and the changes will be live after the next publishing.

  3. Henrik Nissen Nissen Ravn
    2018-08-14 08:11

    for "introscope.autoprobe.constructor.policy=full" This "due to ... " should be added as this is not a CA APM instrumentation limitation: However, this setting can cause class verification errors on some applications and JVMs due to JVM constructor instrumentation limitations.

    1. Maria Wasilewska
      2018-10-19 07:37

      Hello Henrik,

      Thanks for the comment. I have updated the page and the changes will be live after the next publishing.

  4. Carey Feldstein
    2018-08-20 03:26

    Hi Henrik,

    We will address your comment.

    Thanks!

    Carey

    1. Kristyna Slomkova
      2018-10-22 03:18

      Thank you Carey!