Řešení potíží s profilerem Přehledy aplikací

Tento článek obsahuje postup řešení potíží a informace, které vám umožní používat profiler Přehledy aplikací.

Používáte příslušný koncový bod Profileru?

Jedinými oblastmi, které vyžadují úpravy koncových bodů, jsou Azure Government a Microsoft Azure provozované společností 21Vianet.

Nastavení aplikace Cloud pro státní správu USA Cloud Čína
Aplikace Přehledy ProfilerEndpoint https://profiler.monitor.azure.us https://profiler.monitor.azure.cn
Aplikace Přehledy Endpoint https://dc.applicationinsights.us https://dc.applicationinsights.azure.cn

Běží vaše aplikace na správné verzi?

Profiler je podporován v rozhraní .NET Framework novější než 4.6.2.

Pokud je vaše webová aplikace ASP.NET Core, musí běžet na nejnovějším podporovaném modulu runtime ASP.NET Core.

Používáte správný plán služby Azure?

Profiler se v současné době nepodporuje u bezplatných nebo sdílených plánů služby App Service. Pokud chcete začít pracovat, upgradujte na jeden ze základních plánů profileru.

Poznámka:

Plán consumption služby Azure Functions se nepodporuje. Viz Profilovat živou aplikaci Azure Functions s Přehledy aplikace.

Hledáte data profileru ve správném časovém rámci?

Pokud jsou data, která se pokoušíte zobrazit, starší než dva týdny, zkuste omezit časový filtr a zkuste to znovu. Trasování se odstraní po sedmi dnech.

Máte přístup k bráně?

Zkontrolujte, že brána firewall nebo proxy servery neblokují váš přístup k této webové stránce.

Dochází k vypršení časového limitu nebo potřebujete zkontrolovat, jestli je Profiler spuštěný?

Data profilace se nahrají jenom v případech, kdy je možné je připojit k požadavku, ke kterému došlo při spuštění profileru. Profiler shromažďuje data po dobu dvou minut každou hodinu. Profiler můžete aktivovat také spuštěním relace profilace.

Profiler zapisuje trasovací zprávy a vlastní události do prostředku Přehledy aplikace. Pomocí těchto událostí můžete zjistit, jak profiler běží.

Vyhledejte zprávy trasování a vlastní události odeslané profilerem do vašeho prostředku Přehledy aplikace.

  1. V prostředku Přehledy aplikace vyberte v horní nabídce možnost Hledat.

    Screenshot that shows selecting the Search button from the Application Insights resource.

  2. K vyhledání relevantních dat použijte následující hledaný řetězec:

    stopprofiler OR startprofiler OR upload OR ServiceProfilerSample
    

    Screenshot that shows the search results from aforementioned search string.

    Předchozí výsledky hledání zahrnují dva příklady hledání ze dvou prostředků umělé inteligence:

    • Pokud aplikace nepřijímá požadavky, když je Profiler spuštěný, zpráva vysvětluje, že nahrávání se zrušilo kvůli žádné aktivitě.

    • Profiler spustil a odeslal vlastní události, když zjistil požadavky, ke kterým došlo při spuštění profileru. ServiceProfilerSample Pokud se zobrazí vlastní událost, znamená to, že byl zaznamenán profil a je k dispozici v podokně Výkon Přehledy aplikace.

    Pokud se nezobrazí žádné záznamy, Profiler není spuštěný nebo vypršel časový limit. Ujistěte se, že jste ve službě Azure povolili Profiler.

Dvojité počítání v paralelních vláknech

Pokud jsou k požadavku přidruženy dvě nebo více paralelních vláken, může být celková časová metrika v prohlížeči zásobníku větší než doba trvání požadavku. V takovém případě je celkový čas vlákna větší než skutečný čas uplynulého času.

Například jedno vlákno může čekat na dokončení druhého vlákna. Prohlížeč se pokusí zjistit tuto situaci a vynechá nezajímavé čekání. Při tom se zobrazuje příliš mnoho informací na straně zobrazení příliš velkého množství informací, a nikoli vynechání důležitých informací.

Když v trasování uvidíte paralelní vlákna, určete, která vlákna čekají, abyste mohli identifikovat horkou cestu pro požadavek. Obvykle vlákno, které rychle přejde do stavu čekání, čeká na ostatní vlákna. Soustřeďte se na ostatní vlákna a ignorujte čas v čekajících vláknech.

