All Products
Search
Document Center

Application Real-Time Monitoring Service:Exception analysis

Last Updated:Aug 25, 2026

View the exception analysis of an application to learn which exceptions the application throws and how often they occur.

Prerequisite

You've integrated an application with Application Monitoring.

Feature entry point

  1. Log on to the ARMS console. In the left-side navigation pane, choose Application Monitoring > Application List.

  2. Select a region in the top navigation bar and click the application.

    Note

    Icons in the Language column indicate the application's programming language:

    • Java icon: Java

    • image: Go

    • image: Python

    • - (Hyphen): an application monitored in Managed Service for OpenTelemetry

  3. In the left-side navigation pane, click Application Details.

  4. On the Application Details page, select an application instance, specify a time range, and then click the Exception Analysis tab.

The Exception Analysis tab contains an Exceptions / min stacked bar chart, which shows the number of occurrences of each exception type over time, and an exception list. The exception list contains the Error Count, Stack Trace, and Actions columns. The Actions column provides the Call Statistics, Call chain query, and Details links.

Exception statistics

The Exception Statistics area displays the exceptions of the application within the specified time range.

(Optional) In the Exception Statistics section, you can perform the following operations:

  • Move the pointer over a chart and view the statistics.

  • Drag the bars horizontally to view the statistics of specified time periods.

  • Click the chart icon to view metric statistics during a selected time period or compare performance within the same period across different days.

  • Click the code icon to view the API details of the metric.

Exception list

The exception list displays all exceptions that occurred in the application within the specified time range.

(Optional) In the Actions column of the exception list, you can perform the following operations:

  • Click Call Statistics to view the stacked bar chart of the exception.

  • Click Call chain query to view the trace details of the interface that threw the exception. For more information, see Query traces.

  • Click Details to view the details of the exception.

Note

To filter out exceptions, configure them in the Application Settings > Custom Configuration > Advanced Settings > Exception Filter text box.

What is an exception

In ARMS Exception Analysis, ARMS collects only the exceptions that are thrown by instrumented methods. In a real workload, a single interface call may therefore record no exception at all, or one or more exceptions.

For example, assume that the ARMS agent instruments two public int methods, methodA and methodB, and that the two methods call each other. The exceptions that ARMS records differ across the following scenarios.

Scenario 1: methodA and methodB each catch and print their own exception

ARMS does not monitor any exception.

public int methodA() {
        try {
            return methodB();
        } catch (Throwable e) {
            e.printStackTrace();
            return 0;
        }
    }
    public int methodB() {
        try {
            return 1 / 0;
        } catch (Throwable e) {
            e.printStackTrace();
            return 0;
        }
    }

Scenario 2: methodA catches and prints the exception, and methodB throws the exception

ARMS monitors one java.lang.ArithmeticException exception.

public int methodA() {
        try {
            return methodB();
        } catch (Throwable e) {
            e.printStackTrace();
            return 0;
        }
    }
    public int methodB() {
        return 1 / 0;
    }

Scenario 3: methodA and methodB each throw an exception

ARMS monitors two java.lang.ArithmeticException exceptions.

public int methodA() {    
        return methodB();
    }
    public int methodB() {
        return 1 / 0;
    }

Scenario 4: methodA wraps and throws the exception, and methodB throws the exception

ARMS monitors one java.lang.ArithmeticException exception and one java.lang.RuntimeException exception.

public int methodA() {
        try {
            return methodB();
        } catch (Throwable e) {
            throw new RuntimeException(e);
        }
    }
    public int methodB() {
        return 1 / 0;
    }