Add dSYMs
Your uploaded dSYMs enable Splunk RUM to convert stack traces back into a human-readable form.
When you build your iOS application in release mode, your build process generates one or more debug symbol archives, commonly referred to as dSYMs. A dSYM stores debug symbols and exact offsets for a particular build of your application and its modules. With this detailed information, Splunk RUM can convert crash data into readable reports labeled with function names and line numbers, showing what code was run, in what order, and where the crash happened. This conversion is called symbolication in iOS terminology. By uploading your dSYMs for the precise build that was released, you enable symbolication for the corresponding application version.
The splunk-rum
CLI compresses dSYM directories into .zip
files for you and uploads them. When you upload a zipped dSYM to Splunk RUM, you enable Splunk RUM to symbolicate matching crash reports using the debug symbols contained within that dSYM. This in turn enables you to view stack traces with the names of functions and offsets into those functions to help you identify the line of code that was executing when the application crashed.
You can upload dSYMs from your main application code and from third-party frameworks. Splunk RUM does not yet support the symbolication of stack frames for system libraries.
Prerequisites
-
Build your applications with
DEBUG_INFORMATION_FORMAT
set todwarf-with-dsym
andDEBUG_INFORMATION_VERSION
set todwarf4
. Splunk RUM doesn't support thedwarf5
format for iOS symbolication. For more information on these settings, see the Apple developer documentation on Debug Information Version. -
Upgrade the following Splunk components:
-
SplunkOtelCrashReporting: v0.7.0
-
SplunkOtel: v0.13.0
-
Find dSYMs
To locate the dSYMs directory for a specific release build:
-
Open Xcode Organizer (in Xcode, select Window and then select Organizer ).
-
Right-click (command-click) the version number of the archive for your release.
-
Select Show in Finder.
-
In the Finder window that opens, right-click on the listed entry for your release, and select Show Package Contents. The window now shows the
dSYMs/
directory, and you can drag that directory entry into a Terminal window to copy its path there for use with thesplunk-rum
command.
Upload dSYMs
To upload dSYMs use the splunk-rum
CLI as follows.
Splunk recommends that you upload dSYMs to Splunk RUM before you distribute corresponding binaries. To ensure this, the best practice is to integrate the following splunk-rum commands into your CI pipeline so that whenever you archive your iOS application, your pipeline automatically uploads the corresponding dSYMs to Splunk RUM. Alternatively, you can upload dSYMs on demand.
This feature is not available in the us2
region at this time.
Splunk RUM stores your dSYMs permanently. You cannot delete them from Splunk RUM at this time.
-
Upload your application's dSYMs:
Note: If you didn't set theSPLUNK_REALM
andSPLUNK_ACCESS_TOKEN
environment variables, you must also add the--realm value
and--token your-splunk-org-access-token
parameters to this command.splunk-rum ios upload --path path-to-dSYMs[optional-parameters]
-
(Optional) Verify that your uploads succeeded:
splunk-rum ios list
Syntax
splunk-rum ios [command] [parameters]
Command descriptions
Command |
Description |
---|---|
|
Upload dSYMs within the directory you specify. The directory may contain one Parameters:
|
|
List the 100 most recently uploaded dSYMs, sorted in reverse chronological order based on the upload timestamp. Parameters:
|