Agent Group - Agent Mapping Advanced Settings

The Advanced Settings dialog box for Agent Mapping allows you to dynamically configure Agents that match the Agent Mapping. The following options are available:

  • Adjust communication buffers and specify a timer type that applies to a group of agents.
  • Set agent log level.
  • Enable hot sensor placement, Leak Analysis Memory Snapshot automatic generation, and Trending/Leak Analysis Memory Snapshot creation for .NET CLRs.
  • Adjust auto-sensor resolution for tolerable overhead.

Changing the Advanced Settings does not require a restart, unless otherwise is specified.

To access the Advanced Settings dialog box:

  1. Open the System Profile Preferences dialog box, and select Agent Mapping item of the required Agent Group.
  2. Click Advanced.
Agent Mapping - Advanced settings
Agent Mapping - Advanced settings

Communication Mode

Here you can configure communication buffer size and threshold.

Buffer saturation threshold: If the Agent's communication buffer is filled above this threshold, no new PurePaths are added to the buffer until the buffer empties below the threshold. This increases the amount of correct PurePaths in certain Agent overload scenarios.

Buffer Size and Count: Defines the overall size of the Agent communication buffer. Overall size is about equal to size * count.

Timer

Specifies a specific timer type to use for measuring method execution time.

Timers measure method execution time. Different timers provide different accuracy and granularity, based on the OS and architecture.

If a selected timer is not available on the agent platform, the Agent uses the standard run-time (Low-Res System Clock) timer. If changing the timer type, you must restart the Agent for the change to take effect.

Use the Agents Overview Dashlet to see the timer used by a specific Agent. To do this, select the desired Agent in the Agent list. The HiResClock and Timer properties in the Details pane indicate the type of timer for the Agent.

Select the timer to be used for the Agent. See Agent Timers for descriptions of each timer type.

Agent Log Level

Override the Agent's default log level settings. To use it, select the checkbox, and select the required log levels form the lists.

Hot Sensor Placement

Enables/Disables Hot Sensor Placement. If set to Automatic the Agent enables Hot Sensor Placement automatically if supported by the underlying VM. Older JVMs do not support Hot Sensor Placement. Certain JVM versions may contain bugs that prohibit Hot Sensor Placement usage.

Resource Exhausted Notifications

Enable/Disable automatic generation of a Leak Analysis Memory Snapshot in case a Java 6 VM reports an Out-of-Memory notification. This option only available if Java is selected in the General item of the System Profile Preferences dialog box. It only affects Java Agents.

.NET Trending/Leak-Analysis Memory Snapshot

Here you can configure memory snapshot creation for .NET CLRs. To create them, the .NET Agent uses additional Garbage Collector callbacks from the profiling API. Look for the COR_PRF_MONITOR_GC in the Microsoft documentation for more info.

The following options are available:

  • Automatic: Only get callbacks for memory dumps. It allows to have the required information, while keeping the overhead low.
    On start the .NET Agent instructs the Profiling API to not send Garbage Collector callbacks. When you initiate creation of a memory dump, the Agent turns Garbage Collector callbacks on on the fly, and after the memory dump is created, the Agent turns callback off. The application doesn't have to be restarted.

    Limitations

    Requires .NET applications version 4.0 and later, running in blocking Garbage Collection mode.

    The gcConcurrent setting of your application must be set to false. See Microsoft documentation to learn how.

  • Always On: Always get callbacks. It guarantees the required information, without limitations of the Automatic mode, but cause significant overhead. Enabling this setting is not recommend in a production environment.
    On start the .NET Agent instructs the Profiling API to always send Garbage Collector callbacks, and this doesn't change during application runtime.

  • Always Off: Never get callbacks. It guarantees zero overhead, but the .NET Agent is unable to collect a memory dump.
    On start the .NET Agent instructs the Profiling API to never send Garbage Collector callbacks, and this doesn't change during application runtime.

Note

Change of this setting requires application restart to take effect.

Auto Sensors

Auto Sensors adjust automatically to ensure they do not incur more overhead than the percentage setting. The amount of detail captured depends on the complexity of the application or environment. You may need to adjust the resolution settings until you see the desired level of detail for a tolerable amount of overhead. You can enable or disable Auto Sensors for the given Agent Group. You can also select the amount of information (known as resolution) provided by Auto Sensors to be stored in PurePaths. A higher resolution provides more detailed PurePaths, but causes more traffic between Agents and the Server.

Auto Sensors must be enabled to have sync and wait times.

You can enable or disable Extended PurePath information and adjust tolerable overhead dynamically at run time. See Sensors > Auto Sensor Resolution Settings for overhead and detail numbers and defaults in Editions.

Select the desired resolution level from the list box under Auto Sensors. The default setting is low for the Production Edition, medium for Pre-Production Edition.

The following table shows the typical percentage of overhead for each setting. Note the overhead highly depends on the instrumented application and the level of instrumentation.

Overhead in % Lowest Low Medium High Highest
Production Version 1 3 5 10 20
Non-Production 1 5 10 20 50