All Products
Search
Document Center

Application Real-Time Monitoring Service:Customize application settings

Last Updated:Mar 11, 2026

Application Real-Time Monitoring Service (ARMS) lets you control how the agent collects, samples, and reports observability data. From the Custom Configuration tab, adjust sampling policies, toggle agent features, set performance thresholds, choose tracing protocols, and define data redaction rules. Most changes take effect immediately, though some (such as plug-in switches) require an application restart.

The following table summarizes which changes take effect immediately and which require an application restart:

Configuration areaTakes effect immediatelyRestart required
ARMS agent switch, log levelYesNo
Plug-in switchesNoYes
Collect SQL Bindings, Inner Callstack ReduceYesNo
Other settingsVariesCheck individual settings
Note

To configure these settings programmatically, use the SaveTraceAppConfig API.

Prerequisites

Before you begin, make sure that you have:

Open the custom configuration page

  1. Log on to the ARMS console.

  2. In the left-side navigation pane, choose Application Monitoring > Application List.

  3. Select a region in the top navigation bar, then click the application name.

  4. In the left-side navigation pane, click Application Settings, then click the Custom Configuration tab.

  5. After you modify settings, click Save at the bottom of the page.

Note

Icons in the Language column indicate the application language:

  • Java图标 Java

  • image Go

  • image Python

  • Hyphen (-): application monitored through Managed Service for OpenTelemetry.

Sampling rate settings

Sampling determines which traces the agent collects and reports. Trace sampling settings take priority over throttling settings.

ARMS Pro Edition

In the Sample rate setting section, specify the sampling policy and target interfaces for traces. For details, see Select a trace sampling mode for the ARMS agent earlier than V3.2.8.

Chain sampling

ARMS Basic Edition

ARMS Basic Edition supports client-side sampling policies. You are charged based on the number of data lines collected. By default, each agent collects one trace per minute for each interface in your account at no charge. To add a custom policy, click Add Client Sampling Policy.

ParameterDescription
Sampling Policy NameA descriptive name for the policy.
Sampling type and Sampling valueChoose one of the following:
- Fixed proportion sampling: Sample traces at a fixed ratio. Enter a percentage in the Sampling value field (for example, 10%).
- Flow limit: Sample a fixed number of traces per time interval. Specify the number of traces each agent collects and the interval (for example, 5 traces every 1 second).
Applicable interfaceChoose Each interface to apply the policy to all interfaces, or Specify Interface to target a single interface by name. To target multiple interfaces, create a separate policy for each one.

When multiple sampling policies are enabled, they take effect in the following priority order:

  1. Default sampling (free tier)

  2. Flow limit (specific interface)

  3. Fixed proportion sampling (specific interface)

  4. Flow limit (all interfaces)

  5. Fixed proportion sampling (all interfaces)

Sampling policy - Basic Edition

Agent switches and log level

In the Agent Switch Settings section, toggle the ARMS agent switch, individual plug-in switches, and the log level.

Important
  • Changes to the ARMS agent switch and log level take effect immediately. No restart is required.

  • If you turn off the ARMS agent switch, ARMS stops monitoring the application entirely. Proceed with caution.

  • Changes to individual plug-in switches require an application restart to take effect.

Agent Switches

Threshold settings

In the Threshold Settings section, configure thresholds for slow SQL queries, interface response time, and request throttling.

Threshold settings

Message queue settings

In the Message Queue Configuration section, configure how ARMS monitors message queue operations.

Message queue settings
SettingDescription
Custom RabbitMQ consumerSpecify class names for custom consumers or anonymous internal consumers to capture their traces. Separate multiple class names with commas (,).
Custom Kafka consumption methodSpecify a custom consumption method to capture traces and metrics when consuming messages through native Kafka SDKs.
kafka sends automatic message pass-through contextAutomatically add headers to Kafka messages that link delivery traces with consumption traces.

Agent collection settings