Řešení potíží s Profilerem ve vaší konkrétní službě Azure

Následující části vás provedou postupem řešení potíží pro použití Profileru ve službě Aplikace Azure nebo v Cloud Services Azure.

Azure App Service

Aby Profiler fungoval správně, ujistěte se, že:

  • Vaše webová aplikace má povolené Přehledy aplikace se správným nastavením.

  • Aplikace Přehledy Profiler3 WebJob je spuštěná. Postup kontroly webové úlohy:

    1. Jdi do Kudu. Na webu Azure Portal:

      1. V instanci služby App Service vyberte v levém podokně rozšířené nástroje .
      2. Vyberte Přejít.
    2. V horní nabídce vyberte Řídicí panel Webové úlohy Nástroje>. Otevře se podokno Webové úlohy .

      Pokud se aplikace Přehledy Profiler3 nezobrazí, restartujte aplikaci app Service.

      Screenshot that shows the WebJobs pane, which displays the name, status, and last runtime of jobs.

    3. Pokud chcete zobrazit podrobnosti webové úlohy včetně protokolu, vyberte odkaz Application Přehledy Profiler3. Otevře se podokno Podrobnosti průběžné webové úlohy.

      Screenshot that shows the Continuous WebJob Details pane.

Pokud profiler ještě nefunguje, stáhněte si protokol a odešlete lístek podpora Azure.

Kontrola stránky stavu rozšíření webu diagnostické služby

Pokud profiler byl povolen prostřednictvím podokna Přehledy aplikace na portálu, bylo povoleno rozšířením webu Diagnostické služby. Stavovou stránku tohoto rozšíření můžete zkontrolovat tak, že přejdete na https://{site-name}.scm.azurewebsites.net/DiagnosticServices.

Poznámka:

Doména odkazu na stavovou stránku se liší v závislosti na cloudu. Tato doména je stejná jako web pro správu Kudu pro App Service.

Na stránce stavu se zobrazuje stav instalace agentů Profileru a Snapshot Debuggeru . Pokud došlo k neočekávané chybě, zobrazí se spolu s postupem, jak ji opravit.

K získání základní adresy URL této stavové stránky můžete použít web pro správu Kudu pro Službu App Service:

  1. Otevřete aplikaci App Service na webu Azure Portal.
  2. Vyberte Rozšířené nástroje.
  3. Vyberte Přejít.
  4. Na webu pro správu Kudu:
    1. Připojte k adrese URL /DiagnosticServices.
    2. Stiskněte klávesu Enter.

Končí jako https://<kudu-url>/DiagnosticServices.

Stavová stránka se zobrazí podobně jako v následujícím příkladu.

Screenshot that shows the Diagnostic Services status page.

Poznámka:

Bez kódu instalace application Přehledy Profiler se řídí zásadami podpory .NET Core. Další informace o podporovanýchmodulech

Ruční instalace

Když nakonfigurujete Profiler, provede se aktualizace nastavení webové aplikace. V případě potřeby můžete aktualizace použít ručně.

Příliš mnoho aktivních relací profilace

Profiler můžete povolit na maximálně čtyřech webových aplikacích, které běží ve stejném plánu služeb. Pokud máte více než čtyři, profiler může vyvolat následující chybu:

Microsoft.ServiceProfiler.Exceptions.TooManyETWSessionException

Pokud ho chcete vyřešit, přesuňte některé webové aplikace do jiného plánu služeb.

Chyba nasazení: Adresář není prázdný 'D:\home\site\wwwroot\App_Data\jobs'

Pokud webovou aplikaci znovu nasazujete do prostředku Web Apps s povoleným profilerem, může se zobrazit následující zpráva:

"Adresář není prázdný 'D:\home\site\wwwroot\App_Data\jobs'"

K této chybě dochází, pokud spouštíte nasazení webu ze skriptů nebo z Azure Pipelines. Vyřešte ho přidáním následujících parametrů nasazení do úlohy Nasazení webu:

