Dela via


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

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.

  1. I Azure Portal navigerar du till målappen och väljer sedan Felsökning.

    Skärmbild av Azure Portal som visar appens översiktssida med knappen Felsökning markerad.

  2. I fönstret Felsökning väljer du appinstansen och vilken typ av dump du vill samla in.

    Skärmbild av fönstret Azure Portal Felsökning.

  3. I fältet Filsökväg anger du monteringssökvägen för din beständiga lagring.

  4. 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.

Nästa steg