Cost optimization

Updated at:

The new ARMS Application Monitoring billing model charges based on ingested data volume. This topic explains how to adjust this volume to reduce costs.

Reduce trace ingestion

Lowering the sampling rate reduces the data volume ingested for traces. For more information, see Select a trace sampling mode (for probe versions earlier than 3.2.8).

In the ARMS console, go to the Application Settings > Custom Settings page for your application. In the Sampling Settings section, you can adjust the fixed sampling rate.

  • Fixed sampling rate: In the Sampling Rate Settings field, enter the percentage value without the percent sign. For example, enter 10 for a 10% sampling rate.

  • Adaptive sampling: Define custom prefixes or suffixes for APIs you want to always sample.

Reduce profiling ingestion

Increasing the threshold for high-latency calls reduces the number of triggered analyses and the data volume ingested from profiling.

In the ARMS console, go to the Application Settings > Custom Settings page for your application. In the Thread Analysis Settings section, you can enable or disable the main switch for thread analysis and the method stack analysis switch, and set the trigger threshold for slow call monitoring. For more information, see Custom settings for Java applications.

Monitoring starts only when a service call's duration exceeds the trigger threshold for slow call monitoring (default: 2000 ms) and continues until the call ends, for a maximum of 15 seconds. Set this threshold to the 99th percentile (P99) of call latency. For example, if you have 100 calls, sort them by latency from lowest to highest. The latency of the 99th call is the P99.

Reduce metric ingestion

The greater the URL convergence, the lower the data volume ingested for metrics.

In the ARMS console, go to the Application Settings > Custom Settings page for your application. In the URL Convergence Settings section, you can enable URL convergence and set the convergence threshold and rules. For more information, see Custom settings for Java applications.

URL convergence groups a set of similar URLs and displays them as a single item. For example, it can group a set of URLs that all start with /service/demo/. The convergence threshold is the minimum number of occurrences required to trigger URL convergence. For example, if the threshold is 100, URLs that match a regular expression rule are converged only after the count of matching URLs reaches 100.