Agent collection settings
SettingDescriptionDefault
Collect call chainReport trace data. Disabling stops all trace reporting.On
Throttling ThresholdMaximum requests the agent processes per second. Trace data for requests exceeding this limit is not collected.100
Probe maximum can handle QPS thresholdMaximum requests the agent can handle per second. The system may adjust this value by up to 5% for performance optimization. Requests exceeding this threshold are not monitored: no spans, no metrics, and no trace IDs in logs.--
Collect internal call data without entryCollect span and metric data for internal calls that lack an entry point, such as scheduled HTTP requests, database queries, message sends, or RPC calls through JDK thread pools.--
Log-Level ConfigurationAdjust the agent log level for troubleshooting.--
Note

Trace sampling settings take priority over throttling settings. When both are configured, the sampling policy is evaluated first.

Interface call settings

Interface call settings
SettingDescription
Interface Response Time ThresholdMark requests as slow when the response time exceeds this value.
WhitelistSpecify exception classes to exclude from the Overview and Scenario-based Analysis > Exceptions tabs. Exceptions that meet the filtering criteria will not be displayed in the ARMS console.
Exception filtering parent class inheritanceWhen enabled, if a collected exception is a subclass of a whitelisted exception class, it is also filtered.
Error Code FilterBy default, HTTP status codes greater than 400 are classified as errors. Add status codes to this list to exclude them from error classification.
Invalid Interface Invocation FilteringEnter interface names to hide from the console. The ARMS agent stops reporting observability data for these interfaces.
Whether the upstream interface name is recorded in the interface call indicator / Whether the upstream application name is recorded in the interface call indicatorRecord upstream application and interface names in interface metrics. This affects upstream/downstream trace data in service views. When an application has many upstream callers, enabling this setting can significantly increase metric volume and cost.
Whether the interface call indicator records the original status codeRecord the original HTTP response code in interface-related metrics.

Pool monitoring settings

In the Pooled monitoring settings section, configure thread pool and connection pool monitoring.

Pool monitoring settings
SettingDescription
Thread pool and connection pool monitoringMonitor thread pool metrics in frameworks such as Apache Tomcat, Apache Dubbo, and High-speed Service Framework (HSF). Requires the latest ARMS agent version.
Thread Pool Thread Name Pattern Extraction PolicyControls how thread names are normalized. By default, all numeric characters in thread names are replaced with * (for example, http-nio-8080-exec-1 becomes http-nio-*-exec-*). Switch to end-only replacement when multiple Dubbo providers with different ports would otherwise be aggregated into a single pool.
Thread pool using scenario filtering / Thread Pool Thread Name Pattern FilteringExclude specific thread pools from metric collection based on usage scenario or thread name pattern. These settings only take effect for the ARMS agent for Java v4.2.0 and later.

