Samla in heapdump och tråddump manuellt och använd Java Flight Recorder i Azure Spring Apps
Kommentar
Basic-, Standard- och Enterprise-planerna kommer att vara inaktuella från och med mitten av mars 2025, med en 3-årig pensionsperiod. Vi rekommenderar att du övergår till Azure Container Apps. Mer information finns i meddelandet om azure Spring Apps-pensionering.
Standardförbrukningen och den dedikerade planen kommer att vara inaktuell från och med den 30 september 2024, med en fullständig avstängning efter sex månader. Vi rekommenderar att du övergår till Azure Container Apps. Mer information finns i Migrera Azure Spring Apps Standard-förbrukning och dedikerad plan till Azure Container Apps.
Den här artikeln gäller för:✅ Basic/Standard ✅ Enterprise
Den här artikeln beskriver hur du manuellt genererar en heapdump eller tråddumpning och hur du startar Java Flight Recorder (JFR).
Effektiv felsökning är viktigt för att säkerställa att du kan åtgärda problem i produktionsmiljöer och hålla verksamheten online. Azure Spring Apps tillhandahåller strömning och frågor för programloggar, omfattande mått som genererar, aviseringar, distribuerad spårning och så vidare. Men när du får aviseringar om begäranden med hög svarstid, JVM-heapläckage eller hög CPU-användning finns det ingen lösning på sista milen. Därför har vi gjort det möjligt för dig att manuellt generera en heapdump, generera en tråddumpning och starta JFR.
Förutsättningar
- En distribuerad Azure Spring Apps-tjänstinstans. Kom igång genom att läsa Snabbstart: Distribuera ditt första program till Azure Spring Apps.
- Minst ett program har redan skapats i tjänstinstansen.
- Din egen beständiga lagring enligt beskrivningen i Så här aktiverar du din egen beständiga lagring i Azure Spring Apps. Den här lagringen används för att spara genererade diagnostikfiler. Sökvägarna som du anger i parametervärdena nedan bör vara under monteringssökvägen för den beständiga lagring som är bunden till din app. Om du vill använda en sökväg under monteringssökvägen måste du skapa undersökvägen i förväg.
Generera en heapdump
Använd följande kommando för att generera en heapdump av din app i 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>
Generera en tråddumpning
Använd följande kommando för att generera en tråddump av din app i 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>
Starta JFR
Använd följande kommando för att starta JFR för din app i 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>
Standardvärdet för duration
är 60 sekunder.
Generera en dump med hjälp av Azure Portal
Använd följande steg för att generera en heap eller tråddump av din app i Azure Spring Apps.
I Azure Portal navigerar du till målappen och väljer sedan Felsökning.
I fönstret Felsökning väljer du appinstansen och vilken typ av dump du vill samla in.
I fältet Filsökväg anger du monteringssökvägen för din beständiga lagring.
Välj Samla in.
Hämta diagnostikfilerna
Gå till målfilens sökväg i din beständiga lagring och leta reda på din dump/JFR. Därifrån kan du ladda ned dem till din lokala dator. Namnet på den genererade filen liknar <app-instance>_heapdump_<time-stamp>.hprof
för heapdumpen, <app-instance>_threaddump_<time-stamp>.txt
för tråddumpningen och <app-instance>_JFR_<time-stamp>.jfr
för JFR-filen.