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 truepož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ý

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.

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.

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.

Snímek obrazovky znázorňující výběr možnosti sjednocení zásobníku volání propojením s účtem úložiště

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.

  1. Vytvořte nový účet úložiště.

  2. 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é.

    Snímek obrazovky znázorňující nastavení úrovně přístupu kontejneru na privátní

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.jsnapří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.mapadrese .

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.

Snímek obrazovky znázorňující přidání úlohy kopírování souboru Azure do kanálu pro nahrání zdrojových map do Azure Blob Storage

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

  1. Na webu Azure Portal zobrazte podrobnosti o výjimce, která je minifikovaná.
  2. Vyberte Unminify( Unminify).
  3. 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:

  1. Přejděte na kartu Vlastnosti prostředku Application Insights.

  2. Vyberte Změnit kontejner objektů blob mapování zdroje.

  3. Jako kontejner zdrojové mapy vyberte jiný kontejner objektů blob.

  4. Vyberte Použít.

    Snímek obrazovky znázorňující překonfigurování vybraného kontejneru objektů blob Azure v podokně Vlastnosti

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.

Animace demonstrující funkci unminify

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

Další kroky