In this section, you'll learn about the feature set available for the App Center’s Diagnostics service.
Crash and Errors Analytics
In App Center Diagnostics, you can view analytics data generated automatically by App Center to understand when a crash or error occurs in your app.
By default, App Center displays an app's crashes and errors per day in a side-by-side view.
Using the top-left tabs, drill down into Crashes and Errors. When you do this, the left chart indicates the number of crashes/errors per day, and the right chart shows the number of affected users. Filter the charts by app version, time frame, and status for a more focused view.
App Center filters potentially sensitive information. Examples of sensitive information that will be filtered are URLs, JSON strings and request IDs.
App Center Diagnostics groups crashes and errors by similarities, such as reason for the issue and where the issue occurred in the app. For each crash and error group, App Center displays the line of code that failed, the class or method name, file name, line number, crash, or error type and message for you to better understand these groups at a glance. Select a group to view more information, and access a list of detailed issues reports and logs. This allows you to dive even deeper and use our feature set to better understand your app's behavior during a crash or an error.
If a crash is caused by a failed call to a URL (such as "Error calling azure.com or google.com") App Center can group crashes by that URL (for example all failed to call azure.com will be grouped together and failed to call google.com will be grouped together). However, because we remove URLs prepended with either HTTP or HTTPS from the crash log, this grouping will only work when avoiding this syntax for example: "Error calling http://azure.com" will not be grouped with other azure calls but "Error calling azure.com" will be grouped with similar error reports.
App Center Diagnostics allows you to attach a user ID to your crashes and errors. To do so, use the App Center SDK in your targeted platform Android, Apache Cordova, iOS, macOS, React Native, tvOS, Unity, UWP, WPF/WinForms, and Xamarin. You'll find the user ID associated to a crash or error when clicking on an issue inside of a group.
After attaching a user ID, you can use App Center's search feature to search for crashes with the specified ID. Learn how to do this by following App Center's search documentation.
In the App Center Diagnostics UI, you can view and download binary and text attachments of your crash and error reports.
Attachments for handled errors are only supported for Android, Unity, UWP, WPF, WinForms, and Xamarin platforms. Learn how to add attachments to your error reports in the SDK documentation for your Android, Unity, UWP, WPF/WinForms, and Xamarin apps.
To view and download the attachments, select a crash or error group, a specific device report and then click on the attachments tab.
Events Before A Crash
Track events leading up to a crash to capture useful information about the state of your app.
To view events before a crash, select a crash group, a specific device report, and then click on the events tab.
Key Value Pairs
You can tailor error reports sent to App Center to include additional context for the error by passing a dictionary of string values (as key/value pairs) to the
TrackError method. These properties are optional. To set key value pairs, take a look at our Android, Xamarin, Unity, UWP, and WPF/WinForms documentation.
This feature is only supported for Android, iOS, Xamarin, React Native, Unity, UWP, WinForms and WPF Errors today.
Export Diagnostics Data
App Center can export diagnostics (crashes and errors) raw data to Azure. Export diagnostics data to Blob Storage for customization of the data.
To export crashes, attachments and errors, you must call the Export Configurations API:
exportEntities field of the API property, you must indicate what type of data you wish to export: crashes, errors, attachments. When doing so, the full symbolicated crashes and corresponding stack traces will be exported.
Learn more about the benefits of, and how to export your data in the export documentation.
In a crash report, you can see the current threads that were active when the app crashed. The thread that crashed is highlighted in red for you to better understand the state of the app.
On Windows, the report shows only the stack trace from the thread that crashed. Showing the state of other threads at the moment of the crash isn't supported on Windows.
Stay on top of your crashes by configuring your App Center app definition settings to send an email notification. You can configure this setting per app to either send an email immediately when a new crash group is created, or send a daily summary email with your app's top crashes. To configure these alerts:
- Log into App Center and select your app
- In the left menu, navigate to Settings
- Click on Email Notifications
- Select Immediately, Daily, or Never. The default configuration is set to Never.
You can learn more about notification in our App Center dashboard documentation.
Create a Bug Tracker
You can integrate third-party bug tracker tools with App Center to stay informed and better manage your crashes. Read the bug tracker documentation to learn how to get started.
Set Data Retention
You can set your diagnostics data retention to 28 or 90 days via our APIs, as listed in the App Center API documentation, or in the app settings page. If you change your retention setting from 90 to 28 days, any existing diagnostics data older than 28 days will be removed and any new data will only be stored for 28 days.
If you change your settings from 28 to 90 days, older diagnostics data won't be backfilled. If you want to store your data for more than 90 days, export your raw data to Azure Blob Storage. Read the export diagnostics data section to get started.
Upload reports to App Center
The documentation to upload crashes via API has moved.