• Exceptions
  • Crash
  • ANR
  • Errors
  • Occurrence Count
  • Unique Device Identifier (Device ID)
  • Event Report
  • Access
  • Online Device
  • Affected Device
  • Device Exception Rate
  • Exception Count Rates
  • Launch Count
  • Today's Device Exception Rate
  • First Report Time
  • Cumulative Affected Devices
  • Cumulative Occurrences
  • Hour/Cumulative
  • Real Device/Emulator
  • Data Update Time
  • Issue ID
  • Report ID
  • Access address when crashed
  • Client report ID
  • Secondary reporting
  • Symbol Table
  • Search Dimension

Common Terms


Exceptions

An exception is a crash, ANR, or error that happens when an app is running.

Crash

A crash is when an app stops functioning properly and exits during use.

ANR

An ANR is an "Application Not Responding" prompt when the app is in use. It's on Android only.

Errors

An error is an actively reported exception, error or script (C#, Lua, JS, etc.) error.

Occurrence Count

An exception occurred and was recorded and reported is counted as one occurrence.

Unique Device Identifier (Device ID)

The marker used to uniquely identify a device is generated by the SDK by default and remains unchanged and effective until the application is uninstalled.

CrashSight uses Device ID to identify devices, i.e., if there are X event reports with the same Device ID, then those X reports will result in +X number of event occurrences, but +1 number of devices affected. Access and event reports come with Device ID information. The following is the default way of generating Device ID in CrashSight SDK on some popular platforms.

platformdefault way of generating Device ID
AndroidGenerate UUID on first boot
iOSIDFV
WindowsMAC address

Event Report

When the CrashSight SDK's Event Report mechanism is triggered (such as a crash is automatically caught, see CrashSight Product Introduction for more details), CrashSight will automatically collect the information and report it.

Access

When the CrashSight SDK is initialized, a starting event report will be performed immediately and it is called access. The data generated by the access can be used to count the number of starts.

Online Device

Each device that has network connection or has been reported once is considered a online device. In a certain time range, a device that repeats network behavior is only considered one online device. (The device is deduplicated according to the unique device identifier)

Affected Device

A device that has had an exception is counted as an affected device. In a certain time range, a device that has had multiple exceptions is only counted as one affected device. (The device is deduplicated according to the unique device identifier)

Device Exception Rate

The ratio between the number of affected devices and online devices.

Exception Count Rates

The ratio of the number of occurrences to the number of network connections.

Launch Count

Each time the application is restarted after fully exiting is counted as one launch. (The SDK determines the total launch count specifically by launch report + exception report carrying the launch count to be cumulative)

Today's Device Exception Rate

The ratio of the number of exception-influenced devices to the number of online devices within the current day.

First Report Time

The time at which the issue was first reported to CrashSight.

Cumulative Affected Devices

The total number of affected devices from the time the issue was first reported to the system until the current time.

Cumulative Occurrences

The total number of occurrences from the time the Issue was first reported to the system until the current time.

Hour/Cumulative

The hourly window ranges from the current hour's 00:00 to 59:59. The cumulative window ranges from 00:00:00 to 23:59:59 of the current day.

Real Device/Emulator

Real Device: A real mobile physical device. Emulator: A emulator that can run on a personal computer and simulate the Android mobile system. (Most emulators will generate a new unique device identifier each time the app is launched, and cloud gaming devices also have this characteristic and will be marked as emulators).

Data Update Time

The update time of backend refresh statistical result data (The data update is an asynchronous backend update, the crash trend is updated about every 10 minutes by default).

Issue ID

After an exception is reported, it will be classified (the same exceptions are classified into one set, known as one Issue), the unique UUID of the corresponding issue is called the issue ID, which corresponds one-to-one with the Issue.

Report ID

A unique uuid generated when an exception is reported, called the report ID, which corresponds one-to-one with this report.

Access address when crashed

The address actually accessed by the program when an invalid memory access occurs. CrashSight can report the address accessed by the program when it crashes. Generally, the invalid memory is 0x0 when cuased by access to a null pointer, and is a large address when cuased by access to a wild pointer.

Client report ID

CrashSight SDK will generate a random UUID when handling a crash/error and report it together with the crash/error. This UUID is called the client report ID. The client report ID is the unique identifier of each report and can be used to search and locate the reported information. Developers can search for "expuid" in the client's logs to find the client report ID. Also, developers can search for the crash/error with the client report ID in "Advanced Search" page.

Secondary reporting

When a crash occurs, CrashSight will try to immediately report crash information to the server. However, due to various force majeure factors (such as user forced killing program, network errors, etc.), the processing and reporting of crash information may not be completed immediately. At the next startup, CrashSight will check whether there is any unreported crash records, and if so, it will attemp to upload the crash records. This process is called secondary reporting. It is worth noting that the crash information reported again may sometimes be missing, because the last crash information may not be completly processed.

Symbol Table

CrashSight needs symbol table to restore the stack. To upload the symbol table, please refer to Symbol Table Tool Usage Introduction.
In order to ensure data security, CrashSight will not ask you to upload the original symbol table file (so, dsym, pdb, etc.) directly, but use our symbol table tool to extract a stif file and then upload it.

Each symbol table has a unique UUID, if the uploaded symbol table UUID is the same as the previous one, CrashSight considers this symbol table to be a duplicate and will use the new symbol table to replace the old one (in other words, if you uploaded the wrong symbol table, you can use this mechanism to fix the error). When restoring the stack, CrashSight will prioritize matching the symbol table using the UUID, and if the match fails, it will use the version number + the library name to find the symbol table.

When uploading Android symbol table, please make sure your so file comes with debugging information. You can simply judge by the size of the stif file, if the generated stif file is very small (<=1kb), you may have used an so without debugging information to generate the symbol table. Such a symbol table will not be able to restore the stack successfully. For the method to get the so with debug information, please refer to Symbol table file format for each platform, and the generating method in unity and unreal engine.

Search Dimension

A rich set of issue filters is available on the CrashSight page, and the following are implications for the optional search dimensions.

search dimensionexplanationsearch dimensionexplanation
Issue Last Report TimeThe time when the issue was last reportedIssue First Report TimeTime when the issue was first reported
Issue First Report VersionThe version number when the issue was first reportedIssue CategoryCrashSight’s classification of exception reports, such as Native crashes, C# errors, etc.
Exception CategoryCrash, ANR or ErrorIssue TagCustom tags that can be set on the Issue List page
Issue StatusThe status of issue, which can be configured on the "Issue List" pageBug Form Linked?Whether the issue is linked to a bug form on TAPD or Jira, which can be configured on the "Issue List" page
Issue AssigneeIssue assignee, which can be configured on the "Issue List" pageVersionThe version number extracted by CrashSight SDK, which can be set through the interface
Upload TimeIssue upload timeOccur TimeIssue occur time
App Package Name/Bundle IDAndroid package name, or iOS Bundle IDDistribution ChannelApplication distribution channels can be set through the interface
Issue IDThe issue ID is displayed in the issue list. Reports of one issue have the same issue ID.Crash IDCrash ID generated by the server. Each report has a unique crash ID.
Client Report IDThe report ID generated by the client when reporting. It can be viewed by searching for "expuid" in the log or in the report details.User IDUsed to identify the user, which can be set through the interface. The default is "unknown"
Device IDUsed to identify the device, see Device ID for detailsError NameError Name
Error MessageError MessageOriginal Device ModelThe model extracted from the system API
App Bits32-bit or 64-bitOS VersionOS Version
Error ProcessError Process NameError ThreadError Thread Name
App Run TimeLength of app running timeIs SimulatorWhether the issue happens on simulator
Is System ExitWhether CrashSight backend matches to system exit featuresROMSystem ROM name (Android only)
Custom KeyUser-defined keywords, see Customized Data for detailsError StackThe stack of the error thread
Error Stack(Before Retrace)Original stack before restore
Last Updated: