Analyse des collisions
Les développeurs d'applications mobiles peuvent utiliser la fonctionnalité d'analyse des plantages disponible sur Instana pour détecter, comprendre et résoudre les plantages de l'application dans les meilleurs délais. Cette fonction permet de minimiser le nombre d'utilisateurs affectés et de réduire l'impact négatif de la panne.
Technologies prises en charge
Instana La collecte des rapports d'erreurs est prise en charge pour les applications natives Android et d' iOS. Cette fonctionnalité est prise en charge dans les versions suivantes de l'agent :
- Instana Agent Android 6.0.11 ou version ultérieure (basé sur Gradle 7.3.3 )
- Instana Agent Android 5.2.6 ou version ultérieure (basé sur la version d' Gradle antérieure à 7.3.3 )
- Instana iOS 1.6.8 ou version ultérieure
À noter
- iOS
- iOS L'agent tente d'effectuer la symbolisation si possible; sinon, les données brutes s'affichent dans l'interface utilisateur d' Instana.
- Les données relatives aux plantages ne sont pas transmises à Instana si l'application est exécutée dans les émulateurs d' iOS.
- Les données relatives au plantage sont envoyées à Instana lors du prochain redémarrage de l'application après le plantage. Pour plus d'informations, consultez le site MetricKit.
- App ID doit être un Apple App ID valide. Sinon, la fonction de collecte des accidents ne fonctionne pas.
Activation de la collecte des plantages dans l'agent Android
Assurez-vous que le plug-in et le SDK de l'agent Android d' Instana sont bien intégrés à votre application Android. Pour plus d'informations, voir Instructions de l'agent Android.
Ensuite, définissez la propriété enableCrashReporting à true lorsque la méthode Instana.setup() est appelée. Voir l'exemple suivant :
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)
}
}
Pour plus d'informations sur l'activation de la collecte des plantages dans un agent Android, consultez l 'exemple d'application Android.
Activation de la collecte des rapports d'erreur dans l'agent d' iOS
Pour activer la collecte des rapports d'erreur dans un agent d' iOS, procédez comme suit :
Assurez-vous que l'agent Instana iOS est bien installé. Pour plus d'informations, consultez la documentation relative à l'agent « iOS ».
Ensuite, définissez la propriété enableCrashReporting à true lorsque la méthode Instana.setup() est appelée. Voir l'exemple suivant :
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
}
}
Pour plus d'informations sur l'activation de la collecte des rapports d'erreurs dans un agent iOS, consultez l 'exemple d'application « iOS ».
Analyse des plantages dans l'interface utilisateur d' Instana
Une fois que vous avez activé la collecte des données d'erreur pour une application, lorsqu'une erreur se produit, les données correspondantes sont envoyées à Instana. Vous pouvez commencer à analyser les données relatives aux accidents.
Cliquez sur « Analytics » dans l'interface utilisateur d' Instana.
Dans la page Analytics, cliquez sur Mobile App > Crashes.
Filtrez votre demande comme suit :
Figure 1. Vue d'analyse des plantages des applications mobiles 
Pour voir les détails du crash, développez la section Crash, et vous pourrez alors voir la trace de la pile. Voir la capture d'écran suivante :
Figure 2. Trace de pile d'un plantage 
Instana peut transformer la trace de la pile en informations exploitables en téléchargeant les fichiers de symboles et les fichiers de mappage des sources.
Traitement des incidents
Les plantages de mon application ne sont pas traduits. Pour quelles raisons ?
Vérifiez les fichiers de symboles ou de mappage de sources sur iOS en fonction du type de votre application, et assurez-vous d'avoir bien téléchargé et validé les fichiers de mappage de sources pour la version de l'application à l'origine des plantages. Si la version de l'application à l'origine du plantage ne correspond pas à celle indiquée dans la carte source, Instana ne traduira pas le plantage.
- Identifiez la version de l'application à l'origine du plantage. Pour identifier la version de l'application à l'origine d'une alerte de plantage, procédez comme suit :
- Dans l'application mobile, ouvrez l'onglet « Plantages », cliquez sur l'emplacement d'un plantage, puis cliquez sur « Analyser les plantages ». Vous pouvez voir les balises d'erreur pour chaque occurrence de l'erreur.
- Cliquez sur la balise correspondant à l'occurrence la plus récente du plantage (généralement la balise située tout en haut).
- Faites défiler la page vers le haut et cliquez sur « Télécharger » pour télécharger l'ensemble des balises associées à cet accident.
- Ouvrez le fichier « JSON » que vous avez téléchargé et recherchez la balise avec le
typechampcrash. - Dans cette balise, vérifiez la
appVersionvaleur pour déterminer la version de l'application à l'origine du plantage.
- Vérifiez que vous avez bien téléchargé et validé les fichiers de sourcemap. Une fois vos fichiers téléchargés, vérifiez les éléments suivants dans le
Symbol file upload configurationstableau du menu « Traduction de la trace de pile » de l'onglet « Configuration » de votre application mobile :Files: Le nombre de fichiers pour la configuration téléchargée correspond à ce qui était prévu.Total size: La taille totale des fichiers de carte de sources téléchargés indiqués correspond à ce qui était prévu.Blobs uploaded: Le nombre de blobs téléchargés correspond au nombre total de blobs dans lesquels le fichier de carte de sources a été divisé.Commit status: L'état de la validation s'afficheSuccess. Si leCommit statuss'affiche-, appelez leCommit uploadAPI comme indiqué à l'étape 5 des instructions « Téléchargement des fichiers d' dSYM » ou « Téléchargement des fichiers de mappage ».
J'ai déjà téléchargé et validé les fichiers de carte source et de symboles, mais les plantages antérieurs ne sont pas pris en compte.
Instana ne prend pas en charge la conversion rétroactive des erreurs. Instana ne traduit que les plantages qui surviennent après que les cartes de source et les symboles ont été correctement téléchargés et validés.
Je ne parviens pas à consulter les journaux d'erreurs traduits
Assurez-vous que votre agent est à jour et qu'il utilise la dernière version. Vous pouvez consulter le journal des modifications ici :
- Android : journal des modifications de l'agent Android
- iOS: Journal des modifications de l'agent iOS
Si vous avez suivi toutes ces étapes et que vous ne parvenez toujours pas à consulter les journaux d'erreurs traduits, veuillez contacter l'assistance d' Instana. Si possible, veuillez joindre le fichier « sourcemap » ou « dSYM » à votre ticket d'assistance afin de permettre un débogage efficace du problème.