Capturer le vidage de tas et le vidage de thread manuellement et utiliser Java Flight Recorder dans Azure Spring Apps
Remarque
Les plans Essentiel, Standard et Entreprise seront déconseillés à compter de la mi-mars 2025, avec une période de mise hors service de 3 ans. Nous vous recommandons de passer à Azure Container Apps. Pour plus d’informations, consultez l’annonce de mise hors service d’Azure Spring Apps.
Le plan de consommation standard et dédiée sera déconseillé à compter du 30 septembre 2024, avec un arrêt complet après six mois. Nous vous recommandons de passer à Azure Container Apps. Pour plus d’informations, consultez Migrer le plan de consommation standard et dédiée Azure Spring Apps vers Azure Container Apps.
Cet article s’applique à :✅ Essentiel/Standard ✅ Entreprise
Cet article explique comment générer manuellement un vidage de tas ou un vidage de thread et comment démarrer Java Flight Recorder (JFR).
Un dépannage efficace est essentiel pour vous permettre de résoudre les problèmes dans les environnements de production et de garder votre entreprise en ligne. Azure Spring Apps fournit des fonctionnalités de streaming et de requête dans les journaux des applications, des métriques riches, des alertes, le suivi distribué, etc. Toutefois, lorsque vous recevez des alertes concernant des requêtes avec une latence élevée, une fuite du tas JVM ou une utilisation élevée de l’UC, il n’existe aucune solution de dernier kilomètre. C’est pourquoi nous vous permettons de générer manuellement un vidage de tas ou un vidage de thread et de lancer JFR.
Prérequis
- Une instance de service Azure Spring Apps déployée. Pour commencer, consultez Démarrage rapide : Déployer votre première application sur Azure Spring Apps.
- Au moins une application déjà créée dans votre instance de ce service.
- Votre propre stockage persistant comme décrit dans Guide pratique pour activer votre propre stockage persistant dans Azure Spring Apps. Ce stockage est utilisé pour enregistrer les fichiers de diagnostic générés. Les chemins d’accès que vous fournissez dans les valeurs de paramètres ci-dessous doivent se trouver sous le chemin de montage du stockage persistant lié à votre application. Si vous souhaitez utiliser un chemin d’accès sous le chemin de montage, veillez à créer le sous-tracé au préalable.
Générer un head dump
Utilisez la commande suivante pour générer un vidage du tas de votre application dans Azure Spring Apps.
az spring app deployment generate-heap-dump \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--app <app-name> \
--deployment <deployment-name> \
--app-instance <app-instance name> \
--file-path <your-target-file-path-in-your-persistent-storage-mount-path>
Générer un thread dump
Utilisez la commande suivante pour générer un vidage du thread de votre application dans Azure Spring Apps.
az spring app deployment generate-thread-dump \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--app <app-name> \
--deployment <deployment-name> \
--app-instance <app-instance name> \
--file-path <your-target-file-path-in-your-persistent-storage-mount-path>
Démarrer JFR
Utilisez la commande suivante pour démarrer JFR pour votre application dans Azure Spring Apps.
az spring app deployment start-jfr \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--app <app-name> \
--deployment <deployment-name> \
--app-instance <app-instance name> \
--file-path <your-target-file-path-in-your-persistent-storage-mount-path> \
--duration <duration-of-JFR>
La valeur par défaut de duration
est de 60 secondes.
Générer un fichier de sauvegarde à l’aide du Portail Azure
Pour générer un vidage du segment de mémoire ou du thread de votre application dans Azure Spring Apps, procédez comme suit.
Dans le Portail Azure, accédez à votre application cible, puis sélectionnez Résolution des problèmes.
Dans le volet Résolution des problèmes, sélectionnez l’instance de l’application et le type de vidage que vous souhaitez collecter.
Dans le champ Chemin d’accès du fichier, spécifiez le chemin de montage de votre stockage persistant.
Sélectionnez Collecter.
Récupérer vos fichiers de diagnostic
Accédez au chemin d’accès du fichier cible dans votre stockage persistant et recherchez votre vidage/JFR. À partir de là, vous pouvez les télécharger sur votre ordinateur local. Le nom du fichier généré est semblable à <app-instance>_heapdump_<time-stamp>.hprof
pour le vidage de tas, à <app-instance>_threaddump_<time-stamp>.txt
pour le vidage de thread et à <app-instance>_JFR_<time-stamp>.jfr
pour le fichier JFR.