Analyse des plantages d' iOS app s à l'aide de dSYM fichiers
Vous pouvez consulter les détails des pannes d' iOS app sur Instana. Les détails incluent des traces de pile pour toutes les unités d'exécution actives de votre application mobile. Ces traces de pile contiennent l'adresse mémoire et le nom de la fonction brute. Vous pouvez utiliser Instana pour traduire la trace de la pile en informations exploitables.
Pour traduire les données, Instana nécessite un fichier de symboles de débogage ( dSYM ) provenant de iOS app. Le fichier dSYM est utilisé pour la symbolique. La symbolisation est le processus de transformation d'une adresse mémoire active dans un format lisible par l'utilisateur.
Pour traduire la trace de la pile, téléchargez les dSYM fichiers sur Instana. Vous pouvez télécharger dSYM des fichiers en effectuant des appels ` Web REST API `. Une fois les dSYM fichiers téléchargés, des informations supplémentaires concernant le plantage s'affichent dans l'interface utilisateur d' Instana. Pour afficher les détails, cliquez sur Unités d'exécution en panne dans l'onglet Pannes . Pour plus d'informations, voir Crashes.
Téléchargement dSYM de fichiers
Assurez-vous que les conditions préalables suivantes sont remplies avant de télécharger un dSYM fichier :
- Un jeton d' API e est créé avec des autorisations de configuration activées pour la surveillance des applications mobiles. Pour plus d'informations, consultez la page « API Tokens ».
- Les cartes sources sont stockées pour l'édition personnalisée auto-hébergée ( Kubernetes ou Red Hat OpenShift Container Platform ). Pour plus d'informations, consultez la section « Configuration du stockage externe ».
- Assurez-vous que le
dSYMfichier que vous téléchargez correspond bien à la version actuelle de l'application. Par exemple, chaque fois que vous mettez à jour votre application, vous devez télécharger le fichierdSYMmis à jour.
Pour télécharger un dSYM fichier sur Instana, procédez comme suit :
Dans l'interface utilisateur d' Instana, créez une configuration pour télécharger le
dSYMfichier :Go vers Sites web et applications mobiles > Applications mobiles.
Cliquez sur une application mobile. Le tableau de bord de l'application mobile s'affiche.
Cliquez sur Configuration > Conversion de trace de pile.
Figure 1. Vue des configurations de téléchargement de fichiers de symboles 
Cliquez sur Ajouter une configuration. La boîte de dialogue Nouvelle configuration de téléchargement de fichier de symboles s'affiche.
Dans la zone Description , entrez une description pour le téléchargement.
Cliquez sur Créer. La boîte de dialogue Modifier la configuration de téléchargement du fichier de symboles s'affiche. Utilisez les API REST Web affichées dans la boîte de dialogue pour télécharger le fichier
dSYM. Voir l'étape 3.Cliquez sur Sauvegarder. La configuration est sauvegardée.
Remarque : vous pouvez télécharger jusqu'à 1 024 configurations de carte source par application mobile. La capacité de stockage maximale pour les configurations de cartes source par application mobile est de 2 048 Mo. Pour augmenter cette limite, veuillez contacter le service d'assistance d' Instana.Compressez vos fichiers
dSYMdans un fichier.tgz:tar czf <archive name>.tgz <files or locations>Un exemple de la commande est présenté dans le fragment suivant:
tar czf your_app.dSYM.tgz your_app.dSYM_folderSi la taille du fichier compressé dépasse 10 Mo, divisez le fichier
.tgzen plusieurs objets BLOB (9 Mo chacun):split -b 9m <archive name>.tgz <file>.tgz_blob_Un exemple de la commande est présenté dans le fragment suivant:
split -b 9m your_dSYM_file.tgz your_dSYM_file.tgz_blob_Téléchargez le fichier via l' REST API Web Instana. Effectuez l'une des étapes suivantes :
Si le téléchargement contient plusieurs objets BLOB, exécutez:
curl -L -X PUT \ 'https://$UNIT-$TENANT.instana.io/api/mobile-app-monitoring/config/$MOBILE_APP_ID/sourcemap-upload/$UPLOAD_CONFIG_ID/form' \ -H 'authorization: apiToken $API_TOKEN' \ -F 'fileId="$BUNDLE_IDENTIFIER_OF_APP, for example com.instana.ios.testapp1"' \ -F 'fileType="dSYM"' \ -F 'blobIndex=1' \ -F 'sourceMap=@"$LOCAL_SYMBOLFILE_LOCATION"'Remarque : l' blobIndex e commence à 1, et non à 0. Pour chaque blob suivant, augmentez l' blobIndex e de 1.Si le téléchargement ne contient qu'un seul fichier, exécutez:
curl -L -X PUT \ 'https://$UNIT-$TENANT.instana.io/api/mobile-app-monitoring/config/$MOBILE_APP_ID/sourcemap-upload/$UPLOAD_CONFIG_ID/form' \ -H 'authorization: apiToken $API_TOKEN' \ -F 'fileId="$BUNDLE_IDENTIFIER_OF_APP, for example com.instana.ios.testapp1"' \ -F 'fileType="dSYM"' \ -F 'sourceMap=@"$LOCAL_SYMBOLFILE_LOCATION"'Si la taille du fichier compressé dépasse 10 Mo, un message d'erreur
request entity too larges'affiche. Voir l'étape 3.
Valider le téléchargement:
curl -L -X PUT \ 'https://$UNIT-$TENANT.instana.io/api/mobile-app-monitoring/config/$MOBILE_APP_ID/sourcemap-upload/$UPLOAD_CONFIG_ID/commit' \ -H 'authorization: apiToken $API_TOKEN' \ -F 'fileId="$BUNDLE_IDENTIFIER_OF_APP, for example com.instana.ios.testapp1"' \ -F 'fileType="dSYM"'
Téléchargez tous les blobs avant d'exécuter la commande de validation. Vous pouvez consulter le nombre de blobs téléchargés pour chaque carte source dans l'interface utilisateur d' Instana. Pour une carte source qui n'utilise pas le blobbing, le nombre de blobs est indiqué comme étant 1.
Success.Supprimer un dSYM fichier de Instana
Pour supprimer un dSYM fichier d' Instana, procédez de l'une des manières suivantes :
Go Accédez à Sites Web et applications mobiles > Applications mobiles > Configuration > Traduction de la trace de pile, puis cliquez sur l'icône Supprimer en regard de la configuration.
Passez un appel « Web REST API ». Un exemple de commande est présenté dans l'exemple suivant:
curl -L -X PUT \ 'https://$UNIT-$TENANT.instana.io/api/mobile-app-monitoring/config/$MOBILE_APP_ID/sourcemap-upload/$UPLOAD_CONFIG_ID/clear' \ -H 'authorization: apiToken $API_TOKEN'