Kommentar
Å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. I följande avsnitt grupperas fälten efter syfte.
Anvisningar om hur du lägger till SDK-konfiguration finns i Lägga till SDK-konfiguration.
Cookies och sessionslagring
Använd disableCookiesUsage för att inaktivera cookies helt, cookieCfg för fullständig instansbaserad cookiekonfiguration cookieDomain och cookiePath för att begränsa cookies mellan underdomäner eller programgatewayer, och namePrefix, sessionCookiePostfixoch userCookiePostfix för att anpassa cookie- och localStorage-namn.
| Konfigurationsfält | Värdetyp | Standardvärdet |
|---|---|---|
| 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.domain definieras 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.path har definierats har det företräde. |
alias för cookieCfg.path[Valfritt] (Sedan 2.6.0) |
NULL |
| 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.enabled definieras har det företräde. Cookieanvändning kan återaktiveras efter initiering via core.getCookieMgr().setEnabled(true). |
alias för cookieCfg.enabled[Valfritt] |
falskt |
| namnPrefix Ett valfritt värde som används som namnpostfix för localStorage och sessionscookienamn. |
sträng | odefinierad |
| 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 |
| 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 |
Spårning av Ajax och Fetch
Ajax- och Fetch-automatisk insamling är grupperad i fem funktionsområden: på/av-växlar (disableAjaxTracking, disableFetchTracking, disableXhr), insamling av huvuden för begäran och svar (enableRequestHeaderTracking, enableResponseHeaderTracking, ignoreHeaders, customHeaders), URL-baserad filtrering (excludeRequestFromAutoTrackingPatterns), extra window.performance-sökningar (enableAjaxPerfTracking, ajaxPerfLookupDelay, maxAjaxPerfLookupAttempts, enableAjaxErrorStatusText) och volymkontroll per sida samt berikning per anrop (maxAjaxCallsPerView, addRequestContext).
Reglage för automatisk insamling
Använd dessa fält för att aktivera eller inaktivera automatisk insamling av Ajax- och Fetch-begäranden och för att välja transport (XHR, Fetch eller Beacon).
Rubrikspårning
Använd de här fälten om du vill inkludera AJAX- och Fetch-begärande- eller svarshuvuden i beroendetelemetri, ange extra rubriker på anpassade slutpunkter eller filtrera känsliga huvuden från loggen.
| Konfigurationsfält | Värdetyp | Standardvärdet |
|---|---|---|
| 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 |
| "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"] |
| 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 |
URL-filtrering
Använd det här fältet om du vill undanta specifika URL:er för begäranden från automatisk Ajax- och Fetch-spårning.
| Konfigurationsfält | Värdetyp | Standardvärdet |
|---|---|---|
| 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 |
Sökningar efter prestanda
Använd de här fälten för att inkludera extra window.performance tidsinställningar för Ajax-beroendetelemetri, justera uppslagsfördröjningen och antalet återförsök och inkludera svarsfeltext på misslyckade AJAX-begäranden.
| Konfigurationsfält | Värdetyp | Standardvärdet |
|---|---|---|
| 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 |
| 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 |
| 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 |
| 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 |
Volymkontroll och berikning
Använd maxAjaxCallsPerView för att begränsa Ajax-samlingen per sida och addRequestContext för att utöka beroendetelemetri med ett återanrop i början av varje API-anrop.
| Konfigurationsfält | Värdetyp | Standardvärdet |
|---|---|---|
| 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 |
| 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 xhr finns när du konfigurerar kontext relaterad till xhr. Du måste kontrollera om fetch request och fetch response finns om du konfigurerar fetch relaterad kontext. Annars kanske du inte får de data du behöver. |
(requestContext: IRequestionContext) => {[key: string]: any} | odefinierad |
Distribuerad spårning och korrelation
Använd distributedTracingMode för att välja W3C, AI eller AI_AND_W3C rubrikformat. Använd disableCorrelationHeaders för att inaktivera korrelation helt. Använd enableCorsCorrelation för att mata in korrelationsrubriker på begäranden mellan ursprung. Använd appId för att ange en fast korrelationsidentitet. Använd correlationHeaderDomains, correlationHeaderExcludedDomainsoch correlationHeaderExcludePatterns för att tillåta eller blockera specifika måldomäner eller URL-mönster.
| Konfigurationsfält | Värdetyp | Standardvärdet |
|---|---|---|
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
Sidvisningar och vägspårning
Använd enableAutoRouteTracking för att spåra SPA-vägändringar. Använd autoTrackPageVisitTime för att registrera tid på sidan för föregående vy. Använd isBrowserLinkTrackingEnabled för att spåra Webbläsarlänk-begäranden. Använd overridePageViewDuration för att beräkna sidvisningsvaraktighet från trackPageView anrop i stället för API:et för navigeringstid.
| Konfigurationsfält | Värdetyp | Standardvärdet |
|---|---|---|
| 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 PageVisitTime i milliseconds och 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 |
| 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 history du inte objektet för React-routerkonfigurationen eftersom du får flera sidvisningshändelser. |
booleskt | falskt |
| ärWebbläsarLänkSpårningAktiverad Standardvärdet är falskt. Om det är sant spårar SDK:et alla Browser Link-begäranden . |
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 |
Undantagsspårning
Använd disableExceptionTracking för att välja bort automatisk undantagssamling och enableUnhandledPromiseRejectionTracking inkludera ohanterade löftesavslag som JavaScript-fel.
| Konfigurationsfält | Värdetyp | Standardvärdet |
|---|---|---|
| disableExceptionTracking (inaktivera undantagsspårning) Om det är sant samlar SDK inte in undantag automatiskt. Standardvärdet är falskt. |
booleskt | falskt |
| aktiveraSpårningAvOhanteradePromiseAvslag Om det är sant samlar SDK automatiskt in ohanterade löftesavslag som ett JavaScript-fel. När disableExceptionTracking är sant (spåra inte undantag) ignoreras konfigurationsvärdet och ohanterade löftesavslag rapporteras inte. |
booleskt | falskt |
Sampling, batchbearbetning och lagring
Använd samplingPercentage för att ange den fasta samplingsfrekvensen maxBatchInterval och maxBatchSizeInBytes för att justera batchsändningsbeteendet enableSessionStorageBuffer och isStorageUseDisabled för att styra om SDK:t bevarar oentlig telemetri i session eller lokal lagring, eventsLimitInMem för att begränsa minnesintern buffert, isRetryDisabled inaktivera återförsök vid tillfälliga fel, disableFlushOnBeforeUnload hoppa över tömningen på sidan och disableTelemetry som en global avstängningsknapp.
| Konfigurationsfält | Värdetyp | Standardvärdet |
|---|---|---|
| inaktiveraFlushVidFörAvslutandeLaddning Standard falskt. Om värdet är true anropas inte metoden flush när händelsen onBeforeUnload utlöses. |
booleskt | falskt |
| avaktivera telemetri Om det är sant samlar inte SDK:t in eller skickar telemetri. Standardvärdet är falskt. |
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 |
| 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 |
| ärOmförsökInaktiverad Standard falskt. Om det är falskt försöker du igen 206 (delvis lyckat), 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 identifieras). |
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 |
| maxBatchInterval (max maximal batchintervall) Hur länge telemetri ska samlas i batchar innan den 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 |
| 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 |
Loggning och felsökning
Använd loggingLevelConsole och loggingLevelTelemetry för att dirigera interna SDK-fel till konsolen eller till telemetri. Använd enableDebug för att utlösa interna fel som undantag under utvecklingen. Använd diagnosticLogInterval för att justera den interna loggsökaren. Använd disableDataLossAnalysis för att hoppa över startbuffertkontroller. Använd disableIkeyDeprecationMessage för att ignorera utfasningsmeddelandet för instrumentationsnyckeln.
| Konfigurationsfält | Värdetyp | Standardvärdet |
|---|---|---|
| diagnosticLogInterval (internt) Avsökningsintervall (i ms) för intern loggningskö |
numerisk | 10 000 |
| inaktiveraDataförlustanalys Om det är falskt kontrolleras interna telemetrisändarbuffertar vid start för objekt som ännu inte har skickats. |
booleskt | sann |
| Avaktivera Ikey Föråldringsmeddelande Inaktivera felmeddelande om utfasning av instrumentationsnyckel. Om sant skickas inte felmeddelanden. |
booleskt | sann |
| 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 loggingLevelConsole eller loggingLevelTelemetry i stället för enableDebug. |
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 |
Prestandahanterare
Använd enablePerfMgr för att skicka ut lokal perfEvents från instrumenterade kodsökvägar. Använd createPerfMgr för att ange en anpassad IPerfManager fabrik. Använd perfEvtsSendAll för att styra om alla perfEvent triggas eller endast överordnade händelser.
| Konfigurationsfält | Värdetyp | Standardvärdet |
|---|---|---|
| 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öra setPerfMgr() det efter initieringen. |
(kärna: IAppInsightsCore, notificationManager: INotificationManager) => IPerfManager | odefinierad |
| 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 |
| 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 |
Identifierare och sessionslivslängd
Använd accountId för att gruppera användare i konton, idLength för att ange den genererade slumpmässiga ID-längden, sessionExpirationMs för maximal sessionsvaraktighet och sessionRenewalMs för tidsgränsen för inaktivitet som avslutar en session.
| Konfigurationsfält | Värdetyp | Standardvärdet |
|---|---|---|
| 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 |
| 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 var 5 (v2.5.8 eller mindre), om du behöver behålla den tidigare maximala längden och ange värdet till 5. |
numerisk | 22 |
| sessionUtgångMs En session loggas om den fortsätter 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 |
Andra inställningar
Använd featureOptIn för att välja förhandsgranskningsfunktioner, throttleMgrCfg för att konfigurera begränsning, disableInstrumentationKeyValidation kringgå inmatningsnyckelkontroller, convertUndefined ersätta ett standardvärde för odefinierade fält och sdkExtension för att prefixa taggen ai.internal.sdkVersion för underordnade SDK-tillägg.
| Konfigurationsfält | Värdetyp | Standardvärdet |
|---|---|---|
| konvertera odefinierad Ge användaren ett alternativ för att konvertera odefinierat fält till användardefinierat värde. |
any |
odefinierad |
| InactivateInstrumenteringsnyckelvalidering Om sant är, kringgås instrumenteringsnyckelns verifieringskontroll. Standardvärdet är "falsk". |
booleskt | falskt |
| 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 |
| 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 |
| 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 |
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
Stöd för Azure Monitor OpenTelemetry-instrumentation och JavaScript SDK genererar distribuerade spårningsdata för vanliga ramverk och bibliotek.
När stödd instrumentation är konfigurerad samlas spårningsinformation automatiskt in för vanliga ramverk, bibliotek och tekniker.
Alla tekniker kan också spåras manuellt genom att skapa anpassade intervall.
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 (hämta /api/lager/värde) | 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.
Instrumentation som stöds använder protokollet W3C Trace Context för distribuerad spårning.
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 använder även korrelationskontext för att fylla i fält som dependency.target och request.source när kontexten är tillgänglig.
Datamodellerna W3C Trace-Context och Application Insights mappar på följande sätt:
| Programinsikter | W3C TraceContext |
|---|---|
Id av Request och Dependency |
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. Standardvärdet, AI_AND_W3C, ger 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 går 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. Det innebär att om programmet på servern som anropas av begäran inte stöder huvudet traceparent, kan begäran misslyckas. Det här felet beror på om webbläsaren och 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
För JavaScript-webbprogram använder du telemetriinitierare för att filtrera, ändra eller berika telemetri innan den skickas.
- Returnera
falsefrån en initierare för att släppa ett telemetriobjekt innan det skickas. - Lägg till eller ändra fält på telemetriobjektet för att berika telemetri med värden som är användbara för filtrering och analys.
- Använd SDK-samplingskonfigurationen för att minska telemetrivolymen när du behöver statistisk sampling i stället för explicit filtrering.
Varning
Filtrering av telemetri kan förvränga portalstatistiken och göra det svårare att följa relaterade objekt. Välj sampling när du behöver minska volymen utan att uttryckligen exkludera specifik telemetri.
JavaScript-webbapplikationer
Om du vill filtrera telemetri från JavaScript-webbprogram använder du ITelemetryInitializer.
Skapa en telemetriinitieringsåteranropsfunktion. Återanropsfunktionen tar
ITelemetryItemsom en parameter, vilket är den händelse som bearbetas. Om motringningen returnerarfalsefiltreras telemetriobjektet bort.var filteringFunction = (envelope) => { if (envelope.data.someField === 'tobefilteredout') { return false; } return true; };Lägg till din telemetriinitierares återanrop:
appInsights.addTelemetryInitializer(filteringFunction);
JavaScript-telemetriinitierare
Telemetriinitierare körs innan ett JavaScript-telemetriobjekt skickas. Använd dem för att lägga till, ändra eller släppa webbläsartelemetri. Att returnera false från en initialiserare gör att objektet förbises.
Använd telemetriinitierare för riktad berikning eller filtrering. Använd sampling när du behöver minska volymen utan att uttryckligen exkludera specifik telemetri.
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 återanropsfunktionen onInit 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 du lägger till dem.
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 du kan inaktivera och återaktivera efter initieringen.
Om du inaktiverar cookies under initieringen med hjälp disableCookiesUsage av 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().
Sluta använda de globala funktionerna för att dra nytta av de trädskakande förbättringar som introducerades i version 2.6.0.
Cookiekonfiguration
ICookieMgrConfig är en cookiekonfiguration för instansbaserad cookiehantering som lagts till i version 2.6.0. Med de alternativ som anges 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.
I följande tabell definieras ICookieMgrConfig alternativen.
| 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änder du värdet från rotvärdet cookieDomain . |
| väg | sträng | / | Anger sökvägen som ska användas för cookien. Om det inte anges använder du valfritt värde från rotvärdet cookiePath . |
| ignorera cookies | sträng[] | odefinierad | Ange de cookienamn som ska ignoreras. Det gör att ett matchande cookienamn aldrig läs- 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 du skapar eller uppdaterar något cookienamn, men de kan fortfarande läsas om de inte också ingår i ignoreCookies. De kan fortfarande uttryckligen rensas eller tas bort. Om den inte anges är den standard för samma lista i ignoreCookies. (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 SDK:t den interna cookieparsingen och cachelagringen. |
| sättCookie | (name: string, value: string) => void |
NULL | Funktion för att ange den namngivna cookien med det angivna värdet. Anropas endast 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. Den här funktionen separeras 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 det inte anges använder SDK:t den interna cookieparsingen och cachelagringen. |
Källkarta
Stöd för källmappning hjälper dig att felsöka minifierad JavaScript-kod genom att avminifiera den minifierade anropsstacken i telemetri för undantag.
- 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 blobcontainer. Använd källkartor för att avminifiera anropsstackar som finns på sidan Information om transaktioner från början till slut. 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 portalen, letar upp källkartor som matchar anropsstacken och drar och släpper källkartningarna till anropsstacken i Azure portalen. 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 tar bort 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. Genom att göra detta utesluter du oanvänd kod från 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 har SDK:t föråldrat och tagit bort den interna användningen av dessa statiska hjälpklasser för att förbättra stödet för trädskakningsalgoritmer. Med den här ändringen kan npm-paket på ett säkert sätt släppa oanvänd kod.
CoreUtilsEventHelperUtilUrlHelperDateTimeUtilsConnectionStringParser
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 är nu const-objekt som refererar till de nya exporterade funktionerna.
Eliminering av inaktuella funktioner och deras ersättningar
Det här avsnittet gäller endast om du använder de inaktuella funktionerna och vill optimera paketstorleken. Använd 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 den här funktionen eftersom den 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 och appInsights.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 någon av funktionerna refereras kommer CoreUtils också att refereras för 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
SDK:n innehåller tjänstmeddelanden som ger konkreta rekommendationer om åtgärder för att säkerställa att dina telemetridata flödar utan avbrott till Application Insights. Du ser meddelandena som ett undantagsmeddelande i Application Insights. SDK:n ser till att meddelanden är relevanta för dig baserat på dina SDK-inställningar och justerar verbositeten baserat på hur brådskande rekommendationen är. Behåll tjänstaviseringar på, men du kan välja bort via konfigurationen featureOptIn .
För närvarande skickas inga aktiva meddelanden.
JavaScript SDK hanterar tjänstmeddelanden och avsöker regelbundet en offentlig JSON-fil för att kontrollera 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.