Konfigurace sady JavaScript SDK služby Microsoft Azure Monitor Application Insights
Sada JavaScript SDK pro Aplikace Azure lication Insights poskytuje konfiguraci pro sledování, monitorování a ladění webových aplikací.
Konfigurace sady SDK
Tato konfigurační pole jsou volitelná a výchozí hodnota false, pokud není uvedeno jinak.
Pokyny k přidání konfigurace sady SDK najdete v tématu Přidání konfigurace sady SDK.
Name | Type | Výchozí |
---|---|---|
accountId Volitelné ID účtu, pokud vaše aplikace seskupí uživatele do účtů. Žádné mezery, čárky, středníky, rovná se nebo svislé pruhy |
string | null |
addRequestContext Poskytuje způsob, jak rozšířit protokoly závislostí s kontextem na začátku volání rozhraní API. Výchozí hodnota není definována. Pokud konfigurujete xhr související kontext, musíte zkontrolovat, jestli xhr existuje. Pokud konfigurujete fetch související kontext, musíte zkontrolovat, jestli fetch request existujefetch response . V opačném případě možná nebudete dostávat potřebná data. |
(requestContext: IRequestionContext) => {[klíč: řetězec]: any} | nedefinovaný |
ajaxPerfLookupDelay Výchozí hodnota je 25 ms. Doba čekání před opětovným spuštěním hledání časování windows.performance pro požadavek Ajax, doba je v milisekundách a předává se přímo do setTimeout(). |
numerické | 25 |
appId AppId se používá pro korelaci mezi závislostmi AJAX, ke kterým dochází na straně klienta s požadavky na straně serveru. Když je rozhraní Beacon API povolené, nejde ho použít automaticky, ale můžete ho nastavit ručně v konfiguraci. Výchozí hodnota je null |
string | null |
autoTrackPageVisitTime Pokud ano, v zobrazení stránky se čas zobrazení předchozí instrumentované stránky sleduje a odesílá jako telemetrie a pro aktuální zobrazení stránky se spustí nový časovač. Odešle se jako vlastní metrika pojmenovaná PageVisitTime v milliseconds a vypočítá se pomocí funkce Date now() (pokud je k dispozici) a vrátí se do (nové datum()).getTime() if now() is unavailable (IE8 or less). Výchozí hodnota je False. |
boolean | false (nepravda) |
convertUndefined Zadejte uživateli možnost převést nedefinované pole na uživatelem definovanou hodnotu. |
any |
nedefinovaný |
cookieCfg Ve výchozím nastavení je povolené použití souborů cookie, viz nastavení ICookieCfgConfig pro úplné výchozí hodnoty. |
ICookieCfgConfig [Volitelné] (Od 2.6.0) |
nedefinovaný |
cookieDomain Vlastní doména souborů cookie. Je užitečné, pokud chcete sdílet soubory cookie Application Insights napříč subdoménami. (Od verze 2.6.0) Pokud cookieCfg.domain je definována, má přednost před touto hodnotou. |
alias pro cookieCfg.domain [Volitelné] |
null |
cookiePath Vlastní cesta k souboru cookie. Je užitečné, pokud chcete sdílet soubory cookie Application Insights za aplikační bránou. Pokud cookieCfg.path je definováno, má přednost. |
alias pro cookieCfg.path [Volitelné] (Od 2.6.0) |
null |
correlationHeaderDomains Povolení hlaviček korelace pro konkrétní domény |
string[] | nedefinovaný |
correlationHeaderExcludedDomains Zakázání hlaviček korelace pro konkrétní domény |
string[] | nedefinovaný |
correlationHeaderExcludePatterns Zakázání hlaviček korelace pomocí regulárních výrazů |
regex[] | nedefinovaný |
createPerfMgr Funkce zpětného volání, která bude volána k vytvoření instance IPerfManager v případě potřeby a enablePerfMgr je povolena, umožňuje přepsat výchozí vytvoření PerfManager(), aniž by bylo nutné po setPerfMgr() inicializaci. |
(jádro: IAppInsightsCore, notificationManager: INotificationManager) => IPerfManager | nedefinovaný |
customHeaders Možnost, aby uživatel při použití vlastního koncového bodu poskytoval další hlavičky. Při vypnutí prohlížeče se při použití odesílatele signálu nepřidávají vlastní hlavičky. A přidávání vlastních hlaviček se nepodporuje v IE9 nebo starších verzích. |
[{header: string, value: string}] |
nedefinovaný |
diagnosticLogInterval (interní) Interval dotazování (v ms) pro interní frontu protokolování |
numerické | 10000 |
disableAjaxTracking Pokud je pravda, volání Ajax nejsou automatickycollectována. Výchozí hodnota je False. |
boolean | false (nepravda) |
disableCookiesUsage Výchozí false. Logická hodnota, která označuje, jestli se má zakázat používání souborů cookie sadou SDK. Pokud je pravda, sada SDK neukládá ani nečte žádná data ze souborů cookie. (Od verze 2.6.0) Pokud cookieCfg.enabled je definována, má přednost. Po inicializaci prostřednictvím core.getCookieMgr().setEnabled(true) je možné znovu povolit použití souborů cookie. |
alias pro cookieCfg.enabled [Volitelné] |
false (nepravda) |
disableCorrelationHeaders Pokud je false, sada SDK přidá do všech požadavků závislostí dvě hlavičky (Request-Id a Request-Context), aby je korelovala s odpovídajícími požadavky na straně serveru. Výchozí hodnota je False. |
boolean | false (nepravda) |
disableDataLossAnalysis Pokud je false, interní vyrovnávací paměti odesílatele telemetrie se kontrolují při spuštění pro položky, které ještě nebyly odeslány. |
boolean | true |
disableExceptionTracking Pokud je pravda, výjimky nejsou automatickycollectovány. Výchozí hodnota je False. |
boolean | false (nepravda) |
disableFetchTracking Výchozí nastavení disableFetchTracking je false , což znamená, že je povoleno. Ve verzích starších než 2.8.10 však byla ve výchozím nastavení zakázaná. Při nastavení se true požadavky na načtení automaticky neshromažďuje. Výchozí nastavení se změnilo na true false ve verzi 2.8.0. |
boolean | false (nepravda) |
disableFlushOnBeforeUnload Výchozí false. Pokud je true, metoda flush není volána při triggerech událostí onBeforeUnload |
boolean | false (nepravda) |
disableIkeyDeprecationMessage Zakažte chybovou zprávu o vyřazení klíče instrumentace. Pokud je pravda, chybové zprávy se neodesílají. |
boolean | true |
disableInstrumentationKeyValidation Pokud je hodnota true, je kontrola ověření instrumentačního klíče vynechána. Výchozí hodnotou je false. |
boolean | false (nepravda) |
disableTelemetry Pokud je pravda, telemetrie se neshromažďuje ani neodesílají. Výchozí hodnota je False. |
boolean | false (nepravda) |
disableXhr Nepoužívejte xmlHttpRequest nebo XDomainRequest (pro Internet Explorer < verze 9) ve výchozím nastavení pokus o použití fetch() nebo sendBeacon. Pokud není k dispozici žádný jiný přenos, použije XMLHttpRequest. |
boolean | false (nepravda) |
distributedTracingMode Nastaví režim distribuovaného trasování. Pokud je nastavený režim AI_AND_W3C nebo režim W3C, vygenerují se hlavičky kontextu trasování W3C (traceparent/tracestate) a zahrnou se do všech odchozích požadavků. AI_AND_W3C je poskytována kvůli zajištění kompatibility se staršími instrumentovanými službami Application Insights. |
číselná nebo DistributedTracingModes |
DistributedTracing Modes.AI_AND_W3C |
enableAjaxErrorStatusText Výchozí false. Pokud je hodnota true, uveďte logickou hodnotu textu chyb odpovědi v události závislostí na neúspěšných požadavcích AJAX. |
boolean | false (nepravda) |
enableAjaxPerfTracking Výchozí false. Příznak pro povolení vyhledávání a zahrnutí dodatečných časování window.performance prohlížeče v hlášených metrikách Ajax (XHR a načtení). |
boolean | false (nepravda) |
enableAutoRouteTracking Automaticky sledovat změny tras v jednostránkové aplikaci (SPA). Pokud je pravda, každá změna trasy odešle nové zobrazení Stránky do Application Insights. Změny tras hash ( example.com/foo#bar ) se také zaznamenávají jako nová zobrazení stránek.Poznámka: Pokud toto pole povolíte, nepovolujte history objekt pro konfiguraci směrovače React, protože získáte více událostí zobrazení stránky. |
boolean | false (nepravda) |
enableCorsCorrelation Pokud je pravda, sada SDK přidá do všech požadavků CORS dvě hlavičky (Request-Id a Request-Context), aby korelovala odchozí závislosti AJAX s odpovídajícími požadavky na straně serveru. Výchozí hodnota je false |
boolean | false (nepravda) |
enableDebug Pokud je pravda, vyvolá se interní ladicí data jako výjimka místo protokolování, a to bez ohledu na nastavení protokolování sady SDK. Výchozí hodnota je False. Poznámka: Povolením tohoto nastavení dojde při každém výskytu vnitřní chyby k vyřazení telemetrie. Může být užitečné při rychlé identifikaci problémů s konfigurací nebo používáním sady SDK. Pokud při ladění nechcete ztratit telemetrii, zvažte použití loggingLevelConsole nebo loggingLevelTelemetry místo enableDebug . |
boolean | false (nepravda) |
enablePerfMgr Pokud je tato možnost povolená (true), vytvoří místní nástroje perfEvents pro kód, který byl instrumentován k generování funkcí perfEvents (prostřednictvím pomocné rutiny doPerf(). Dá se použít k identifikaci problémů s výkonem v sadě SDK na základě vašeho využití nebo volitelně v rámci vašeho vlastního instrumentovaného kódu. |
boolean | false (nepravda) |
enableRequestHeaderTracking Pokud je hodnota true, hlavičky požadavku AJAX &Fetch jsou sledovány, výchozí hodnota je false. Pokud není nakonfigurovaná funkce ignoreHeaders, nejsou zaprotokolovány hlavičky autorizace a klíče X-API. |
boolean | false (nepravda) |
enableResponseHeaderTracking Pokud je hodnota true, hlavičky odpovědi požadavku AJAX &Fetch se sledují, výchozí hodnota je false. Pokud funkce ignoreHeaders není nakonfigurovaná, hlavička WWW-Authenticate se nezaprotokoluje. |
boolean | false (nepravda) |
enableSessionStorageBuffer Výchozí hodnota true. Pokud je hodnota true, uloží se vyrovnávací paměť se všemi neodeznanými telemetrií v úložišti relací. Vyrovnávací paměť se obnoví při načítání stránky. |
boolean | true |
enableUnhandledPromiseRejectionTracking Pokud je pravda, neošetřené odmítnutí slibů se automaticky přepojí jako chyba JavaScriptu. Pokud je disableExceptionTracking true (nesledovat výjimky), hodnota konfigurace se ignoruje a neošetřené odmítnutí slibů se neohlásí. |
boolean | false (nepravda) |
eventsLimitInMem Počet událostí, které je možné uchovávat v paměti před tím, než sada SDK začne odstraňovat události, když nepoužíváte úložiště relací (výchozí nastavení). |
Číslo | 10000 |
excludeRequestFromAutoTrackingPatterns Zadejte způsob, jak vyloučit konkrétní trasu z automatického sledování pro požadavek XMLHttpRequest nebo Fetch. Pokud je definovaný požadavek Ajax / fetch, že adresa URL požadavku odpovídá vzorům regulárních výrazů, automatické sledování je vypnuté. Výchozí hodnota není definována. |
string[] | RegExp[] | nedefinovaný |
featureOptIn Nastavení podrobností o výslovném souhlasu s funkcí Toto konfigurační pole je k dispozici pouze ve verzi 3.0.3 a novější. |
IFeatureOptIn | nedefinovaný |
idLength Určuje výchozí délku použitou k vygenerování nové náhodné relace a ID uživatelů. Výchozí hodnota je 22, předchozí výchozí hodnota byla 5 (v2.5.8 nebo menší), pokud potřebujete zachovat předchozí maximální délku, měli byste nastavit hodnotu na 5. |
numerické | 22 |
ignoreHeaders Ajax & Fetch request and response headers to be ignored in log data. Pokud chcete přepsat nebo zrušit výchozí nastavení, přidejte do konfigurace pole se všemi záhlavími, která se mají vyloučit, nebo prázdné pole. |
string[] | ["Autorizace", "X-API-Key", "WWW-Authenticate"] |
isBeaconApiDisabled Pokud je false, sada SDK odešle veškerou telemetrii pomocí rozhraní Api signálu . |
boolean | true |
isBrowserLinkTrackingEnabled Výchozí hodnota je False. Pokud je pravda, sada SDK sleduje všechny žádosti o propojení prohlížeče. |
boolean | false (nepravda) |
isRetryDisabled Výchozí false. Pokud je false, zkuste to znovu 206 (částečný úspěch), 408 (vypršení časového limitu), 429 (příliš mnoho požadavků), 500 (vnitřní chyba serveru), 503 (služba není k dispozici) a 0 (offline, jenom pokud je zjištěno) |
boolean | false (nepravda) |
isStorageUseDisabled Pokud je pravda, sada SDK neukládá ani nečte žádná data z místního úložiště a úložiště relací. Výchozí hodnota je False. |
boolean | false (nepravda) |
loggingLevelConsole Zaznamená do konzoly interní chyby Application Insights. 0: vypnuto, 1: Pouze kritické chyby, 2: Vše (chyby a upozornění) |
numerické | 0 |
loggingLevelTelemetry Odesílá interní chyby Application Insights jako telemetrii. 0: vypnuto, 1: Pouze kritické chyby, 2: Vše (chyby a upozornění) |
numerické | 0 |
maxAjaxCallsPerView Výchozí 500 – určuje, kolik volání Ajax se monitoruje na zobrazení stránky. Pokud chcete monitorovat všechna (neomezená) volání Ajax na stránce, nastavte na hodnotu -1. |
numerické | 500 |
maxAjaxPerfLookupAttempts Výchozí hodnota je 3. Maximální počet, kolikrát se má hledat časování window.performance (pokud je k dispozici) je povinné. Ne všechny prohlížeče naplňují okno.performance před hlášením konce požadavku XHR. Pro načtení požadavků se po dokončení přidá. |
numerické | 3 |
maxBatchInterval Jak dlouho dávkové telemetrie před odesláním (milisekundy) |
numerické | 15000 |
maxBatchSizeInBytes Maximální velikost dávky telemetrie Pokud dávka překročí tento limit, okamžitě se odešle a spustí se nová dávka. |
numerické | 10000 |
namePrefix Volitelná hodnota, která se používá jako přípona názvu pro localStorage a název souboru cookie relace. |
string | nedefinovaný |
onunloadDisableBeacon Výchozí false. po zavření karty sada SDK odešle veškerou zbývající telemetrii pomocí rozhraní Beacon API. |
boolean | false (nepravda) |
onunloadDisableFetch Pokud se funkce keepalive fetch podporuje, nepoužívejte ji k odesílání událostí během uvolnění, může se stále vrátit k načtení () bez zachování |
boolean | false (nepravda) |
overridePageViewDuration Pokud je pravda, výchozí chování trackPageView se změní na záznam konce intervalu doby trvání zobrazení stránky při volání trackPageView. Pokud pro trackPageView není k dispozici hodnota false a žádná vlastní doba trvání, vypočítá se výkon zobrazení stránky pomocí rozhraní API pro časování navigace. Výchozí hodnota je False. |
boolean | false (nepravda) |
perfEvtsSendAll Pokud je povoleno enablePerfMgr a IPerfManager aktivuje INotificationManager.perfEvent() tento příznak určuje, jestli je událost aktivována (a odeslána všem naslouchacím procesům) pro všechny události (true) nebo pouze pro nadřazené události (false <výchozí>). Nadřazený objekt IPerfEvent je událost, kdy v okamžiku vytvoření události stále neběží žádná jiná vlastnost IPerfEvent a její nadřazená vlastnost není null nebo není definována. Od verze 2.5.7 |
boolean | false (nepravda) |
vzorkováníPercentage Procento odeslaných událostí Výchozí hodnota je 100, což znamená, že se odesílají všechny události. Nastavte ho, pokud chcete zachovat datový limit pro rozsáhlé aplikace. |
numerické | 100 |
SdkExtension Nastaví název rozšíření sady SDK. Jsou povoleny pouze abecední znaky. Název rozšíření se přidá jako předpona značky ai.internal.sdkVersion (například ext_javascript:2.0.0). Výchozí hodnota je null. |
string | null |
sessionCookiePostfix Volitelná hodnota, která se používá jako přípona názvu pro název souboru cookie relace. Pokud není definováno, namePrefix se použije jako oprava názvu souboru cookie relace. |
string | nedefinovaný |
sessionExpirationMs Relace se zaprotokoluje, pokud po tuto dobu pokračovala v milisekundách. Výchozí hodnota je 24 hodin |
numerické | 86400000 |
sessionRenewalMs Relace se zaprotokoluje, pokud je uživatel po tuto dobu v milisekundách neaktivní. Výchozí hodnota je 30 minut. |
numerické | 1800000 |
throttleMgrCfg Nastavte konfiguraci omezení mgr podle klíče. Toto konfigurační pole je k dispozici pouze ve verzi 3.0.3 a novější. |
{[key: number]: IThrottleMgrConfig} |
nedefinovaný |
userCookiePostfix Volitelná hodnota, která se používá jako přípona názvu uživatelského souboru cookie. Pokud není definováno, není k uživatelskému názvu souboru cookie přidána žádná oprava. |
string | nedefinovaný |
Správa souborů cookie
Počínaje verzí 2.6.0 poskytuje sada Aplikace Azure lication Insights JavaScript SDK správu souborů cookie založenou na instancích, kterou je možné po inicializaci zakázat a znovu povolit.
Pokud jste během inicializace zakázali soubory cookie pomocí disableCookiesUsage
konfigurace, cookieCfg.enabled
můžete je znovu povolit pomocí setEnabled
funkce objektu ICookieMgr.
Správa souborů cookie založená na instanci nahrazuje předchozí globální funkce CoreUtils , disableCookies()
setCookie()
, getCookie()
a deleteCookie()
.
Pokud chcete využít vylepšení stromového zatřesení zavedená ve verzi 2.6.0, doporučujeme už používat globální funkce.
Konfigurace souborů cookie
ICookieMgrConfig je konfigurace souborů cookie pro správu souborů cookie založenou na instanci přidanou ve verzi 2.6.0. Dostupné možnosti umožňují povolit nebo zakázat používání souborů cookie sadou SDK. Můžete také nastavit vlastní domény a cesty souborů cookie a přizpůsobit funkce pro načítání, nastavení a odstraňování souborů cookie.
Možnosti ICookieMgrConfig jsou definovány v následující tabulce.
Name | Type | Výchozí | Popis |
---|---|---|---|
enabled | boolean | true | Aktuální instance sady SDK používá tuto logickou hodnotu k označení, jestli je povolené použití souborů cookie. Pokud je false, instance sady SDK inicializovaná touto konfigurací neukládá ani nečte žádná data ze souborů cookie. |
domain | string | null | Vlastní doména souborů cookie. Je užitečné, pokud chcete sdílet soubory cookie Application Insights napříč subdoménami. Pokud není zadaný, použije hodnotu z kořenové cookieDomain hodnoty. |
path | string | / | Určuje cestu, která se má použít pro soubor cookie, pokud není zadaná, použije žádnou hodnotu z kořenové cookiePath hodnoty. |
ignoreCookies | string[] | nedefinovaný | Zadejte názvy souborů cookie, které se mají ignorovat, způsobí, že se žádný odpovídající název souboru cookie nikdy nečte nebo zapíše. Mohou být stále explicitně vymazány nebo odstraněny. Název v konfiguraci nemusíte opakovat blockedCookies . (od verze 2.8.8) |
blockedCookies | string[] | nedefinovaný | Zadejte názvy souborů cookie, které se nikdy nezapisují. Zabrání vytváření nebo aktualizaci názvu souboru cookie, ale může být přečteno, pokud nejsou zahrnuty také v ignoreCookies. Můžou být i tak explicitně vymazány nebo odstraněny. Pokud není zadaný, nastaví se ve výchozím nastavení stejný seznam v ignoreCookies. (Od verze 2.8.8) |
getCookie | (name: string) => string |
null | Funkce pro načtení pojmenované hodnoty cookie, pokud není k dispozici, používá interní parsování souborů cookie / ukládání do mezipaměti. |
setCookie | (name: string, value: string) => void |
null | Funkce pro nastavení pojmenovaného souboru cookie se zadanou hodnotou volala pouze při přidávání nebo aktualizaci souboru cookie. |
delCookie | (name: string, value: string) => void |
null | Funkce pro odstranění pojmenovaného souboru cookie se zadanou hodnotou oddělenou od setCookie, aby se zabránilo nutnosti parsovat hodnotu, aby bylo možné určit, zda se soubor cookie přidává nebo odebírá. Pokud ho nezadáte, použije interní analýzu a ukládání do mezipaměti. |
Zdrojová mapa
Podpora zdrojových map pomáhá ladit minifikovaný javascriptový kód s možností sjednocení minifikovaného balíčku volání telemetrie výjimek.
- Kompatibilní se všemi aktuálními integracemi na panelu Podrobnosti o výjimce
- Podporuje všechny aktuální a budoucí sady JavaScript SDK, včetně Node.JS, bez nutnosti upgradu sady SDK.
Propojení s účtem Blob Storage
Application Insights podporuje nahrávání zdrojových map do kontejneru objektů blob účtu Azure Storage. Pomocí zdrojových map můžete sjednotit zásobníky volání nalezené na stránce s podrobnostmi o celé transakci. Pomocí zdrojových map můžete také sjednotit všechny výjimky odeslané sadou JavaScript SDK nebo sadou Node.js SDK.
Vytvoření nového účtu úložiště a kontejneru objektů blob
Pokud už máte existující účet úložiště nebo kontejner objektů blob, můžete tento krok přeskočit.
Vytvořte nový účet úložiště.
Vytvořte v účtu úložiště kontejner objektů blob. Nastavte úroveň veřejného přístupu na Privátní , abyste měli jistotu, že vaše zdrojové mapy nejsou veřejně přístupné.
Nasdílení zdrojových map do kontejneru objektů blob
Integrujte kanál průběžného nasazování s účtem úložiště tím, že ho nakonfigurujete tak, aby automaticky nahrál zdrojové mapy do nakonfigurovaného kontejneru objektů blob.
Zdrojové mapy můžete nahrát do kontejneru služby Azure Blob Storage se stejnou strukturou složek, se kterou byly zkompilovány a nasazeny. Běžným případem použití je předpona složky nasazení s její verzí, 1.2.3/static/js/main.js
například . Při sjednocení prostřednictvím kontejneru objektů blob Azure, který se nazývá sourcemaps
, se kanál pokusí načíst zdrojovou mapu umístěnou na sourcemaps/1.2.3/static/js/main.js.map
adrese .
Nahrání zdrojových map přes Azure Pipelines (doporučeno)
Pokud k průběžnému sestavování a nasazování aplikace používáte Azure Pipelines, přidejte do kanálu úlohu kopírování souborů Azure, která automaticky nahraje zdrojové mapy.
Konfigurace prostředku Application Insights pomocí účtu úložiště zdrojové mapy
Máte dvě možnosti konfigurace prostředku Application Insights pomocí účtu úložiště zdrojové mapy.
Karta Podrobnosti o celé transakci
Na kartě Podrobnosti o celé transakci vyberte Unminify. Nakonfigurujte prostředek, pokud není nakonfigurovaný.
- Na webu Azure Portal zobrazte podrobnosti o výjimce, která je minifikovaná.
- Vyberte Unminify( Unminify).
- Pokud váš prostředek není nakonfigurovaný, nakonfigurujte ho.
Karta Vlastnosti
Konfigurace nebo změna účtu úložiště nebo kontejneru objektů blob, který je propojený s prostředkem Application Insights:
Přejděte na kartu Vlastnosti prostředku Application Insights.
Vyberte Změnit kontejner objektů blob mapování zdroje.
Jako kontejner zdrojové mapy vyberte jiný kontejner objektů blob.
Vyberte Použít.
Zobrazení neminifikovanéhoacku volání
Pokud chcete zobrazit neminifikovaný zásobník volání, vyberte na webu Azure Portal položku Telemetrie výjimek, vyhledejte zdrojové mapy, které odpovídají zásobníku volání, a přetáhněte zdrojové mapy do zásobníku volání na webu Azure Portal. Zdrojová mapa musí mít stejný název jako zdrojový soubor rámce zásobníku, ale s příponou map
.
Pokud dojde k problémům, které zahrnují podporu mapování zdrojů pro aplikace JavaScriptu, přečtěte si téma Řešení potíží s podporou mapování zdrojů pro aplikace JavaScript.
Strom se zatřese
Třepání stromu eliminuje nepoužitý kód z konečné sady JavaScriptu.
Pokud chcete využít třepání stromu, naimportujte do kódu pouze nezbytné součásti sady SDK. Tím se nepoužitý kód nezahrne do konečné sady, zmenšuje jeho velikost a zlepšuje výkon.
Vylepšení a doporučení pro roztřesení stromu
Ve verzi 2.6.0 jsme zastaralí a odebrali interní použití těchto statických pomocných tříd, abychom zlepšili podporu algoritmů pro zatřesení stromu. Umožňuje bezpečným vyřazením nepoužívaného kódu balíčky npm.
CoreUtils
EventHelper
Util
UrlHelper
DateTimeUtils
ConnectionStringParser
Funkce se teď exportují jako kořeny nejvyšší úrovně z modulů, což usnadňuje refaktoring kódu pro lepší zatřesení stromem.
Statické třídy byly změněny na objekty const, které odkazují na nové exportované funkce, a budoucí změny se plánují na další refaktoring odkazů.
Strom se zatřese zastaralou funkcí a nahrazení
Tato část se vztahuje jenom na vás, pokud používáte zastaralé funkce a chcete optimalizovat velikost balíčku. Ke zmenšení velikosti a podpoře všech verzí aplikace Internet Explorer doporučujeme používat náhradní funkce.
Existující | Náhrada |
---|---|
CoreUtils | @microsoft/applicationinsights-core-js |
CoreUtils._canUseCookies | Nezaokrouhlovat. Nepoužívejte, protože to způsobí, že všechny odkazy CoreUtils budou zahrnuty do konečného kódu. Refaktorujte zpracování souborů cookie tak, aby se použila appInsights.getCookieMgr().setEnabled(true/false) k nastavení hodnoty a appInsights.getCookieMgr().isEnabled() ke kontrole hodnoty. |
CoreUtils.isTypeof | isTypeof |
CoreUtils.isUndefined | isUndefined |
CoreUtils.isNullOrUndefined | isNullOrUndefined |
CoreUtils.hasOwnProperty | hasOwnProperty |
CoreUtils.isFunction | isFunction |
CoreUtils.isObject | isObject |
CoreUtils.isDate | isDate |
CoreUtils.isArray | isArray |
CoreUtils.isError | isError |
CoreUtils.isString | isString |
CoreUtils.isNumber | isNumber |
CoreUtils.isBoolean | isBoolean |
CoreUtils.toISOString | toISOString nebo getISOString |
CoreUtils.arrForEach | arrForEach |
CoreUtils.arrIndexOf | arrIndexOf |
CoreUtils.arrMap | arrMap |
CoreUtils.arrReduce | arrReduce |
CoreUtils.strTrim | strTrim |
CoreUtils.objCreate | objCreateFn |
CoreUtils.objKeys | objKeys |
CoreUtils.objDefineAccessors | objDefineAccessors |
CoreUtils.addEventHandler | addEventHandler |
CoreUtils.dateNow | dateNow |
CoreUtils.isIE | isIE |
CoreUtils.disableCookies | disableCookies Odkazování buď způsobí, že coreUtils bude odkazován na zpětnou kompatibilitu. Refaktoring zpracování souborů cookie tak, aby používal appInsights.getCookieMgr().setEnabled(false) |
CoreUtils.newGuid | newGuid |
CoreUtils.perfNow | perfNow |
CoreUtils.newId | newId |
CoreUtils.randomValue | randomValue |
CoreUtils.random32 | random32 |
CoreUtils.mwcRandomSeed | mwcRandomSeed |
CoreUtils.mwcRandom32 | mwcRandom32 |
CoreUtils.generateW3CId | generateW3CId |
EventHelper | @microsoft/applicationinsights-core-js |
EventHelper.Attach | attachEvent |
EventHelper.AttachEvent | attachEvent |
EventHelper.Detach | odpojení odtachEvent |
EventHelper.DetachEvent | odpojení odtachEvent |
Util | @microsoft/applicationinsights-common-js |
Util.NotSpecified | StrNotSpecified |
Util.createDomEvent | createDomEvent |
Util.disableStorage | utlDisableStorage |
Util.isInternalApplicationInsightsEndpoint | isInternalApplicationInsightsEndpoint |
Util.canUseLocalStorage | utlCanUseLocalStorage |
Util.getStorage | utlGetLocalStorage |
Util.setStorage | utlSetLocalStorage |
Util.removeStorage | utlRemoveStorage |
Util.canUseSessionStorage | utlCanUseSessionStorage |
Util.getSessionStorageKeys | utlGetSessionStorageKeys |
Util.getSessionStorage | utlGetSessionStorage |
Util.setSessionStorage | utlSetSessionStorage |
Util.removeSessionStorage | utlRemoveSessionStorage |
Util.disableCookies | disableCookies Odkazování buď způsobí, že coreUtils bude odkazován na zpětnou kompatibilitu. Refaktoring zpracování souborů cookie tak, aby používal appInsights.getCookieMgr().setEnabled(false) |
Util.canUseCookies | canUseCookies Odkazování buď způsobí, že coreUtils bude odkazován na zpětnou kompatibilitu. Refaktoring zpracování souborů cookie tak, aby používal appInsights.getCookieMgr().isEnabled() |
Util.disallowsSameSiteNone | uaDisallowsSameSiteNone |
Util.setCookie | coreSetCookie Odkazování způsobí, že nástroje CoreUtils budou odkazovány na zpětnou kompatibilitu. Refaktoring zpracování souborů cookie tak, aby používal appInsights.getCookieMgr().set(name: string, value: string) |
Util.stringToBoolOrDefault | stringToBoolOrDefault |
Util.getCookie | coreGetCookie Odkazování způsobí, že nástroje CoreUtils budou odkazovány na zpětnou kompatibilitu. Refaktoring zpracování souborů cookie tak, aby používal appInsights.getCookieMgr().get(name: string) |
Util.deleteCookie | coreDeleteCookie Odkazování způsobí, že nástroje CoreUtils budou odkazovány na zpětnou kompatibilitu. Refaktoring zpracování souborů cookie tak, aby používal appInsights.getCookieMgr().del(name: string, path?: string) |
Util.trim | strTrim |
Util.newId | newId |
Util.random32 | --- Žádné nahrazení, refaktoring kódu tak, aby používal jádro random32(true) |
Util.generateW3CId | generateW3CId |
Util.isArray | isArray |
Util.isError | isError |
Util.isDate | isDate |
Util.toISOStringForIE8 | toISOString |
Util.getIEVersion | getIEVersion |
Util.msToTimeSpan | msToTimeSpan |
Util.isCrossOriginError | isCrossOriginError |
Util.dump | dumpObj |
Util.getExceptionName | getExceptionName |
Util.addEventHandler | attachEvent |
Util.IsBeaconApiSupported | isBeaconApiSupported |
Util.getExtension | getExtensionByName |
UrlHelper | @microsoft/applicationinsights-common-js |
UrlHelper.parseUrl | urlParseUrl |
UrlHelper.getAbsoluteUrl | urlGetAbsoluteUrl |
UrlHelper.getPathName | urlGetPathName |
UrlHelper.getCompeteUrl | urlGetCompleteUrl |
UrlHelper.parseHost | urlParseHost |
UrlHelper.parseFullHost | urlParseFullHost |
DateTimeUtils | @microsoft/applicationinsights-common-js |
DateTimeUtils.Now | dateTimeUtilsNow |
DateTimeUtils.GetDuration | dateTimeUtilsDuration |
ConnectionStringParser | @microsoft/applicationinsights-common-js |
ConnectionStringParser.parse | parseConnectionString |
Oznámení služby
Oznámení služby je funkce integrovaná do sady SDK, která poskytuje užitečná doporučení, která vám pomůžou zajistit nepřerušované toky telemetrie do Application Insights. Oznámení se v Application Insights zobrazí jako zpráva o výjimce. Zajišťujeme, aby oznámení byla relevantní pro vás na základě nastavení sady SDK, a na základě naléhavosti doporučení upravíme podrobnosti. Doporučujeme nechat oznámení služby zapnutá, ale můžete se odhlásit prostřednictvím featureOptIn
konfigurace. Seznam aktivníchoznámeních
V současné době se odesílají žádná aktivní oznámení.
Řešení problému
Projděte si vyhrazený článek o řešení potíží.
Nejčastější dotazy
Tato část obsahuje odpovědi na běžné otázky.
Jak můžu aktualizovat konfiguraci serveru třetí strany pro sadu JavaScript SDK?
Na straně serveru musí být možné přijímat připojení s těmito hlavičkami. V závislosti na Access-Control-Allow-Headers
konfiguraci na straně serveru je často nutné rozšířit seznam na straně serveru ručním přidáním Request-Id
, Request-Context
a traceparent
(W3C distribuovaná hlavička).
Přístup-control-allow-headers: Request-Id
, traceparent
, Request-Context
, <your header>
Jak můžu zakázat distribuované trasování sady JavaScript SDK?
Distribuované trasování je možné zakázat v konfiguraci.
Jsou odpovědi HTTP 502 a 503 vždy zachyceny službou Application Insights?
Ne. Chyby 502 – Chybná brána a 503 – nedostupná služba nejsou službou Application Insights vždy zachyceny. Pokud se k monitorování používá pouze JavaScript na straně klienta, toto chování by se očekávalo, protože se před stránkou obsahující hlavičku HTML s vykreslovaným fragmentem kódu JavaScriptu monitorování vrátí chybová odpověď.
Pokud byla odpověď 502 nebo 503 odeslána ze serveru s povoleným monitorováním na straně serveru, shromažďují se chyby sadou Application Insights SDK.
I když je na webovém serveru aplikace povolené monitorování na straně serveru, application Insights někdy nezachytí chybu 502 nebo 503. Mnoho moderních webových serverů neumožňuje klientovi komunikovat přímo. Místo toho využívají řešení, jako jsou reverzní proxy servery, aby předávaly informace mezi klientem a front-endovými webovými servery.
V tomto scénáři se klientovi může vrátit odpověď 502 nebo 503 kvůli problému v reverzní vrstvě proxy serveru, takže služba Application Insights ji nezachytí předem. Pokud chcete pomoct zjistit problémy v této vrstvě, možná budete muset předávat protokoly z reverzního proxy serveru do Log Analytics a vytvořit vlastní pravidlo pro kontrolu odpovědí 502 nebo 503. Další informace o běžných příčinách chyb 502 a 503 najdete v tématu Řešení chyb HTTP chyb 502 chybná brána a 503 nedostupná služba ve službě Aplikace Azure Service.