Monitoring & Crash Reporting
Sentry、Firebase Crashlytics、symbolication、analytics、performance monitoring、structured logs
1React Native アプリケーションにおける crash reporting サービスの主な役割は何ですか?
React Native アプリケーションにおける crash reporting サービスの主な役割は何ですか?
回答
crash reporting サービスは、クラッシュを引き起こす未処理のエラー(JavaScript およびネイティブ)を自動的にキャプチャし、分析のために中央集約されたサーバーに送信します。これにより、開発者はユーザーからのフィードバックを待たずに本番環境の問題を検出し、影響(影響を受けるユーザー数)に基づいて修正の優先順位を付け、バグの正確な原因を特定するためのシンボリケートされた stack trace を取得できます。
2React Native における Sentry と Firebase Crashlytics の根本的な違いは何ですか?
React Native における Sentry と Firebase Crashlytics の根本的な違いは何ですか?
回答
Sentry は、JavaScript エラー、ネイティブクラッシュ、パフォーマンストランザクションを統一されたインターフェースでキャプチャするために設計されたオープンソースのマルチ言語プラットフォームです。Firebase Crashlytics は無料ですが、主に iOS/Android のネイティブクラッシュに焦点を当てており、Google エコシステムと密接に統合されています。Sentry は React Native における JavaScript エラー処理と breadcrumbs のサポートに優れている一方、Crashlytics は純粋なネイティブクラッシュの分析に優れています。
3React Native のクラッシュレポートにおける symbolication とは何ですか?
React Native のクラッシュレポートにおける symbolication とは何ですか?
回答
symbolication とは、stack trace 内の難読化されたメモリアドレスを、読み取り可能なファイル名、関数、行番号に変換するプロセスです。本番環境では、JavaScript コードは minify され、ネイティブコードはコンパイルされるため、stack trace は読み取れなくなります。source map(JavaScript)と dSYM ファイル(iOS)または mapping file(Android)により、これらのアドレスをデバッグに利用可能な情報に変換できます。
React Native の各リリースで source map をアップロードすることが不可欠なのはなぜですか?
クラッシュレポートシステムにおける breadcrumbs とは何ですか?
+17 面接問題