Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Azure Application Insights JavaScript SDK tillhandahåller konfiguration för spårning, övervakning och felsökning av dina webbprogram.
SDK-konfiguration
De här konfigurationsfälten är valfria och standardvärdet false om inget annat anges.
Anvisningar om hur du lägger till SDK-konfiguration finns i Lägga till SDK-konfiguration.
| Namn | Typ | Standardvärde | 
|---|---|---|
| konto-ID Ett valfritt konto-ID om appen grupperar användare till konton. Inga blanksteg, kommatecken, semikolon, likhetstecken eller lodräta staplar | sträng | NULL | 
| LäggTillRequestContext Ge ett sätt att utöka beroendeloggar med kontext i början av ett API-anrop. Standardvärdet är odefinierat. Du måste kontrollera om xhrfinns när du konfigurerar kontext relaterad tillxhr. Du måste kontrollera omfetch requestochfetch responsefinns om du konfigurerarfetchrelaterad kontext. Annars kanske du inte får de data du behöver. | (requestContext: IRequestionContext) => {[key: string]: any} | odefinierad | 
| ajaxPerfLookupDelay Standardinställningen är 25 ms. Hur lång tid det tar att vänta innan du försöker igen för att hitta tidsinställningar för windows.performance för en Ajax-begäran, tiden är i millisekunder och skickas direkt till setTimeout(). | numerisk | 25 | 
| app-ID AppId används för korrelationen mellan AJAX-beroenden som sker på klientsidan med begäranden på serversidan. När Beacon API är aktiverat kan det inte användas automatiskt, men kan anges manuellt i konfigurationen. Standardvärdet är null | sträng | NULL | 
| autoTrackPageVisitTime (automatisk spårning av sidbesökstid) Om det är sant, spåras den tidigare instrumenterade sidans visningstid i en sidvy och skickas som telemetri, och en ny timer startas för den aktuella sidan. Det skickas som ett anpassat mått med namnet PageVisitTimeimillisecondsoch beräknas via funktionen Date now() (om tillgängligt) och återgår till (nytt datum()).getTime() om now() inte är tillgänglig (IE8 eller mindre). Standardvärdet är falskt. | booleskt | falskt | 
| konvertera odefinierad Ge användaren ett alternativ för att konvertera odefinierat fält till användardefinierat värde. | any | odefinierad | 
| cookieCfg Som standard är cookie-användning aktiverad, se inställningarna i ICookieCfgConfig för fullständiga standardinställningar. | ICookieCfgConfig [Valfritt] (Sedan 2.6.0) | odefinierad | 
| cookie-domän Anpassad cookiedomän. Det är användbart om du vill dela Application Insights-cookies mellan underdomäner. (Sedan v2.6.0) Om cookieCfg.domaindefinieras har det företräde framför det här värdet. | alias för cookieCfg.domain[Valfritt] | NULL | 
| cookiePath Anpassad cookiesökväg. Det är användbart om du vill dela Application Insights-cookies bakom en programgateway. Om cookieCfg.pathhar definierats har det företräde. | alias för cookieCfg.path[Valfritt] (Sedan 2.6.0) | NULL | 
| korrelationsrubrikdomäner Aktivera korrelationshuvuden för specifika domäner | sträng[] | odefinierad | 
| korrelationshuvudexkluderade domäner Inaktivera korrelationshuvuden för specifika domäner | sträng[] | odefinierad | 
| korrelationshuvuduteslutningsmönster Stäng av korrelationshuvuden med reguljära uttryck | regex[] | odefinierad | 
| createPerfMgr Återanropsfunktionen som anropas för att skapa en IPerfManager-instans när det behövs och enablePerfMgrär aktiverad gör att du kan åsidosätta standardskapandet av en PerfManager() utan att behöva görasetPerfMgr()det efter initieringen. | (kärna: IAppInsightsCore, notificationManager: INotificationManager) => IPerfManager | odefinierad | 
| customHeaders Möjligheten för användaren att ange extra rubriker när du använder en anpassad slutpunkt. customHeaders läggs inte till när webbläsaren stängs av när beacon-sändare används. Och att lägga till anpassade rubriker stöds inte på IE9 eller tidigare. | [{header: string, value: string}] | odefinierad | 
| diagnosticLogInterval (internt) Avsökningsintervall (i ms) för intern loggningskö | numerisk | 10 000 | 
| inaktiveraAjaxSpårning Om det är sant hämtas inte Ajax-anrop automatiskt. Standardvärdet är falskt. | booleskt | falskt | 
| inaktiveraCookiesAnvändning Standard falskt. Ett booleskt värde som anger om du vill inaktivera användningen av cookies av SDK:et. Om det är sant lagrar eller läser inte SDK:t några data från cookies. (Sedan v2.6.0) Om cookieCfg.enableddefinieras har det företräde. Cookieanvändning kan återaktiveras efter initiering via core.getCookieMgr().setEnabled(true). | alias för cookieCfg.enabled[Valfritt] | falskt | 
| inaktiveraKorrelationshuvuden Om det är falskt lägger SDK:t till två huvuden ("Request-Id" och "Request-Context") till alla beroendebegäranden för att korrelera dem med motsvarande begäranden på serversidan. Standardvärdet är falskt. | booleskt | falskt | 
| inaktiveraDataförlustanalys Om det är falskt kontrolleras interna telemetrisändarbuffertar vid start för objekt som ännu inte har skickats. | booleskt | sann | 
| disableExceptionTracking (inaktivera undantagsspårning) Om det är sant hämtas inte undantag automatiskt. Standardvärdet är falskt. | booleskt | falskt | 
| inaktiveraHämtningsspårning Standardinställningen för disableFetchTrackingärfalse, vilket innebär att den är aktiverad. Men i versioner före 2.8.10 inaktiverades den som standard. När värdettrueär inställt på samlas inte Fetch-begäranden in automatiskt. Standardinställningen ändrades fråntruetillfalsei version 2.8.0. | booleskt | falskt | 
| inaktiveraFlushVidFörAvslutandeLaddning Standard falskt. Om det är sant anropas inte flush-metoden när onBeforeUnload-händelsen utlöses. | booleskt | falskt | 
| Avaktivera Ikey Föråldringsmeddelande Inaktivera felmeddelande om utfasning av instrumentationsnyckel. Om sant skickas inte felmeddelanden. | booleskt | sann | 
| InactivateInstrumenteringsnyckelvalidering Om sant är, kringgås instrumenteringsnyckelns verifieringskontroll. Standardvärdet är "falsk". | booleskt | falskt | 
| avaktivera telemetri Om sant samlas inte telemetri in eller skickas. Standardvärdet är falskt. | booleskt | falskt | 
| inaktiveraXhr Använd inte XMLHttpRequest eller XDomainRequest (för Internet Explorer < version 9) som standard i stället för att försöka använda fetch() eller sendBeacon. Om ingen annan transport är tillgänglig använder den XMLHttpRequest | booleskt | falskt | 
| distribuerad spårningsläge Anger det distribuerade spårningsläget. Om AI_AND_W3C läge eller W3C-läge har angetts genereras W3C-kontextrubriker (traceparent/tracestate) och inkluderas i alla utgående begäranden. AI_AND_W3C tillhandahålls för backkompatibilitet med alla äldre Application Insights-instrumenterade tjänster. | numerisk eller DistributedTracingModes | DistributedTracing Modes.AI_AND_W3C | 
| enableAjaxErrorStatusText (aktivera Ajax-felstatusmeddelandetext) Standard falskt. Om sant, inkludera data om svarsfel och text boolesk inom beroendehändelsen vid misslyckade AJAX-begäranden. | booleskt | falskt | 
| enableAjaxPerfTracking Standard falskt. Flagga för att aktivera sökning och inkludering av ytterligare prestandatider för webbläsarfönster i de rapporterade Ajax-måtten (XHR och hämtning). | booleskt | falskt | 
| aktivera automatisk ruttningsspårning Spåra routningsändringar automatiskt i ensidesprogram (SPA). Om det är sant skickar varje vägändring en ny sidvisning till Application Insights. Ändringar av hash-väg ( example.com/foo#bar) registreras också som nya sidvyer.Obs! Om du aktiverar det här fältet aktiverar historydu inte objektet för React-routerkonfigurationen eftersom du får flera sidvisningshändelser. | booleskt | falskt | 
| aktiveraCorsCorrelation Om det är sant lägger SDK:t till två huvuden ("Request-Id" och "Request-Context") till alla CORS-begäranden för att korrelera utgående AJAX-beroenden med motsvarande begäranden på serversidan. Standardvärdet är falskt | booleskt | falskt | 
| aktivera felsökning Om det är sant genereras interna felsökningsdata som ett undantag i stället för att loggas, oavsett SDK-loggningsinställningar. Standardvärdet är falskt. Obs! Om du aktiverar den här inställningen blir telemetrin borttagen när ett internt fel inträffar. Det kan vara användbart för att snabbt identifiera problem med din konfiguration eller användning av SDK. Om du inte vill förlora telemetri vid felsökning kan du överväga att använda loggingLevelConsoleellerloggingLevelTelemetryi stället förenableDebug. | booleskt | falskt | 
| enablePerfMgr När det är aktiverat (sant) skapas lokala perfEvents för kod som har instrumenterats för att generera perfEvents (via doPerf()-hjälpen). Den kan användas för att identifiera prestandaproblem i SDK:t baserat på din användning eller eventuellt i din egen instrumenterade kod. | booleskt | falskt | 
| aktiveraBegäranRubrikSpårning Om sant, spåras AJAX- och Fetch-begärandehuvuden, annars är standardvärdet falskt. Om ignoreHeaders inte har konfigurerats loggas inte auktoriserings- och X-API-key-huvuden. | booleskt | falskt | 
| aktiveraSpårningAvSvarsheader Om det är sant spåras SVARshuvuden för AJAX och Fetch-begäran. Standardvärdet är falskt. Om ignoreHeaders inte har konfigurerats loggas inte WWW-Authenticate-huvudet. | booleskt | falskt | 
| aktiveraSessionslagringsBuffert Förval: sant. Om sant lagras bufferten med all osänd telemetri i lagring för sessioner. Bufferten återställs vid sidinläsning | booleskt | sann | 
| aktiveraSpårningAvOhanteradePromiseAvslag Om det är sant samlas ohanterade löftesavslag automatiskt in som ett JavaScript-fel. När disableExceptionTracking är sant (spåra inte undantag) ignoreras konfigurationsvärdet och ohanterade löftesavslag rapporteras inte. | booleskt | falskt | 
| eventsLimitInMem (begränsning av händelser i minnet) Antalet händelser som kan sparas i minnet innan SDK:et börjar släppa händelser när du inte använder Sessionslagring (standard). | Nummer | 10 000 | 
| uteslut begäran från automatiska spårningsmönster Ange ett sätt att undanta en specifik väg från automatisk spårning för XMLHttpRequest- eller Fetch-begäran. Om det definieras inaktiveras automatisk spårning för en Ajax-/hämtningsbegäran om att begärande-URL:en matchar regex-mönstren. Standardvärdet är odefinierat. | string[] | RegExp[] | odefinierad | 
| featureOptIn Ange information om att välja funktion. Det här konfigurationsfältet är endast tillgängligt i version 3.0.3 och senare. | IFeatureOptIn | odefinierad | 
| idLängd Identifierar standardlängden som används för att generera nya slumpmässiga sessioner och användar-ID:n. Standardvärdet är 22, tidigare standardvärde är 5 (v2.5.8 eller mindre), om du behöver behålla den tidigare maximala längden bör du ange värdet till 5. | numerisk | 22 | 
| "ignoreHeaders" AJAX & Hämta begärande- och svarshuvuden som ska ignoreras i loggdata. Om du vill åsidosätta eller ta bort standardvärdet lägger du till en matris med alla rubriker som ska undantas eller en tom matris i konfigurationen. | sträng[] | ["Behörighet", "X-API-Nyckel", "WWW-Autentisering"] | 
| ärBeaconApiInaktiverad Om det är falskt skickar SDK:n all telemetri med hjälp av Beacon-API:et | booleskt | sann | 
| ärWebbläsarLänkSpårningAktiverad Standardvärdet är falskt. Om det är sant spårar SDK:et alla Browser Link-begäranden . | booleskt | falskt | 
| ärOmförsökInaktiverad Standard falskt. Om det är falskt försöker du igen 206 (delvis lyckad), 408 (timeout), 429 (för många begäranden), 500 (internt serverfel), 503 (tjänsten är inte tillgänglig) och 0 (offline, endast om det upptäcks) | booleskt | falskt | 
| Är lagringsanvändning inaktiverad Om det är sant lagrar eller läser SDK inte några data från lokal lagring och sessionslagring. Standardvärdet är falskt. | booleskt | falskt | 
| loggningsnivåkonsol Loggar interna Application Insights-fel till konsolen. 0: av, 1: Endast kritiska fel, 2: Allt (fel och varningar) | numerisk | 0 | 
| loggningsNivåTelemetri Skickar interna Application Insights-fel som telemetridata. 0: av, 1: Endast kritiska fel, 2: Allt (fel och varningar) | numerisk | 1 | 
| maxAjaxCallsPerView Standard 500 – styr hur många Ajax-anrop som övervakas per sidvy. Ange till -1 för att övervaka alla (obegränsade) Ajax-anrop på sidan. | numerisk | 500 | 
| maxAjaxPerfLookupAttempts Standard är 3. Det maximala antalet gånger som krävs för att kontrollera tidsinställningar för window.performance (om tillgängligt). Alla webbläsare fyller inte i window.performance innan de rapporterar slutet av XHR-begäran. För hämtningsbegäranden läggs den till när den är klar. | numerisk | 3 | 
| maxBatchInterval (max maximal batchintervall) Hur länge telemetridata ska samlas innan det skickas (millisekunder) | numerisk | 15000 | 
| maxBatchSizeInBytes Maximal storlek på telemetrisats. Om en batch överskrider den här gränsen skickas den omedelbart och en ny batch startas | numerisk | 10 000 | 
| namnPrefix Ett valfritt värde som används som namnpostfix för localStorage och sessionscookienamn. | sträng | odefinierad | 
| onunloadDisableBeacon Standard falskt. när fliken stängs skickar SDK:n all återstående telemetri med hjälp av Beacon-API:et | booleskt | falskt | 
| onunloadDisableFetch Om hämtning av keepalive stöds ska det inte användas för att skicka händelser under avlastning, kan den ändå återgå till fetch() utan keepalive. | booleskt | falskt | 
| åsidosättSidvisningsVaraktighet Om det är sant ändras standardbeteendet för trackPageView så att varaktighetsintervallet för vyns slut registreras när trackPageView anropas. Om *false* och ingen anpassad varaktighet anges för *trackPageView* beräknas sidvisningsprestandan med hjälp av Navigation Timing API. Standardvärdet är falskt. | booleskt | falskt | 
| perfEvtsSendAll När enablePerfMgr är aktiverat och IPerfManager utlöser en INotificationManager.perfEvent() avgör den här flaggan om en händelse utlöses (och skickas till alla lyssnare) för alla händelser (sant) eller endast för "överordnade" händelser (falskt <standardvärde>). En överordnad IPerfEvent är en händelse där ingen annan IPerfEvent fortfarande körs när händelsen skapas och dess överordnade egenskap inte är null eller odefinierad. Sedan v2.5.7 | booleskt | falskt | 
| urvalsprocent Procentandel av händelser som skickas. Standardvärdet är 100, vilket innebär att alla händelser skickas. Ange det om du vill behålla datataket för storskaliga program. | numerisk | 100 | 
| sdkExtension Anger SDK-tilläggets namn. Endast alfabetiska tecken tillåts. Tilläggsnamnet läggs till som ett prefix till taggen "ai.internal.sdkVersion" (till exempel "ext_javascript:2.0.0"). Standardvärdet är null. | sträng | NULL | 
| sessionCookiePostfix Ett valfritt värde som används som efterstavelse för sessionscookiens namn. Om det är odefinierat används namePrefix som namnpostfix för sessionscookienamn. | sträng | odefinierad | 
| sessionUtgångMs En session loggas om den har fortsatt under den här tiden i millisekunder. Standardvärdet är 24 timmar | numerisk | 86400000 | 
| sessionFörnyelseMs En session loggas om användaren är inaktiv under den här tiden i millisekunder. Standardvärdet är 30 minuter | numerisk | 1800000 | 
| throttleMgrCfg Ange konfiguration för begränsarehanteraren med hjälp av nyckel. Det här konfigurationsfältet är endast tillgängligt i version 3.0.3 och senare. | {[key: number]: IThrottleMgrConfig} | odefinierad | 
| userCookiePostfix Ett valfritt värde som används som namnpostfix för användarens cookienamn. Om det är odefinierat läggs inget postfix till på användarens cookienamn. | sträng | odefinierad | 
Distribuerad spårning
Moderna moln - och mikrotjänstarkitekturer har aktiverat enkla, oberoende distributionsbara tjänster som minskar kostnaderna samtidigt som tillgängligheten och dataflödet ökar. Det har dock gjort det svårare att resonera kring och felsöka övergripande system. Distribuerad spårning löser det här problemet genom att tillhandahålla en prestandaprofilerare som fungerar som anropsstackar för moln- och mikrotjänstarkitekturer.
Azure Monitor tillhandahåller två funktioner för användning av distribuerade spårningsdata: transaktionsdiagnostikvyn för en enskild transaktion/begäran och programkartvyn för att visa hur system interagerar.
Application Insights kan övervaka varje komponent separat och identifiera vilken komponent som är ansvarig för fel eller prestandaförsämring med hjälp av distribuerad telemetrikorrelation. Den här artikeln förklarar datamodellen, tekniker för kontextspridning, protokoll och implementering av korrelationstaktik på olika språk och plattformar som används av Application Insights.
Aktivera distribuerad spårning via Application Insights med autoinstrumentation eller SDK:er
Application Insights-agenter och SDK:er för .NET, .NET Core, Java, Node.jsoch JavaScript stöder alla distribuerad spårning internt.
Med rätt Application Insights SDK installerat och konfigurerat, samlas spårningsinformation automatiskt in för populära ramverk, bibliotek och tekniker genom SDK-beroende automatiska insamlare. Den fullständiga listan över tekniker som stöds finns i dokumentationen för beroendebaserad autokollektion.
Alla teknologier kan också spåras manuellt med ett anrop till TrackDependency på TelemetryClient.
Datamodell för telemetrikorrelation
Application Insights definierar en datamodell för distribuerad telemetrikorrelation. Om du vill associera telemetri med en logisk åtgärd har varje telemetriobjekt ett kontextfält med namnet operation_Id. Varje telemetriobjekt i den distribuerade spårningen delar den här identifieraren. Så även om du förlorar telemetri från ett enda lager kan du fortfarande associera telemetri som rapporterats av andra komponenter.
En distribuerad logisk åtgärd består vanligtvis av en uppsättning mindre åtgärder som är begäranden som bearbetas av en av komponenterna. 
              Telemetri för begäran definierar dessa åtgärder. Varje telemetriobjekt för begäran har ett eget id objekt som identifierar det unikt och globalt. Och alla telemetriobjekt (till exempel spårningar och undantag) som är associerade med begäran bör ange operation_parentId till värdet av begäran id.
              Beroendetelemetri representerar varje utgående åtgärd, till exempel ett HTTP-anrop till en annan komponent. Den definierar också sin egen id, som är globalt unik. Telemetri för begäran, initierad av detta beroendekall, utnyttjar detta id som sin operation_parentId.
Du kan skapa en vy över den distribuerade logiska åtgärden med hjälp av operation_Id, operation_parentId och request.id tillsammans med dependency.id. Dessa fält definierar också kausalitetsordningen för telemetrianrop.
I en mikrotjänstmiljö kan spårningar från komponenter gå till olika lagringsobjekt. Varje komponent kan ha en egen anslutningssträng i Application Insights. För att få telemetri för den logiska åtgärden frågar Application Insights data från varje lagringsobjekt.
När antalet lagringsobjekt är stort behöver du en ledtråd om var du ska titta härnäst. Application Insights-datamodellen definierar två fält för att lösa det här problemet: request.source och dependency.target. Det första fältet identifierar komponenten som initierade beroendebegäran. Det andra fältet identifierar vilken komponent som returnerade svaret från beroendeanropet.
För information om hur du frågar från flera olika instanser hänvisas till 'Fråga efter data mellan Log Analytics-arbetsytor, program och resurser i Azure Monitor'.
Example
Nu ska vi titta på ett exempel. Ett program med namnet Aktiekurser visar det aktuella marknadspriset för en aktie med hjälp av ett externt API som heter Stock. Programmet Aktiekurser har en sida med namnet Aktiesida som klientens webbläsare öppnar med hjälp av GET /Home/Stock. Programmet frågar lager-API:et med hjälp av HTTP-anropet GET /api/stock/value.
Du kan analysera den resulterande telemetrin genom att köra en fråga:
(requests | union dependencies | union pageViews)
| where operation_Id == "STYz"
| project timestamp, itemType, name, id, operation_ParentId, operation_Id
I resultatet delar alla telemetriobjekt roten operation_Id. När ett Ajax-anrop görs från sidan tilldelas ett nytt unikt ID (qJSXU) till beroendetelemetrin och ID:t för pageView används som operation_ParentId. Serverbegäran använder sedan Ajax-ID:t som operation_ParentId.
| objekttyp | name | ID-nummer | operation_ParentId | operation_Id | 
|---|---|---|---|---|
| sidvisning | Lagersida | STYz | STYz | |
| beroende | GET /Hem/Lager | qJSXU | STYz | STYz | 
| request | GET Hem/Lager | KqKwlrSt9PA= | qJSXU | STYz | 
| beroende | GET /api/stock/value | bBrf2L7mm2g= | KqKwlrSt9PA= | STYz | 
När anropet GET /api/stock/value görs till en extern tjänst måste du känna till serverns identitet så att du kan ange fältet dependency.target på rätt sätt. När den externa tjänsten inte stöder övervakning target ställs den in på tjänstens värdnamn. Ett exempel är stock-prices-api.com. Men om tjänsten identifierar sig genom att returnera ett fördefinierat HTTP-huvud innehåller target den tjänstidentitet som gör att Application Insights kan skapa en distribuerad spårning genom att fråga telemetri från den tjänsten.
Korrelationshuvuden med W3C TraceContext
Application Insights övergår till W3C Trace-Context, som definierar:
- 
              traceparent: Bär det globalt unika åtgärds-ID:t och den unika identifieraren för anropet.
- 
              tracestate: Bär systemspecifik spårningskontext.
Den senaste versionen av Application Insights SDK stöder Trace-Context-protokollet, men du kan behöva välja det. (Bakåtkompatibilitet med det tidigare korrelationsprotokollet som stöds av Application Insights SDK upprätthålls.)
HTTP-korrelationsprotokollet, även kallat Request-Id, är inaktuellt. Det här protokollet definierar två huvuden:
- 
              Request-Id: Bär det globalt unika ID:t för anropet.
- 
              Correlation-Context: Innehåller samlingen namn-värdepar för de distribuerade spårningsegenskaperna.
Application Insights definierar också tillägget för HTTP-korrelationsprotokollet. Den använder Request-Context namn/värde-par för att sprida den samling egenskaper som används av den uppringande eller den anropade. Application Insights SDK använder huvudfältet för att ange fälten dependency.target och request.source.
Datamodellerna W3C Trace-Context och Application Insights mappar på följande sätt:
| Programinsikter | W3C TraceContext | 
|---|---|
| IdavRequestochDependency | parent-id | 
| Operation_Id | trace-id | 
| Operation_ParentId | överordnat ID för det här spannets överordnade spann. Det här fältet måste vara tomt om det är ett rotspan. | 
Mer information finns i Application Insights telemetridatamodell.
Aktivera stöd för distribuerad spårning i W3C
Den här funktionen är aktiverad som standard för JavaScript och rubrikerna inkluderas automatiskt när värdsidedomänen är samma som domänen som begäranden skickas till (till exempel är example.com värdsidan och Ajax-begäranden skickas till example.com). Om du vill ändra det distribuerade spårningsläget använder du konfigurationsfältetdistributedTracingMode. AI_AND_W3C tillhandahålls som standard för bakåtkompatibilitet med alla äldre tjänster som instrumenterats av Application Insights.
- 
Lägg till följande konfiguration: distributedTracingMode: DistributedTracingModes.W3C
- Skriptbaserad installation baserad på JavaScript (Web) SDK Loader - Lägg till följande konfiguration: - distributedTracingMode: 2 // DistributedTracingModes.W3C
Om XMLHttpRequest- eller Fetch Ajax-begäranden skickas till en annan domänvärd, inklusive underdomäner, inkluderas inte korrelationsrubrikerna som standard. Om du vill aktivera den här funktionen anger du konfigurationsfältetenableCorsCorrelation till true. Om du anger enableCorsCorrelation till trueinnehåller alla XMLHttpRequest- och Fetch Ajax-begäranden korrelationsrubrikerna. Om programmet på servern som anropas inte stöder traceparent huvudet kan begäran misslyckas, beroende på om webbläsaren/versionen kan verifiera begäran baserat på vilka huvuden servern accepterar. Du kan använda konfigurationsfältetcorrelationHeaderExcludedDomains för att undanta serverns domän från korskomponentens korrelationshuvudinmatning. Du kan till exempel använda correlationHeaderExcludedDomains: ['*.auth0.com'] för att undanta korrelationshuvuden från begäranden som skickas till identitetsprovidern Auth0.
Viktigt!
Information om hur du ser alla konfigurationer som krävs för att aktivera korrelation finns i JavaScript-korrelationsdokumentationen.
Filtrera och förbearbeta telemetri
Du kan skriva kod för att filtrera, ändra eller utöka telemetrin innan den skickas från SDK:t. Bearbetningen innehåller data som skickas från standardtelemetrimodulerna, till exempel INSAMLING av HTTP-begäranden och beroendeinsamling.
- Filtrering kan ändra eller ta bort telemetri innan den skickas från SDK:t genom att implementera - ITelemetryProcessor. Du kan till exempel minska mängden telemetri genom att exkludera begäranden från robotar. Till skillnad från sampling har du fullständig kontroll över vad som skickas eller tas bort, men det påverkar alla mått som baseras på aggregerade loggar. Beroende på hur du tar bort objekt kan du också förlora möjligheten att navigera mellan relaterade objekt.
- Lägg till eller ändra egenskaper i telemetri som skickas från din app genom att implementera en - ITelemetryInitializer. Du kan till exempel lägga till beräknade värden eller versionsnummer för att filtrera data i portalen.
- Sampling minskar mängden telemetri utan att påverka din statistik. Den håller ihop relaterade datapunkter så att du kan navigera mellan dem när du diagnostiserar ett problem. I portalen multipliceras det totala antalet för att kompensera för samplingen. 
Anmärkning
SDK-API:et används för att skicka anpassade händelser och mått.
Filtering
Den här tekniken ger dig direkt kontroll över vad som ingår eller undantas från telemetriströmmen. Filtrering kan användas för att ta bort telemetriobjekt från att skickas till Application Insights. Du kan använda filtrering med sampling eller separat.
Om du vill filtrera telemetri skriver du en telemetriprocessor och registrerar den med TelemetryConfiguration. All telemetri går igenom din processor. Du kan välja att släppa den från strömmen eller ge den till nästa processor i kedjan. Telemetri från standardmodulerna, till exempel HTTP-begärandeinsamlaren och beroendeinsamlaren, och telemetri som du spårade själv ingår. Du kan till exempel filtrera bort telemetri om begäranden från robotar eller lyckade beroendeanrop.
Varning
Om du filtrerar telemetrin som skickas från SDK:t med hjälp av processorer kan du förvränga den statistik som visas i portalen och göra det svårt att följa relaterade objekt.
Överväg i stället att använda sampling.
JavaScript-webbapplikationer
Du kan filtrera telemetri från JavaScript-webbprogram med hjälp av ITelemetryInitializer.
- Skapa en telemetriinitieringsåteranropsfunktion. Återanropsfunktionen tar - ITelemetryItemsom en parameter, vilket är den händelse som bearbetas. Om du returnerar- falsefrån det här återanropet kommer telemetriobjektet att filtreras bort.- var filteringFunction = (envelope) => { if (envelope.data.someField === 'tobefilteredout') { return false; } return true; };
- Lägg till din telemetriinitierares återanrop: - appInsights.addTelemetryInitializer(filteringFunction);
ITelemetryProcessor och ITelemetryInitializer
Vad är skillnaden mellan telemetriprocessorer och telemetriinitierare?
- Det finns vissa överlappningar i vad du kan göra med dem. Båda kan användas för att lägga till eller ändra egenskaper för telemetri, men vi rekommenderar att du använder initierare för detta ändamål.
- Telemetriinitierare körs alltid före telemetriprocessorer.
- Telemetriinitierare kan anropas mer än en gång. Enligt konventionen anger de inte någon egenskap som redan har angetts.
- Med telemetriprocessorer kan du helt ersätta eller ta bort ett telemetriobjekt.
- Alla registrerade telemetriinitierare anropas för varje telemetriobjekt. För telemetriprocessorer garanterar SDK att den första telemetriprocessorn anropas. Om resten av processorerna anropas eller inte bestäms av de föregående telemetriprocessorerna.
- Använd telemetriinitierare för att utöka telemetri med fler egenskaper eller åsidosätta en befintlig. Använd en telemetriprocessor för att filtrera bort telemetri.
Lägg till/ändra egenskaper
Använd telemetriinitierare för att utöka telemetri med ytterligare information eller för att åsidosätta telemetriegenskaper som anges av standardtelemetrimodulerna.
Application Insights för ett webbpaket samlar till exempel in telemetri om HTTP-begäranden. Som standard flaggas alla begäranden med svarskoden >=400 som misslyckade. Om du i stället vill behandla 400 som en framgång kan du ange en telemetri-initialiserare som ställer in framgångsegenskapen.
Om du anger en telemetriinitierare anropas den när någon av Metoderna Track*() anropas. Den här initiatorn innehåller Track() metoder som anropas av standardtelemetrimodulerna. Enligt konventionen anger dessa moduler inte någon egenskap som redan har angetts av en initiator. Telemetriinitierare anropas innan telemetriprocessorer anropas, så alla berikanden som görs av initiatorer är synliga för processorer.
JavaScript-telemetriinitierare
Infoga en JavaScript-telemetriinitierare om det behövs. Mer information om telemetriinitieringarna för Application Insights JavaScript SDK finns i Telemetriinitierare.
Infoga en telemetriinitierare genom att lägga till funktionen onInit-återanrop i JavaScript-SDK-inläsningsskriptkonfigurationen (Web):
<script type="text/javascript">
!(function (cfg){function e(){cfg.onInit&&cfg.onInit(n)}var x,w,D,t,E,n,C=window,O=document,b=C.location,q="script",I="ingestionendpoint",L="disableExceptionTracking",j="ai.device.";"instrumentationKey"[x="toLowerCase"](),w="crossOrigin",D="POST",t="appInsightsSDK",E=cfg.name||"appInsights",(cfg.name||C[t])&&(C[t]=E),n=C[E]||function(g){var f=!1,m=!1,h={initialize:!0,queue:[],sv:"8",version:2,config:g};function v(e,t){var n={},i="Browser";function a(e){e=""+e;return 1===e.length?"0"+e:e}return n[j+"id"]=i[x](),n[j+"type"]=i,n["ai.operation.name"]=b&&b.pathname||"_unknown_",n["ai.internal.sdkVersion"]="javascript:snippet_"+(h.sv||h.version),{time:(i=new Date).getUTCFullYear()+"-"+a(1+i.getUTCMonth())+"-"+a(i.getUTCDate())+"T"+a(i.getUTCHours())+":"+a(i.getUTCMinutes())+":"+a(i.getUTCSeconds())+"."+(i.getUTCMilliseconds()/1e3).toFixed(3).slice(2,5)+"Z",iKey:e,name:"Microsoft.ApplicationInsights."+e.replace(/-/g,"")+"."+t,sampleRate:100,tags:n,data:{baseData:{ver:2}},ver:undefined,seq:"1",aiDataContract:undefined}}var n,i,t,a,y=-1,T=0,S=["js.monitor.azure.com","js.cdn.applicationinsights.io","js.cdn.monitor.azure.com","js0.cdn.applicationinsights.io","js0.cdn.monitor.azure.com","js2.cdn.applicationinsights.io","js2.cdn.monitor.azure.com","az416426.vo.msecnd.net"],o=g.url||cfg.src,r=function(){return s(o,null)};function s(d,t){if((n=navigator)&&(~(n=(n.userAgent||"").toLowerCase()).indexOf("msie")||~n.indexOf("trident/"))&&~d.indexOf("ai.3")&&(d=d.replace(/(\/)(ai\.3\.)([^\d]*)$/,function(e,t,n){return t+"ai.2"+n})),!1!==cfg.cr)for(var e=0;e<S.length;e++)if(0<d.indexOf(S[e])){y=e;break}var n,i=function(e){var a,t,n,i,o,r,s,c,u,l;h.queue=[],m||(0<=y&&T+1<S.length?(a=(y+T+1)%S.length,p(d.replace(/^(.*\/\/)([\w\.]*)(\/.*)$/,function(e,t,n,i){return t+S[a]+i})),T+=1):(f=m=!0,s=d,!0!==cfg.dle&&(c=(t=function(){var e,t={},n=g.connectionString;if(n)for(var i=n.split(";"),a=0;a<i.length;a++){var o=i[a].split("=");2===o.length&&(t[o[0][x]()]=o[1])}return t[I]||(e=(n=t.endpointsuffix)?t.location:null,t[I]="https://"+(e?e+".":"")+"dc."+(n||"services.visualstudio.com")),t}()).instrumentationkey||g.instrumentationKey||"",t=(t=(t=t[I])&&"/"===t.slice(-1)?t.slice(0,-1):t)?t+"/v2/track":g.endpointUrl,t=g.userOverrideEndpointUrl||t,(n=[]).push((i="SDK LOAD Failure: Failed to load Application Insights SDK script (See stack for details)",o=s,u=t,(l=(r=v(c,"Exception")).data).baseType="ExceptionData",l.baseData.exceptions=[{typeName:"SDKLoadFailed",message:i.replace(/\./g,"-"),hasFullStack:!1,stack:i+"\nSnippet failed to load ["+o+"] -- Telemetry is disabled\nHelp Link: https://go.microsoft.com/fwlink/?linkid=2128109\nHost: "+(b&&b.pathname||"_unknown_")+"\nEndpoint: "+u,parsedStack:[]}],r)),n.push((l=s,i=t,(u=(o=v(c,"Message")).data).baseType="MessageData",(r=u.baseData).message='AI (Internal): 99 message:"'+("SDK LOAD Failure: Failed to load Application Insights SDK script (See stack for details) ("+l+")").replace(/\"/g,"")+'"',r.properties={endpoint:i},o)),s=n,c=t,JSON&&((u=C.fetch)&&!cfg.useXhr?u(c,{method:D,body:JSON.stringify(s),mode:"cors"}):XMLHttpRequest&&((l=new XMLHttpRequest).open(D,c),l.setRequestHeader("Content-type","application/json"),l.send(JSON.stringify(s)))))))},a=function(e,t){m||setTimeout(function(){!t&&h.core||i()},500),f=!1},p=function(e){var n=O.createElement(q),e=(n.src=e,t&&(n.integrity=t),n.setAttribute("data-ai-name",E),cfg[w]);return!e&&""!==e||"undefined"==n[w]||(n[w]=e),n.onload=a,n.onerror=i,n.onreadystatechange=function(e,t){"loaded"!==n.readyState&&"complete"!==n.readyState||a(0,t)},cfg.ld&&cfg.ld<0?O.getElementsByTagName("head")[0].appendChild(n):setTimeout(function(){O.getElementsByTagName(q)[0].parentNode.appendChild(n)},cfg.ld||0),n};p(d)}cfg.sri&&(n=o.match(/^((http[s]?:\/\/.*\/)\w+(\.\d+){1,5})\.(([\w]+\.){0,2}js)$/))&&6===n.length?(d="".concat(n[1],".integrity.json"),i="@".concat(n[4]),l=window.fetch,t=function(e){if(!e.ext||!e.ext[i]||!e.ext[i].file)throw Error("Error Loading JSON response");var t=e.ext[i].integrity||null;s(o=n[2]+e.ext[i].file,t)},l&&!cfg.useXhr?l(d,{method:"GET",mode:"cors"}).then(function(e){return e.json()["catch"](function(){return{}})}).then(t)["catch"](r):XMLHttpRequest&&((a=new XMLHttpRequest).open("GET",d),a.onreadystatechange=function(){if(a.readyState===XMLHttpRequest.DONE)if(200===a.status)try{t(JSON.parse(a.responseText))}catch(e){r()}else r()},a.send())):o&&r();try{h.cookie=O.cookie}catch(k){}function e(e){for(;e.length;)!function(t){h[t]=function(){var e=arguments;f||h.queue.push(function(){h[t].apply(h,e)})}}(e.pop())}var c,u,l="track",d="TrackPage",p="TrackEvent",l=(e([l+"Event",l+"PageView",l+"Exception",l+"Trace",l+"DependencyData",l+"Metric",l+"PageViewPerformance","start"+d,"stop"+d,"start"+p,"stop"+p,"addTelemetryInitializer","setAuthenticatedUserContext","clearAuthenticatedUserContext","flush"]),h.SeverityLevel={Verbose:0,Information:1,Warning:2,Error:3,Critical:4},(g.extensionConfig||{}).ApplicationInsightsAnalytics||{});return!0!==g[L]&&!0!==l[L]&&(e(["_"+(c="onerror")]),u=C[c],C[c]=function(e,t,n,i,a){var o=u&&u(e,t,n,i,a);return!0!==o&&h["_"+c]({message:e,url:t,lineNumber:n,columnNumber:i,error:a,evt:C.event}),o},g.autoExceptionInstrumented=!0),h}(cfg.cfg),(C[E]=n).queue&&0===n.queue.length?(n.queue.push(e),n.trackPageView({})):e();})({
src: "https://js.monitor.azure.com/scripts/b/ai.3.gbl.min.js",
crossOrigin: "anonymous", // When supplied this will add the provided value as the cross origin attribute on the script tag
onInit: function (sdk) {
    sdk.addTelemetryInitializer(function (envelope) {
    envelope.data = envelope.data || {};
    envelope.data.someField = 'This item passed through my telemetry initializer';
    });
}, // Once the application insights instance has loaded and initialized this method will be called
// sri: false, // Custom optional value to specify whether fetching the snippet from integrity file and do integrity check
cfg: { // Application Insights Configuration
    connectionString: "YOUR_CONNECTION_STRING"
}});
</script>
En sammanfattning av de icke-anpassade egenskaper som är tillgängliga för telemetriobjektet finns i Application Insights Exportera datamodell.
Du kan lägga till så många initierare som du vill. De anropas i den ordning de läggs till.
Lägga till ett molnrollnamn och en molnrollinstans
Använd en telemetriinitierare för att ange taggarna ai.cloud.role och ai.cloud.roleInstance . De här taggarna definierar hur din komponent visas i programkartan i Azure Monitor.
appInsights.queue.push(() => {
appInsights.addTelemetryInitializer((envelope) => {
  envelope.tags["ai.cloud.role"] = "your role name";
  envelope.tags["ai.cloud.roleInstance"] = "your role instance";
});
});
Cookiehantering
Från och med version 2.6.0 tillhandahåller Azure Application Insights JavaScript SDK instansbaserad cookiehantering som kan inaktiveras och återaktiveras efter initieringen.
Om du inaktiverade cookies under initieringen med hjälp av disableCookiesUsage konfigurationerna eller cookieCfg.enabled kan du återaktivera dem med hjälp setEnabled av funktionen för ICookieMgr-objektet.
Den instansbaserade cookiehanteringen ersätter de tidigare globala CoreUtils-funktionerna disableCookies()i , setCookie(), getCookie()och deleteCookie().
Om du vill dra nytta av de trädskakningsförbättringar som introducerades i version 2.6.0 rekommenderar vi att du inte längre använder de globala funktionerna.
Cookiekonfiguration
ICookieMgrConfig är en cookiekonfiguration för instansbaserad cookiehantering som läggs till i 2.6.0. Med de angivna alternativen kan du aktivera eller inaktivera användningen av cookies av SDK:t. Du kan också ange anpassade cookiedomäner och sökvägar och anpassa funktionerna för att hämta, ställa in och ta bort cookies.
Alternativen för ICookieMgrConfig definieras i följande tabell.
| Namn | Typ | Standardvärde | beskrivning | 
|---|---|---|---|
| aktiverad | booleskt | sann | Den aktuella instansen av SDK använder det här booleska värdet för att ange om användningen av cookies är aktiverad. Om det är falskt lagrar eller läser inte instansen av SDK:t som initieras av den här konfigurationen några data från cookies. | 
| domän | sträng | NULL | Anpassad cookiedomän. Det är användbart om du vill dela Application Insights-cookies mellan underdomäner. Om det inte anges används värdet från rotvärdet cookieDomain. | 
| väg | sträng | / | Anger sökvägen som ska användas för cookien, om den inte anges använder den något värde från rotvärdet cookiePath. | 
| ignorera cookies | sträng[] | odefinierad | Ange vilka cookienamn som ska ignoreras, det gör att alla matchande cookienamn aldrig läses eller skrivs. De kan fortfarande rensas eller tas bort uttryckligen. Du behöver inte upprepa namnet i konfigurationen blockedCookies. (sedan v2.8.8) | 
| blockerade cookies | sträng[] | odefinierad | Ange de cookienamn som aldrig ska skrivas. Det förhindrar att cookienamn skapas eller uppdateras, men de kan fortfarande läsas om de inte också ingår i ignoreCookies. De kan fortfarande rensas eller tas bort uttryckligen. Om den inte tillhandahålls används samma lista som i ignoreCookies som standard. (Sedan v2.8.8) | 
| getCookie | (name: string) => string | NULL | Funktion för att hämta det namngivna cookievärdet, om det inte anges använder den den interna hanteringen för cookies / cachelagring. | 
| sättCookie | (name: string, value: string) => void | NULL | Funktion för att ange den namngivna cookien med det angivna värdet, som bara anropas när du lägger till eller uppdaterar en cookie. | 
| delCookie | (name: string, value: string) => void | NULL | Funktion för att ta bort den namngivna cookien med det angivna värdet, avgränsat från setCookie för att undvika behovet av att parsa värdet för att avgöra om cookien läggs till eller tas bort. Om den inte tillhandahålls använder den den interna cookieparsingen/cachelagringen. | 
Källkarta
Stöd för källkartor hjälper dig att felsöka minifierad JavaScript-kod med möjligheten att avminifiera den minifierade anropsstacken för din undantagstelemetri.
- Kompatibel med alla aktuella integreringar på panelen Undantagsinformation
- Stöder alla aktuella och framtida JavaScript-SDK:er, inklusive Node.JS, utan att behöva uppgradera SDK
Länk till Blob Storage-konto
Application Insights stöder uppladdning av källkartor till din Azure Storage-kontoblobcontainer. Du kan använda källkartor för att avminifiera anropsstackar som finns på sidan End-to-end transaktionsinformation. Du kan också använda källkartor för att minimera alla undantag som skickas av JavaScript SDK eller Node.js SDK.
Skapa ett nytt lagringskonto och en blobcontainer
Om du redan har ett befintligt lagringskonto eller en blobcontainer kan du hoppa över det här steget.
- Skapa en blobcontainer i ditt lagringskonto. Ange Offentlig åtkomstnivå till Privat för att säkerställa att källkartningarna inte är offentligt tillgängliga. 
Skicka källkartor till din blobcontainer
Integrera pipelinen för kontinuerlig distribution med ditt lagringskonto genom att konfigurera den för att automatiskt ladda upp källkartor till den konfigurerade blobcontainern.
Du kan ladda upp källkartor till din Azure Blob Storage-container med samma mappstruktur som de kompilerades och distribuerades med. Ett vanligt användningsfall är att prefixa en distributionsmapp med dess version, till exempel 1.2.3/static/js/main.js. När du avminifierar via en Azure-blobcontainer med namnet sourcemapsförsöker pipelinen hämta en källkarta som finns på sourcemaps/1.2.3/static/js/main.js.map.
Ladda upp källkartor via Azure Pipelines (rekommenderas)
Om du använder Azure Pipelines för att kontinuerligt skapa och distribuera ditt program lägger du till en Azure-filkopieringsuppgift i pipelinen för att automatiskt ladda upp källkartor.
Konfigurera Application Insights-resursen med ett källmappningslagringskonto
Du har två alternativ för att konfigurera application insights-resursen med ett lagringskonto för källkarta.
Fliken med ända-till-ända transaktionsdetaljer
På fliken Helomfattande transaktionsinformation väljer du Avminifiera. Konfigurera resursen om den är okonfigurerad.
- I Azure Portal visar du information om ett undantag som har minimerats.
- Välj Avminifiera.
- Om resursen inte har konfigurerats konfigurerar du den.
Egenskapsfliken
Så här konfigurerar eller ändrar du lagringskontot eller blobcontainern som är länkad till din Application Insights-resurs:
- Gå till fliken Egenskaper för Application Insights-resursen. 
- Välj Ändra källkarta blob-container. 
- Välj en annan blobcontainer som källmappningscontainer. 
- Välj Använd. 
Visa den oförminsterade anropsstacken
Om du vill visa den oförminsterade anropsstacken väljer du ett undantagstelemetriobjekt i Azure Portal, letar upp källkartor som matchar anropsstacken och drar och släpper källkartningarna till anropsstacken i Azure Portal. Källkartan måste ha samma namn som källfilen för en stackram, men med ett map tillägg.
Om det uppstår problem med stöd för källkartor för JavaScript-program kan du läsa Felsöka stöd för källkartor för JavaScript-program.
Trädskakningar
Trädskakning eliminerar oanvänd kod från det slutliga JavaScript-paketet.
Om du vill dra nytta av trädskakning importerar du bara de nödvändiga komponenterna i SDK:n till koden. På så sätt ingår inte oanvänd kod i det slutliga paketet, vilket minskar dess storlek och förbättrar prestandan.
Förbättringar och rekommendationer för trädskakning
I version 2.6.0 tog vi bort den interna användningen av dessa statiska hjälpklasser för att förbättra stödet för trädskakningsalgoritmer. Det gör att npm-paket på ett säkert sätt kan släppa oanvänd kod.
- CoreUtils
- EventHelper
- Util
- UrlHelper
- DateTimeUtils
- ConnectionStringParser
Funktionerna exporteras nu som toppnivårötter från modulerna, vilket gör det enklare att omstrukturera koden för bättre trädskakning.
De statiska klasserna ändrades till const-objekt som refererar till de nya exporterade funktionerna, och framtida ändringar planeras för att ytterligare omstrukturera referenserna.
Eliminering av inaktuella funktioner och deras ersättningar
Det här avsnittet gäller bara för dig om du använder de inaktuella funktionerna och vill optimera paketstorleken. Vi rekommenderar att du använder ersättningsfunktionerna för att minska storleken och stödja alla versioner av Internet Explorer.
| Befintlig | Ersättning | 
|---|---|
| CoreUtils | @microsoft/applicationinsights-core-js | 
| CoreUtils._canUseCookies | Inga. Använd inte eftersom det gör att alla CoreUtils-referenser inkluderas i den slutliga koden. Omstrukturera din cookiehantering för att använda appInsights.getCookieMgr().setEnabled(true/false)för att ange värdet ochappInsights.getCookieMgr().isEnabled()för att kontrollera värdet. | 
| CoreUtils.isTypeof | isTypeof | 
| CoreUtils.isUndefined | ärOdefinierad | 
| (if translation is deemed necessary for understanding) CoreUtils.ärNollEllerOdefinierad | ärNullEllerOdefinierad | 
| CoreUtils.hasOwnProperty | hasOwnProperty | 
| CoreUtils.isFunction | ärFunktion | 
| CoreUtils.ärEttObjekt | ärObjekt | 
| CoreUtils.isDate | isDate | 
| CoreUtils.isArray | isArray | 
| CoreUtils.isError | ärFel | 
| CoreUtils.isString | isString | 
| CoreUtils.isNumber | ärNummer | 
| CoreUtils.isBoolean | isBoolean | 
| CoreUtils.toISOString | toISOString eller getISOString | 
| CoreUtils.arrForEach | arrForEach | 
| CoreUtils.arrIndexOf - Hitta indexet på ett element i en array | arrIndexOf-funktion | 
| CoreUtils.arrMap | arrMap | 
| CoreUtils.arrReduce | arrReduce | 
| CoreUtils.strTrim | strTrim | 
| CoreUtils.objCreate | objCreateFn | 
| CoreUtils.objKeys | objKeys | 
| CoreUtils.objDefineAccessors | objDefineAccessors | 
| CoreUtils.addEventHandler (en funktion för hantering av händelser) | addEventHandler | 
| CoreUtils.dateNow | aktuellt datum | 
| CoreUtils.isIE | isIE | 
| CoreUtils.disableCookies | disableCookies Om du refererar till någon av dem kommer CoreUtils att refereras för att upprätthålla bakåtkompatibilitet. Omstrukturera din cookiehantering för att använda appInsights.getCookieMgr().setEnabled(false) | 
| CoreUtils.newGuid | nyGuid | 
| CoreUtils.perfNow | perfNow | 
| CoreUtils.newId | nyttId | 
| CoreUtils.randomValue | slumpmässigt värde | 
| CoreUtils.random32 | random32 | 
| CoreUtils.mwcRandomSeed | mwcRandomSeed | 
| CoreUtils.mwcRandom32 | mwcRandom32 | 
| CoreUtils.genereraW3C-ID | generateW3CId | 
| EventHelper | @microsoft/applicationinsights-core-js | 
| EventHelper.Attach | bifoga händelse | 
| EventHelper.AttachEvent | bifoga händelse | 
| EventHelper.Detach | koppla bort händelse | 
| EventHelper.DetachEvent | koppla bort händelse | 
| Util | @microsoft/applicationinsights-common-js | 
| Util.NotSpecified | strEjSpecificerad | 
| Util.skapaDomHändelse | skapaDomHändelse | 
| Util.inaktiveraLagring | inaktiveraLagring (utlDisableStorage) | 
| Util.isInternalApplicationInsightsEndpoint | isInternaApplicationInsightsSlutpunkt | 
| 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 Om du refererar till någon av dem kommer CoreUtils att refereras för att upprätthålla bakåtkompatibilitet. Omstrukturera din cookiehantering för att använda appInsights.getCookieMgr().setEnabled(false) | 
| Util.kanAnvändaKakor | canUseCookies Om du refererar till någon av dem kommer CoreUtils att refereras för att upprätthålla bakåtkompatibilitet. Omstrukturera din cookiehantering för att använda appInsights.getCookieMgr().isEnabled() | 
| Util.disallowsSameSiteNone (förbjuder SameSite=None) | uaDisallowsSameSiteNone | 
| Util.setCookie | coreSetCookie Referenser gör att CoreUtils refereras till för bakåtkompatibilitet. Omstrukturera din cookiehantering för att använda appInsights.getCookieMgr().set(name: string, value: string) | 
| Util.stringTillBoolEllerStandardvärde | strängTillBoolEllerStandardvärde | 
| Util.getCookie | coreGetCookie Referenser gör att CoreUtils refereras till för bakåtkompatibilitet. Omstrukturera din cookiehantering för att använda appInsights.getCookieMgr().get(name: string) | 
| Util.deleteCookie | coreDeleteCookie Referenser gör att CoreUtils refereras till för bakåtkompatibilitet. Omstrukturera din cookiehantering för att använda appInsights.getCookieMgr().del(name: string, path?: string) | 
| Util.trim | strTrim | 
| Util.nyttId | nyttId | 
| Util.random32 | --- Ingen ersättning, omstrukturera koden för att använda core random32(true) | 
| Util.generateW3CId | generateW3CId | 
| Util.isArray | isArray | 
| Util.isError | ärFel | 
| Util.isDate | isDate | 
| Util.toISOStringForIE8 | toISOString | 
| Util.getIEVersion | getIEVersion | 
| Util.msToTimeSpan | msToTimeSpan | 
| Util.isCrossOriginError | ärCrossOriginFel | 
| Util.dump | dumpObj | 
| Util.getExceptionName | getExceptionName | 
| Util.addEventHandler | bifoga händelse | 
| Util.IsBeaconApiSupported | ärBeaconApiStödd | 
| Util.getExtension | getExtensionByName | 
| UrlHelper | @microsoft/applicationinsights-common-js | 
| UrlHelper.parseUrl | urlParseUrl | 
| UrlHelper.getAbsolutUrl | 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 | analysera anslutningssträng | 
Tjänstmeddelanden
Tjänstmeddelanden är en funktion som är inbyggd i SDK för att ge användbara rekommendationer för att säkerställa att dina telemetriflöden går oavbrutet till Application Insights. Du kan se meddelandena som ett undantagsmeddelande i Application Insights. Vi ser till att meddelanden är relevanta för dig baserat på dina SDK-inställningar, och vi justerar verbositeten baserat på hur brådskande rekommendationen är. Vi rekommenderar att du lämnar tjänstmeddelanden på, men du kan välja bort via konfigurationen featureOptIn .
För närvarande skickas inga aktiva meddelanden.
Tjänstmeddelanden hanteras av JavaScript SDK, som regelbundet avsöker en offentlig JSON-fil för att styra och uppdatera dessa meddelanden. Inaktivera funktionsvalsläge för att inaktivera avsökningen som görs av JavaScript SDK.
Felsökning
Se den dedikerade felsökningsartikeln.
Nästa steg
- Mer information om vanliga frågor och svar finns i Vanliga frågor och svar om JavaScript SDK-konfiguration.
- Spåra användning
- Azure-filkopieringsaktivitet
- Referens för Azure Monitor-datatyper och SDK-kod för JavaScript SDK.
 
              
               
              
               
              
               
              
              