dSYM ファイルのアップロード
Splunk AppDynamics は、アプリケーションがクラッシュスナップショット用の人間が判読可能なスタックトレースを生成するために、dSYM ファイルを必要とします。スナップショットの重要性の詳細については、「人間が判読可能なクラッシュスナップショットの取得」を参照してください。
アプリケーションを更新する場合は、新しいアプリケーションバージョン用の新しい dSYM ファイルを用意する必要があります。dSYM ファイルには、特定の Xcode ビルドにリンクする UUID が含まれているため、Splunk AppDynamics は、追加情報を使用せずに、正しい dSYM ファイルと着信クラッシュレポートを明確に照合できます。
dSYM ファイルをアップロードするには:
dSYM ファイルの有効化
アプリケーションがクラッシュした場合に生成されるクラッシュスナップショットに、人間が判読可能な情報をエージェントが提供できるようにするには、[] ファイルオプションを使用してコンパイルし、アプリケーション用のデバッグシンボルファイルを作成します。
dSYM を有効にするには:
- Xcode の Project Navigator でプロジェクトを選択します。
- ターゲットリストで、アプリケーションを構築するターゲットを選択します。
- [Build Settings] タブを選択します。
- [Build Options] セクションで、Debugging Information Format が DWARF with dSYM File に設定されていることを確認します。
ビルドごとに Splunk AppDynamics に dSYM ファイルを自動でアップロードする
dSYM ファイルのアップロードを自動化すると、ビルドのたびに必要な手動手順の数が削減され、すべてのビルドで適切な dSYM ファイルを Splunk AppDynamics が使用できるようになります。
開始する前に、xcode_build_dsym_upload.sh スクリプトをダウンロードします。
手動で Splunk AppDynamics に dSYM ファイルをアップロードする
ファイルを手動でアップロードするには:
- Xcode から dSYM ファイルを取得します。
- UI を使用して AppDynamics に dSYM ファイルをアップロードするSplunk AppDynamicsか、Splunk AppDynamicsAPI を使用して AppDynamics に dSYM ファイルをアップロードします。
- REST API を使用してアップロードされた dSYM を確認します。
Xcode から dSYM ファイルを取得する
UI を使用して Splunk AppDynamics に dSYM ファイルをアップロードする
- モバイル アプリケーション メニューから、[Configuration] をクリックします。
- [Mobile App Configuration] をクリックします。
- [dSYM Files] で、[+] アイコンをクリックします。
- [Upload Missing dSYM Mapping] ダイアログで [Choose File] をクリックします。アップローダは
.zip拡張子を持つファイルを想定します。 - ファイルブラウザで、インストゥルメント化されたアプリケーションの圧縮された dSYM ファイルを選択します。
- Upload をクリックします。
Upload the dSYM File to Splunk AppDynamics Using the REST API
The API uses HTTP basic authentication. The username is your EUM account name and the password is your EUM license key.
Set up your HTTP basic authentication credentials
In the upper-right corner of the Controller UI, click .
- From the Account Usage tab, swipe down to the User Experience section.
- Click Show next to License Key to display the EUM license key. This is your password for authentication.
- URL-encode the EUM account name and the EUM license key.
Send the dSYM File
Send the dSYM FileSend the dSYM as a zip archive in the body of a PUT -H Content-Type:application/octet-stream URI:
- Americas
https://api.eum-appdynamics.com/v2/account/<EUM_Account_Name>/ios-dsym
- EMEA
https://fra-api.eum-appdynamics.com/v2/account/<EUM_Account_Name>/ios-dsym
- APAC
https://syd-api.eum-appdynamics.com/v2/account/<EUM_Account_Name>/ios-dsym
Sample Request and Response
This is a sample request and response using the REST API.
Upload Request
The following example uses curl to send a dSYMm file named UISampleApp.app.dSYM.zip. The EUM account name is "Example account" and the password is "Example-License-Key-4e8ec2ae6cfe", the EUM License Key. The plus signs replace spaces in the account name when the account name is URL-encoded.
- Americas
curl -v -H Content-Type:application/octet-stream --upload-file UISampleApp.app.dSYM.zip --user Example account:Example-License-Key-4e8ec2ae6cfe https://api.eum-appdynamics.com/v2/account/Example+account/ios-dsym- EMEA
curl -v -H Content-Type:application/octet-stream --upload-file UISampleApp.app.dSYM.zip --user Example account:Example-License-Key-4e8ec2ae6cfe https://fra-api.eum-appdynamics.com/v2/account/Example+account/ios-dsym- APAC
curl -v -H Content-Type:application/octet-stream --upload-file UISampleApp.app.dSYM.zip --user Example account:Example-License-Key-4e8ec2ae6cfe https://syd-api.eum-appdynamics.com/v2/account/Example+account/ios-dsym
Upload Response
The successful output of the sample request looks like this:
- Americas
* About to connect() to api.eum-appdynamics.com port 443 (#0)* Trying ::1... * connected * Connected to api.eum-appdynamics.com (::1) port 443 (#0) * Server auth using Basic with user 'Example+account' > PUT /v2/account/Example+Account/ios-dsym HTTP/1.1 > Authorization: Basic SW50ZXJuYWwrdGVzdCthY2NvdW50OlRlc3RBY2N0LTFlMzktNDVkMy05MzAzLTRlOGVjMmFlNmNmZQ== > User-Agent: curl/7.24.0 (x86_64-apple-darwin12.0) libcurl/7.24.0 OpenSSL/0.9.8y zlib/1.2.5 > Host: localhost:7001 > Accept: */* > Content-Length: 0 > Expect: 100-continue > < HTTP/1.1 100 Continue < HTTP/1.1 200 OK < Content-Length: 0 < Server: Jetty(8.1.4.v20120524) < * Connection #0 to host api.eum-appdynamics.com left intact * Closing connection #0- EMEA
* About to connect() to fra-api.eum-appdynamics.com port 443 (#0)* Trying ::1... * connected * Connected to fra-api.eum-appdynamics.com (::1) port 443 (#0) * Server auth using Basic with user 'Example+account' > PUT /v2/account/Example+Account/ios-dsym HTTP/1.1 > Authorization: Basic SW50ZXJuYWwrdGVzdCthY2NvdW50OlRlc3RBY2N0LTFlMzktNDVkMy05MzAzLTRlOGVjMmFlNmNmZQ== > User-Agent: curl/7.24.0 (x86_64-apple-darwin12.0) libcurl/7.24.0 OpenSSL/0.9.8y zlib/1.2.5 > Host: localhost:7001 > Accept: */* > Content-Length: 0 > Expect: 100-continue > < HTTP/1.1 100 Continue < HTTP/1.1 200 OK < Content-Length: 0 < Server: Jetty(8.1.4.v20120524) < * Connection #0 to host fra-api.eum-appdynamics.com left intact * Closing connection #0- APAC
* About to connect() to syd-api.eum-appdynamics.com port 443 (#0)* Trying ::1... * connected * Connected to syd-api.eum-appdynamics.com (::1) port 443 (#0) * Server auth using Basic with user 'Example+account' > PUT /v2/account/Example+Account/ios-dsym HTTP/1.1 > Authorization: Basic SW50ZXJuYWwrdGVzdCthY2NvdW50OlRlc3RBY2N0LTFlMzktNDVkMy05MzAzLTRlOGVjMmFlNmNmZQ== > User-Agent: curl/7.24.0 (x86_64-apple-darwin12.0) libcurl/7.24.0 OpenSSL/0.9.8y zlib/1.2.5 > Host: localhost:7001 > Accept: */* > Content-Length: 0 > Expect: 100-continue > < HTTP/1.1 100 Continue < HTTP/1.1 200 OK < Content-Length: 0 < Server: Jetty(8.1.4.v20120524) < * Connection #0 to host syd-api.eum-appdynamics.com left intact * Closing connection #0
トークンを使用した REST API での dSYM のアップロード
MAPPING_FILE_UPLOAD_API_DISABLED: TruedSYM ファイルをアップロードするには、次の手順を実行します。
Check Uploaded dSYMs Using the REST API
You can check to make sure that your dSYMs have successfully uploaded using two REST APIs.
- Get a list of the UUIDs for the last 50 dSYMs you have uploaded.
- Check if a specific dSYM has been uploaded.
List of the Last 50 dSYMs Uploaded
The dsymQuery method allows you to retrieve a list of UUIDs for up to the last 50 dSYM files that have been uploaded to your account, along with the time they were uploaded. The response is displayed as JSON, by upload time, with the most recent first.
- Set up your authentication as described in Upload the dSYM File to Splunk AppDynamics Using the REST API.
- Create a GET request of the form:
curl --user Example+account:Example-License-Key-4e8ec2ae6cfe https://<EUM_Cloud/Server_Host:Port>/v2/account/Example+account/crash-symbol-file-query/dsym- EUM_Cloudrefers to SaaS-based EUM Cloud URLs. For a complete list, see Splunk AppDynamics オンプレミス SaaS Domains and IP Ranges.- EUM_Server_Hostrefers to the URL pointing to your on-premises EUM Server.- EUM_Account_Nameis your EUM account name.
.- GUID_To_Checkis the GUID of the ProGuard file in which you are interested.
Sample Request
- Americas
curl --user Example+account:Example-License-Key-4e8ec2ae6cfe https://api.eum-appdynamics.com:443/v2/account/Example+account/crash-symbol-file-query/dsym- EMEA
curl --user Example+account:Example-License-Key-4e8ec2ae6cfe https://fra-api.eum-appdynamics.com:443/v2/account/Example+account/crash-symbol-file-query/dsym- APAC
curl --user Example+account:Example-License-Key-4e8ec2ae6cfe https://syd-api.eum-appdynamics.com:443/v2/account/Example+account/crash-symbol-file-query/dsym
Sample Response
{"dSymFiles":[
{"uploadTime":"mm/dd/yyyy 14:15:32","UUID2":"my_uuid2"},
{"uploadTime":"mm/dd/yyyy 14:15:32","UUID":"my_uuid"}
]}Check for Specific dSYM by UUID
The checkForDSymFile method allows you to check if a specific dSYM by UUID has been uploaded. The upload time is returned in the response.
- Set up your authentication as described in Upload the dSYM File to Splunk AppDynamics Using the REST API.
- Create a GET request of the form:
curl --user Example+account:Example-License-Key-4e8ec2ae6cfe https://<EUM_Cloud/Server_Host:Port>/v2/account/Example+account/crash-symbol-file-query/dsym/uuid/<UUID_to_Check>- EUM_Cloudrefers to SaaS-based EUM Cloud URLs. For a complete list, see Splunk AppDynamics オンプレミス SaaS Domains and IP Ranges.- EUM_Server_Hostrefers to the URL pointing to your on-premises EUM Server.- EUM_Account_Nameis your EUM account name.
.- GUID_To_Checkis the GUID of the ProGuard file in which you are interested.Sample Request
curl --user Example+account:Example-License-Key-4e8ec2ae6cfe https://<EUM_Cloud/Server_Host:Port>/v2/account/Example+account/crash-symbol-file-query/dsym/uuid/<UUID_to_Check>Sample Response
{"uploadTime":"mm/dd/yyyy 14:15:32","UUID":"my_uuid"}