-skip:Directory='.*\\App_Data\\jobs\\continuous\\ApplicationInsightsProfiler.*' -skip:skipAction=Delete,objectname='dirPath',absolutepath='.*\\App_Data\\jobs\\continuous$' -skip:skipAction=Delete,objectname='dirPath',absolutepath='.*\\App_Data\\jobs$'  -skip:skipAction=Delete,objectname='dirPath',absolutepath='.*\\App_Data$'

Tyto parametry odstraní složku používanou aplikací Přehledy Profiler a odblokují proces opětovného nasazení. Nemají vliv na instanci profileru, která je aktuálně spuštěná.

Je spuštěný profiler Přehledy aplikace?

Profiler běží ve webové aplikaci jako souvislá webová úloha. Prostředek webové aplikace můžete otevřít na webu Azure Portal. V podokně WebJobs zkontrolujte stav aplikace Přehledy Profiler. Pokud není spuštěný, otevřete protokoly a získejte další informace.

Virtuální počítače a cloudové služby Azure

Pokud chcete zjistit, jestli je Profiler správně nakonfigurovaný službou Azure Diagnostics:

  1. Ověřte, že obsah nasazené konfigurace diagnostiky Azure je to, co očekáváte.

  2. Ujistěte se, že Azure Diagnostics předává správný klíč iKey na příkazovém řádku Profileru.

  3. Zkontrolujte soubor protokolu profileru a zjistěte, jestli se profiler spustil, ale vrátil chybu.

Pokud chcete zkontrolovat nastavení, která se použila ke konfiguraci diagnostiky Azure:

  1. Přihlaste se k virtuálnímu počítači.

  2. Otevřete soubor protokolu v tomto umístění. Verze modulu plug-in může být na vašem počítači novější.

    Pro virtuální počítače:

    c:\WindowsAzure\logs\Plugins\Microsoft.Azure.Diagnostics.PaaSDiagnostics\1.11.3.12\DiagnosticsPlugin.log
    

    Pro Azure Cloud Services:

    c:\logs\Plugins\Microsoft.Azure.Diagnostics.PaaSDiagnostics\1.11.3.12\DiagnosticsPlugin.log
    
  3. V souboru vyhledejte řetězec WadCfg a vyhledejte nastavení předaná virtuálnímu počítači pro konfiguraci diagnostiky Azure.

  4. Zkontrolujte, jestli je klíč iKey používaný jímkou Profileru správný.

  5. Zkontrolujte příkazový řádek, který se používá ke spuštění Profileru. Argumenty použité ke spuštění Profileru jsou v následujícím souboru (jednotka může být c: nebo d: může být skrytá):

    Pro virtuální počítače:

    C:\ProgramData\ApplicationInsightsProfiler\config.json
    

    Pro Azure Cloud Services:

    D:\ProgramData\ApplicationInsightsProfiler\config.json
    
  6. Ujistěte se, že je klíč iKey na příkazovém řádku Profileru správný.

  7. Pomocí cesty nalezené v předchozím souboru config.json zkontrolujte soubor protokolu profileru s názvem BootstrapN.log. Zobrazuje se:

    • Informace o ladění, které indikují nastavení, která Profiler používá.
    • Stav a chybové zprávy z Profileru

    Soubor najdete:

    Pro virtuální počítače:

    C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.Diagnostics.IaaSDiagnostics\1.17.0.6\ApplicationInsightsProfiler
    

    Pro Azure Cloud Services:

    C:\Logs\Plugins\Microsoft.Azure.Diagnostics.IaaSDiagnostics\1.17.0.6\ApplicationInsightsProfiler
    
  8. Pokud je Profiler spuštěný, když vaše aplikace přijímá požadavky, zobrazí se následující zpráva: "Aktivita zjištěná z iKey".

  9. Po nahrání trasování se zobrazí následující zpráva: "Spustit nahrání trasování".

Úprava pravidel proxy serveru sítě nebo brány firewall

Pokud se vaše aplikace připojuje k internetu přes proxy server nebo bránu firewall, možná budete muset aktualizovat pravidla pro komunikaci s Profilerem.

IP adresy používané službou Application Přehledy Profiler jsou součástí značky služby Azure Monitor. Další informace najdete v dokumentaci ke značky služeb.

Technická podpora

Pokud stále potřebujete pomoc, odešlete lístek podpory na webu Azure Portal. Zahrňte ID korelace z chybové zprávy.