Thread pool usage scenarios include: Tomcat, Vert.x, Undertow, Dubbo, Jetty, AliyunJavaAgent (the agent's own thread pool), and default (all other unclassified pools).

Span attributes settings

Span attributes settings
SettingDescription
Document the OTel Spec convention attributesRecord the attributes defined by the OpenTelemetry Specification in spans. Disabled by default to reduce data volume. Enable this if you need the standard semantic convention attributes for each plug-in type.

Advanced settings

Advanced settings
SettingDefaultValid rangeRestart requiredDescription
Method stack maximum length128 entriesUp to 400--Maximum number of entries in a method stack.
Stack depth to distinguish same exception------Stack depth used to differentiate exceptions of the same type. Set this to the call depth where the first difference occurs.
Collect the maximum length of SQL1024 characters256--4096--Maximum length of captured SQL statements.
Collect SQL BindingsOffOn / OffNoCapture variable values bound to PreparedStatement parameters. Only applies when variable values are set for PreparedStatement parameters.
Raw SQL--On / Off--Specify whether to perform operations other than truncation on SQL statements.
Whether to record the size of the MySql Query return valueOffOn / Off--Record the size of MySQL query return values.
Trace StorageOnOn / Off--Use the time-sorted storage format for traces.
Inner Callstack ReduceOffOn / OffNoSimplify duplicated calls such as for-loops.
Max Length of Input Parameters512 charactersUp to 2048--Maximum length of captured input parameter values.
Quantile StatisticsOffOn / Off--Enable quantile statistics (percentiles, medians, quartiles) for performance analysis.
Automatic pass-through asynchronous--On / Off--Automatically propagate async context when tasks are submitted through a thread pool.
Asynchronous transparent transmission scan package name--Package names--Add scan packages for async context propagation. When a Runnable, Callable, or Supplier object is created in a scanned package, the agent captures the current thread's trace context and propagates it to async threads. Requires ARMS agent v2.7.1.3 or later.
TraceId is returned in the requestOffOn / Off--Return the eagleeye-traceid field in HTTP response headers.

Thread settings

In the Thread settings section, toggle the Thread analysis master switch to enable or disable thread analysis.

Note

This feature is available only in Application Monitoring Pro Edition.

Thread settings

Application logs association

In the Log Collect Configuration section, configure the log sources to associate with this application. For setup instructions, see Log analysis.

Note

Log association is available only in Application Monitoring Pro Edition.

Application logs association

URL convergence rules

In the URL Aggregation section, group similar URLs into a single entry for cleaner monitoring views. For example, URLs prefixed with /service/demo/ appear as one entry.

SettingDescription
Convergence switchEnable or disable URL grouping.
Convergence thresholdMinimum number of matching URLs required to trigger grouping. For example, if set to 100, URLs are grouped only when at least 100 URLs match the rule.
Convergence rulesDefine regex patterns to match URLs for grouping.
URL Aggregation

Configure Arthas monitoring

In the Arthas monitoring section, enable the Arthas diagnostics feature and specify the IP addresses to target. For details, see Use Arthas diagnostics.

Note

Arthas monitoring is available only in Application Monitoring Pro Edition.

Arthas monitoring

Continuous profiling

In the Continuous profiling section, toggle the main switch and individual switches for CPU hotspot, memory hotspot, and code hotspot profiling. Specify IP addresses or CIDR blocks to limit the profiling scope.

For setup instructions, see Use the continuous profiling feature.

Continuous profiling

Tracing protocol settings

In the Tracing Protocol Settings section, select the trace propagation protocol for your application. For supported protocols, see Supported trace propagation protocols.

Tracing protocol settings

Protocol detection order

When a request arrives, the ARMS agent checks for protocol headers in this default order:

  1. EagleEye

  2. OpenTelemetry

  3. SkyWalking

  4. Jaeger

  5. Zipkin

If a matching header is found, the agent restores the trace context using that protocol and propagates the same header to downstream calls. If no header is detected, the agent defaults to EagleEye.

Prioritize a protocol

Select a protocol to check first. For example, selecting Jaeger changes the detection order to: Jaeger, EagleEye, OpenTelemetry, SkyWalking, Zipkin.

Protocol priority example

Use a single protocol exclusively

Select a protocol and enable exclusive mode. For example, with Jaeger in exclusive mode, the agent only checks for the Jaeger header. If no Jaeger header is found, it generates a new trace context instead of checking other protocols.

Exclusive protocol example

Information desensitization

In the Information desensitization section, define redaction rules for sensitive data collected from JVM system parameters, Kubernetes YAML configurations, method input parameters, Arthas environment variables, and system variables.

Each rule element is a case-insensitive regular expression. For example, password matches any key containing the string password (equivalent to .*password.*). Separate multiple elements with commas (,).

Information desensitization

When the agent collects data, it checks each key against the configured patterns. If a key matches, the corresponding value is desensitized. For example, adding licenseKey to the rule desensitizes the value of -Darms.licenseKey.

Desensitization example

Synchronize settings across applications

Copy settings from one application to others.

Copy a single configuration section

  1. In the target section, click Save and batch copy to other applications.

  2. In the dialog box, select specific applications or all applications, then click Ok.

Copy all configuration sections

  1. At the bottom of the page, click Save and batch copy to other applications.

  2. In the dialog box, select specific applications or all applications, then click Ok.

Batch copy

Set global defaults

Save the current application's settings as the default for all new applications.

  1. At the bottom of the page, click Save the current application Settings to the global default Settings.

  2. In the confirmation message, click Ok.