Stability
Whether a platform captures crashes automatically or needs manual reporting is in SDK overview. Do not assume every SDK emits $app_crashed by itself.
Mini programs use ConsoleMini program analyticsDevices & qualityStability. The page has two tabs: Crashes / ANR / freezes / perf and Custom errors.
What the report shows
The crash-free share is 1 − crash users ÷ active users. Next to it: crash count, ANRs, UI freezes, starts, and the median cold start, hot start, and memory. The trend stacks those three problem counts by day and draws the crash-free share.
Error groups cover crashes, ANRs, UI freezes, and JS errors. Filter them by active, resolved, or ignored. People with analyze permission can change a group's status. In the product copy, ANR is Android only and means the main thread was blocked for at least 5 seconds. A UI freeze is iOS and HarmonyOS, main thread blocked for at least 2 seconds.
The Custom errors tab totals business errors that SDKs send as $app_error, one row per error type. They do not affect the crash-free share. Per-version crash counts also show on Versions & channels.
FAQ
The page says there is no data yet? Performance totals wait for $app_start to reach the daily rollup. Editors can click Recompute (last 7 days), which helps right after install, before the daily job has run. Recomputing does not reopen an error group you ignored.
No frame-rate chart? No $fps_sample arrived. Usually performance sampling is off. The rate is not zero.
Cold-start median is empty? Cold-start time comes from the duration on the start event. If the adapter did not set it, the median stays empty.
Devices
Rows are ordered by active people, not by where crashes concentrate. Crashes are in Stability.
ConsoleApp analyticsQuality & attributionDevicesMini programs use ConsoleMini program analyticsDevices & qualityDevices. It is the same page.
What the report shows
Switch among model, brand, OS version, resolution, network, carrier, and place. Place splits into country or region, state or province, and city. The ring chart shows the top 8 by active users. The table lists up to 50 rows, each with active users, new users, and starts. Country names follow the interface language. Unknown regions keep their code.
Where the fields come from
Model, brand, resolution, network, and carrier come from preset properties such as $device_model, $device_brand, $network_type, and $carrier. OS version joins the OS name and version. Place uses country, region, and city on the event. Which properties arrive depends on what each SDK collects. See Preset events & properties and SDK overview.
How to read the result
- Empty values are grouped as unknown. Unknown is not a model.
- Resolution needs both width and height. Without one of them, the dimension means nothing.
- Carrier and network appear only when the SDK sent them. Current native builds do not promise every field automatically.
- City granularity follows the project's privacy settings and may be coarsened.
- Clicking a row does not filter other reports. Use the header filter to narrow by version or channel.