What is reported
With RUM enabled, the SDK collects four classes of error:- Crashes, uncaught exceptions that terminate the process, captured through the JVM’s default uncaught exception handler.
- ANRs, raised when the main thread is blocked long enough for the system to consider the application unresponsive.
- Network errors, for requests that fail or return an error status on hosts instrumented by
AtatusInterceptor. - Handled exceptions, reported explicitly through
addError.
Prerequisites
The SDK must be initialized and RUM enabled. See Android Monitoring Setup.Report crashes
Crash reporting is enabled by default and requires no configuration beyond the base integration. Set it explicitly to document the intent, or to disable it where another handler owns the process:Report ANRs
Fatal ANRs, where the system terminates the application, are reported automatically. Non-fatal ANRs, where the main thread recovers after blocking, are disabled by default because their volume varies widely between applications:Non-fatal ANRs and long tasks share a cause: work scheduled on the main thread that belongs on a background dispatcher. If ANR volume is high, correlate it with long tasks to locate the blocking call sites.
Report handled exceptions
addError promotes an exception you caught into a RUM error event, so failures your application degrades gracefully around are still measurable:
Throwable when one is available. Issue grouping is derived from the stack trace, so errors reported without one collapse on message alone and group far less precisely.
The source classifies where the error originated and determines how it is categorized in your dashboard:
Deobfuscate release stack traces
R8 and ProGuard rename classes and methods during release builds, leaving production stack traces unreadable. Uploading the mapping file lets Atatus restore the original symbols server-side, so the obfuscated build you ship stays diagnosable. After a release build, the mapping file is written to:Filter out noisy errors
Some failures are expected and carry no diagnostic value, such as requests cancelled when a user navigates away mid-flight. Discard them with an error event mapper, which runs before serialization:null drops the event. Crash events are exempt from this filter, since suppressing them would conceal fatal failures.
Next steps
- Locate the main-thread work behind ANRs with long task tracking.
- Attach domain context to errors using global attributes.
- Capture errors raised inside embedded web content with WebView Tracking.