Use the Custom Configuration tab to adjust common settings for the probe, such as feature toggles and sampling policies.
To adjust these settings using an API, see SaveTraceAppConfig.
Prerequisites
A probe must be installed for your application. For more information, see Application Monitoring Integration Overview.
Procedure
Log on to the ARMS console. In the left-side navigation pane, choose .
On the Application List page, select the region in the top navigation bar and then click the name of the application.
NoteIcons in the Language column have the following meanings:
: a Java application connected to Application Monitoring.
: a Golang application connected to Application Monitoring.
: a Python application connected to Application Monitoring.-: an application connected to Managed Service for OpenTelemetry.
In the top navigation bar, choose .
Configure the parameters and then click Save.
Sampling settings
In the Sampling settings section, you can set the sampling policy for traces. Go applications currently support only fixed-rate sampling. You can also configure full sampling based on API name, prefix, or suffix.
The default Sampling rate percentage is 10. Increasing the sampling rate consumes additional system resources, so we recommend that you keep the default value. Full sampling by API name is supported only by probe versions 1.5.2 and later. After completing the configuration, click Save or Save and Bulk Copy to Other Applications.
Probe toggles
In the Probe toggle settings section, you can enable or disable Application Monitoring and toggle individual plugins.
Enabling or disabling Application Monitoring takes effect immediately without requiring an application restart. If you pause Application Monitoring, ARMS stops monitoring your application. Proceed with caution.
Changes to individual plugin toggles take effect only after you manually restart the application.
When you turn on the Pause application monitoring toggle, billing is also paused. The Plugin toggles section includes multiple plugins such as dubbo-plugin, mysql-plugin, redis-plugin, grpc-plugin, and kafka-client-plugin. For hertz-plugin, opentelemetry-plugin, and opentracing-plugin, changes take effect only after you restart the application. After making changes, click Save, or click Bulk Copy to Other Applications to sync the configuration to other applications.
Runtime toggles
In the Runtime toggle settings section, you can enable or disable the Runtime monitoring feature. For more information, see Runtime monitoring.
Changes take effect without an application restart. If you disable the Runtime monitoring feature, ARMS stops collecting Runtime metrics. Proceed with caution.
After you configure the settings, click Save, or click Save and Bulk Copy to Other Applications to apply the configuration to other applications.
Application log association
In the Application log association section, you can configure the log source for your application to inject the SpanId and TraceId into the corresponding logs. For more information, see Associate TraceId with business logs of Go applications.
You can customize the keys for the trace_id and span_id fields that are injected into your logs.
Enable the Automatically associate business logs with TraceId toggle, and then in the Log Service binding section, select a region, Project name, association type (Logstore or StoreView), Logstore name, and associated index. Then, click Save. To apply the configuration to other applications, click Bulk Copy to Other Applications.
URL convergence
In the URL convergence settings section, you can enable or disable the URL convergence feature and configure its threshold and rules. URL convergence groups similar URLs and displays them as a single item. For example, a series of URLs that start with /service/demo/ can be displayed as one aggregated entry. The convergence threshold is the minimum number of URLs that must match a rule before they are converged. For example, if the threshold is 100, the URLs that match the regular expression of a rule are converged only after the number of matched URLs reaches 100. For more information, see ARMS convergence mechanism.
Convergence rules must be in a regular expression format. Example: /service/(.*?)/demo. Separate multiple rules with a comma (,). After you configure the settings, click Save or Save and Bulk Copy to Other Applications.
Continuous profiling
In the Continuous profiling settings section, you can enable or disable the global toggle, CPU hotspots, memory hotspots, and code hotspots. For more information, see Continuous profiling for Go applications.
You can also toggle goroutine hotspots (requires probe version 1.6.0 or later), blocking analysis, and mutex analysis (requires probe version 1.6.1 or later). After you configure the settings, click Save or Bulk Copy to Other Applications.
API call configuration
In the API call configuration section, you can configure the slow call threshold, HTTP status code whitelist, and invalid API call filtering.
You can also configure the following settings: toggles for Enable printing HTTP request body and Enable printing HTTP request header (require probe version 1.5.0 or later), HTTP request body length (defaults to 1024, requires probe version 1.4.0 or later), the Include TraceId in HTTP response toggle (adds the Eagleeye-TraceId key to the response header), toggles for Enable printing HTTP response body and Enable printing HTTP response header (require probe version 1.5.1 or later), HTTP response body length (defaults to 1024), and the text fields for Write HTTP request header keys to Span and Write HTTP response header keys to Span.
-
Slow call threshold: The default value is 500 ms. An interface call is marked as slow if its response time exceeds this threshold.
HTTP status code whitelist:
By default, HTTP status codes greater than 400 are classified as errors. To prevent certain status codes from being classified as errors, add them to the whitelist.
This setting affects only the HTTP frameworks that are supported by Application Monitoring.
Affected data: Error count metrics for HTTP servers and clients (arms_http_requests_error_count, arms_http_client_requests_error_count, and arms_app_requests_error_count), and Span status.
Affected features: Error counts on the Application Overview, Provided Services, and Dependent Services tabs. Span status and error count alerts on the Trace Analysis page.
Format: Enter individual status codes separated by commas (,). Fuzzy matching is not supported.
Example:
403,502Default: Empty
Invalid API call filtering:
To hide certain calls on the Provided Services tab, enter the API names to exclude. The probe then stops reporting observational data for these APIs, which hides them from the API call page.
Affected data: All metrics and Spans for the specified APIs are ignored.
Affected features: All metrics for the corresponding APIs on the Application Overview, Provided Services, and Dependent Services tabs. Span count, call volume, error count, and slow call alerts on the Trace Analysis page.
Format: Use a string or an AntPath expression to match the full API name. Separate multiple rules with commas (,). (The default AntPath expressions are included for backward compatibility with historical data. Do not delete them. Add new rules after the existing ones.)
Example:
/api/test/*,/api/playground/createDefault:
/**/*.jpg,/**/*.png,/**/*.js,/**/*.jpeg,/**/*.pdf,/**/*.xlsx,/**/*.txt,/**/*.docs,/**/*.gif,/**/*.csvEnable printing HTTP request body: When enabled, the probe adds the http.request.body field to HTTP client Spans to record the request body. The default capture length is 1024.
Enable printing HTTP request header: When enabled, the http.request.header field is added to HTTP client Spans to record the request header.
HTTP body length: The maximum length of the captured HTTP request body. The default length is 1024.
Include TraceId in HTTP response: When enabled, the probe adds the TraceId to the response header with the key Eagleeye-TraceId.
Enable printing HTTP response body: When enabled, the probe adds the http.response.body field to HTTP server Spans to record the response body.
Enable printing HTTP response header: When enabled, the http.response.header field is added to HTTP server Spans to record the response header.
HTTP response body length: The maximum length of the captured HTTP response body. The default length is 1024.
Write HTTP request header keys to Span: Enter header keys, separated by commas. The probe adds an http.request.header.key field to HTTP client Spans for each specified key.
Write HTTP response header keys to Span: Enter header keys, separated by commas. The probe adds an http.response.header.key field to HTTP server Spans for each specified key.
Advanced exception filtering
Collect Plugin Exceptions: Specifies whether to collect plugin exceptions.
Exception Filter Whitelist: If you do not want to see specific exceptions on the Exception Analysis tab, enter the names of the exceptions that you want to hide from the page.
Turn off the Collect plugin exceptions switch to prevent the same exception from being recorded multiple times. In the Exception filter whitelist field, you can enter multiple exception names separated by commas (,), for example, *mysql.MySQLError. Exceptions that match the whitelist are still recorded in Spans. This feature is available in probe versions 2.3.1 and later.
Database call configuration
In the Database call configuration section, you can configure the slow SQL threshold and the maximum length of collected SQL statements, and specify whether to display bound variable values and constant values in SQL statements.
Display bound variable values in SQL: Captures variable values that are bound to PreparedStatement parameters. Changes take effect without an application restart.
Display constant values in SQL: Only truncates SQL statements without additional processing. Changes take effect without an application restart.
The default Slow SQL threshold is 500 ms. Queries that exceed this threshold are marked as slow SQL queries. The default Maximum SQL length is 1024. Any part of a SQL statement that exceeds this limit is truncated. The Display bound variable values in SQL feature is supported only for MySQL. After you configure the settings, click Save or Save and Bulk Copy to Other Applications.
Trace propagation protocols
In the Trace propagation protocol settings section, you can select a trace propagation protocol based on your requirements. By default, the probe uses the W3C protocol. You can also select Zipkin, Jaeger, or EagleEye.
Probe versions 1.4.0 and later support protocol switching. The propagation mode supports Priority and Forced modes. In Priority mode, the probe first attempts to read the header of the selected protocol. If the header does not exist, the probe continues to detect headers of other protocols. In Forced mode, if the selected protocol's header is missing, the probe generates a new trace context according to that protocol's specifications.
Probe collection
In the Probe collection configuration section, you can set the maximum number of traces collected per second and the probe log level.
The default value for Maximum traces per second is 100. Custom metric collection requires probe version 2.0.0 or later. Enable Span reporting requires probe version 1.8.3 or later. Span reporting name requires probe version 1.7.0 or later. Separate multiple keys with a comma (,). Default metric collection filtering requires probe version 2.3.0 or later.
The following list describes some of the parameters:
Custom Metric Collection: Controls whether the agent collects the metrics defined in your code with the OTel SDK.
Enable Span Reporting: This feature is enabled by default. If you disable this feature, no Spans are reported.
Span Reporting Name: Specifies an allowlist of Span names to report. If this field is configured, only Spans with matching names are reported.
Custom metric collection configuration: Configure the metric scope name. If you do not configure this parameter, all custom metrics are collected by default.
Default Metric Collection Filtering: Filters the reporting of specified types of metrics. You can select one or more of the following types:
custom_entry: Custom metrics for method monitoring.
http: HTTP server metrics.
http_client: HTTP client metrics.
rpc: RPC server call metrics.
rpc_client: RPC client call metrics.
sql: Database access metrics.
nosql: NoSQL service access metrics.
cache: Cache service access metrics.
producer: Message publishing metrics.
consumer: Message consumption metrics.
schedule: Scheduling service metrics.
Advanced settings
In the Advanced settings section, you can configure percentile calculations, slow call and error sampling, and the maximum length of collected stack traces.
The default value for Stack trace collection length is 4096. After you configure the settings, click Save or Save and Bulk Copy to Other Applications.
Copy configurations to other applications
If you need to apply the same configuration to other applications, you can copy the settings.
Copy a single configuration
-
In the corresponding configuration section, click Save and Copy to Other Applications.
-
If the Current settings not saved dialog box appears, click OK to save the configuration for the current application, and then click Save and Copy to Other Applications again.
-
In the dialog box that appears, select the applications to which you want to apply the settings, and then click OK.
Copy all configurations
-
At the bottom of the page, click Save and Copy to Other Applications.
-
If the Current settings not saved dialog box appears, click OK to save the configuration for the current application, and then click Save and Copy to Other Applications again.
-
In the dialog box that appears, select the applications to which you want to apply the settings, and then click OK.
Global default configuration
You can save the current configuration as the global default configuration. This configuration then applies by default when you create new applications.
-
At the bottom of the page, click Save Current App Settings as Global Default Configuration.
-
If the Current settings not saved dialog box appears, click OK to save the configuration for the current application, and then click Save Current App Settings as Global Default Configuration again.
-
In the dialog box that appears, click Confirm.