All Products
Search
Document Center

Application Real-Time Monitoring Service:[Announcement] Update of the ARMS agent V4.x

Last Updated:Jun 18, 2025

The ARMS agent V4.x is fully compatible with open source OpenTelemetry and is built on the foundation of the OpenTelemetry Java agent. It retains all the features of the original Java agent, with minor changes to some features. This topic describes these changes and their impacts on the ARMS agent V4.x, along with the increase in monitoring data volume.

Changes and impacts

  • By default, method instrumentation for Spring-managed Beans is disabled, and only methods in Controllers are instrumented.

    Impacts:

    • After the update, the class methods annotated with the @Service and @Component annotations cannot be displayed in the method stacks of traces.

    • Exceptions thrown in class methods annotated with the @Service and @Component annotations cannot be monitored.

  • The metrics names related to thread pool and connection pool monitoring have been changed. For more information, see Thread pool and connection pool monitoring.

    Impacts:

    • If you have configured alert rules for thread pool monitoring in Application Monitoring, you must re-configure the alert rules after the ARMS agent has been updated.

      On the Create Application Monitoring Alert Rule page, set Metric Type to Thread_Pool_Version_2 and create new alert rules.

      image

    • If a custom dashboard is configured based on the thread pool metrics, the dashboard data is empty after the ARMS agent is updated.

    • An increase in the metric volume causes an increase in pay-as-you-go fees.

  • The name of the metric for monitoring message delays is changed to arms_mq_delay_seconds.

    Impact: If a custom dashboard is configured based on the metric, the dashboard data is empty after the ARMS agent is updated.

  • Automatic propagation of trace context in asynchronous calls does not require configuring package names.

  • Custom consumers do not need to be manually configured for RabbitMQ, nor do custom consumption methods for Kafka.

  • Trace IDs can no longer be obtained by using the MDC.get("EagleEye-TraceID") method, whereas association of trace IDs with logs is not affected.

    Impact: Trace IDs obtained by using the MDC.get("EagleEye-TraceID") method are empty.

  • Spans are generated for internal calls in scenarios without entry calls.

    Impact: More spans leads to an increase in pay-as-you-go fees.

  • Quantile statistics is changed from the Summary algorithm of Prometheus to a bucket distribution method based on linear interpolation.

    Impact: Quantile metric data is inaccurate when there is a large difference between the actual duration distribution and the bucketing.

  • Span status is consistent with open source OpenTelemetry. HTTP requests with 4xx and 5xx status codes enter the error state. HTTP requests with other status codes enter the unset state, whereas the ARMS agent earlier than V4.x considers these requests to be in the ok state.

  • After the ARMS agent is updated to V4.x, the trace ID must consist of 32 characters, resulting in incompatibility with the old Browser Monitoring feature. We recommend that you integrate the new Real User Monitoring feature.

  • The ARMS agent V4.1.12 or earlier is not compatible with the virtual threads introduced in JDK 21. Full compatibility will be achieved in the ARMS agent V4.3.x. If your business relies on virtual threads, use the ARMS agent V3.x instead.

  • If you use arms-sdk to add baggage in spring-cloud-gateway with filters, when the agent is updated to V4.2.x and spring-bean-plugin is enabled on the Custom Configurations tab of the application details page, the baggage pass-through feature does not take effect.

Increase in monitoring data

After the ARMS agent is updated from V3.x to V4.x, the metric data may increase in the following cases:

  • Span and metric data increases because internal calls generate spans in scenarios without entry calls.

  • Thread pool metric data increases because thread pools can be user-defined.

  • Connection pool metric data increases because more connection pool types are supported.

  • Interface upstream and downstream metric data increases when the upstream and downstream calls are asynchronous, because the ARMS agent V4.x supports automatic propagation.

  • Metric data increases because the support for various plug-ins, such as Lettuce, is extended.

  • In the ARMS agent V4.x, the data collection and storage methods are adjusted to collect additional metrics prefixed with arms_grouped_thread when the thread profiling feature is enabled. This setting improves the performance when there are many threads, but generates excessive data. To disable the feature, refer to Thread profiling.

  • Message queue (MQ) batch consumption now creates individual spans per message (previously per batch), increasing span volume in high-throughput scenarios. To manage the reporting load, adjust sampling rates or disable MQ plug-ins.