クラッシュ分析
モバイルアプリ開発者は、 Instana のクラッシュ分析機能を活用することで、アプリのクラッシュを早期に検知・把握し、迅速に修正することができます。 この機能は、影響を受けるユーザーの数を最小限に抑え、クラッシュによる悪影響を軽減するのに役立つ。
サポート対象のテクノロジー
Instana クラッシュデータの収集は、Androidおよび iOS のネイティブアプリケーションでサポートされています。 この機能は以下のエージェントバージョンでサポートされています:
- Instana Androidエージェント 6.0.11 以降( Gradle 7.3.3 に基づく)
- Instana Androidエージェント 5.2.6 以降( 7.3.3 より前のバージョンの Gradle に基づく)
- Instana iOS agent 1.6.8 以降
注意事項
- iOS
- iOS エージェントは可能な場合はシンボリック化を試み、そうでない場合は Instana のUIに生データが表示されます。
- アプリケーションが iOS のエミュレータで実行されている場合、クラッシュデータは Instana に送信されません。
- クラッシュが発生した後、次回アプリケーションを再起動した際に、クラッシュデータが Instana に送信されます。 詳細については、 MetricKit をご覧ください。
- App IDは有効なApple App IDである必要があります。 さもなければ、クラッシュ収集機能は機能しない。
Androidエージェントでクラッシュデータの収集を有効にする
Androidアプリケーションに、 Instana のAndroidエージェントプラグインとSDKが組み込まれていることを確認してください。 詳しくは、アンドロイドエージェントの説明をご覧ください。
そして、enableCrashReporting プロパティを、Instana.setup() メソッドが呼ばれたときにtrue に設定します。 以下の例を参照してください。
class ExampleApp : Application() {
override fun onCreate() {
super.onCreate()
val instanaConfig = InstanaConfig(
key = "GbYHxegG4gcgta",
reportingURL = "https://instana-prod.io/mobile",
enableCrashReporting = true
)
Instana.setup(this, instanaConfig)
}
}
Androidエージェントでクラッシュデータの収集を有効にする方法の詳細については、「 Androidアプリケーションのサンプル 」を参照してください。
iOS エージェントでクラッシュデータの収集を有効にする
iOS エージェントでクラッシュデータの収集を有効にするには、以下の手順を実行してください:
Instana iOS のエージェントがインストールされていることを確認してください。 詳細については、 『 iOS 』のエージェントに関する説明を参照してください。
そして、enableCrashReporting プロパティを、Instana.setup() メソッドが呼ばれたときにtrue に設定します。 以下の例を参照してください。
import UIKit
import InstanaAgent
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// App needs to explicitly get user permission for collecting crash payloads before setting enableCrashReporting to true.
let options = InstanaSetupOptions(enableCrashReporting: true)
Instana.setup(
key: "GbYHxegG4gcgta",
reportingURL: URL(string: "https://instana-prod.io/mobile")!,
options: options
)
return true
}
}
iOS エージェントでクラッシュデータの収集を有効にする方法の詳細については、 「 iOS 」サンプルアプリケーションを参照してください。
Instana のUIにおけるクラッシュの分析
アプリケーションでクラッシュデータの収集を有効にすると、クラッシュが発生した際に、そのデータが Instana に送信されます。 クラッシュデータの分析を始めることができる。
トラブルシューティング
私のアプリでのクラッシュは翻訳されていません。 実施する理由
アプリのタイプに応じて、 iOS のシンボルファイルまたはソースマッピングファイルを確認し、クラッシュが発生するアプリバージョン用のソースマップファイルがアップロードされ、コミットされていることを確認してください。 クラッシュを引き起こすアプリのバージョンがソースマップ内のバージョンと一致しない場合、 Instana はそのクラッシュを解析しません。
- クラッシュの原因となったアプリのバージョンを特定してください。 クラッシュビーコンを生成するアプリのバージョンを特定するには、以下の手順を実行してください:
- モバイルアプリで「 クラッシュ 」タブを開き、クラッシュの発生箇所をクリックしてから、 「クラッシュを分析」 をクリックします。 クラッシュが発生した各ケースについて、クラッシュビーコンを確認できます。
- クラッシュが最後に発生したビーコンをクリックしてください(通常は一番上のビーコンです)。
- ページを上にスクロールし、 「ダウンロード」 をクリックして、そのクラッシュに関連するビーコンのグループをダウンロードしてください。
- ダウンロードした JSON を開き、フィールド
typeを持つビーコンcrashを検索します。 - そのビーコンで、値
appVersionを確認し、クラッシュを引き起こしているアプリのバージョンを特定してください。
- ソースマップファイルが正しくアップロードされ、コミットされたことを確認してください。 ファイルのアップロードが完了したら、モバイルアプリの設定タブにある 「スタックトレースの翻訳 」メニュー内の表
Symbol file upload configurationsで、以下の項目を確認してください:Files: アップロードされた設定ファイルの数は想定通りです。Total size: リストされているアップロード済みのソースマップファイルの合計サイズは、予想通りです。Blobs uploaded: アップロードされたBlobの数は、ソースマップファイルが分割されたBlobの総数です。Commit status: コミットステータスが表示されますSuccess。 が表示Commit statusされた場合は、 「 dSYM ファイルのアップロード」-または 「マッピングファイルのアップロード」 の手順のステップ5に記載されているとおり、 APICommit uploadに連絡してください。
ソースマップおよびシンボルファイルはすでにアップロードしてコミット済みですが、以前のクラッシュは反映されていません。
Instana 遡及的なクラッシュ変換には対応していません。 Instana ソースマップやシンボルが正しくアップロードされ、コミットされた後に発生したクラッシュのみを翻訳します。
翻訳されたクラッシュログが表示されません
エージェントが最新バージョンに更新されていることを確認してください。 変更履歴はこちらでご覧いただけます:
- Android: android-agent-変更履歴
- iOS: ios-agent-変更履歴
上記の手順をすべて試しても、翻訳されたクラッシュログが表示されない場合は、 Instana のサポートまでお問い合わせください。 可能であれば、問題を効果的にデバッグするため、サポートチケットにソースマップまたは dSYM ファイルを添付してください。

