Application Insights voor webpagina’sApplication Insights for web pages

Krijg inzicht in de prestaties en het gebruik van uw webpagina's of app.Find out about the performance and usage of your web page or app. Als u Application Insights toevoegt aan uw pagina script, krijgt u de beschikking over de pagina laden en Ajax-aanroepen, tellingen en Details van browser uitzonderingen en Ajax-fouten, evenals de aantallen gebruikers en sessies.If you add Application Insights to your page script, you get timings of page loads and AJAX calls, counts, and details of browser exceptions and AJAX failures, as well as users and session counts. Al deze gegevens kunnen worden gesegmenteerd op pagina, clientbesturingssysteem en browserversie, geografische locatie en andere dimensies.All these can be segmented by page, client OS and browser version, geo location, and other dimensions. U kunt waarschuwingen instellen voor foutaantallen of het langzaam laden van de pagina.You can set alerts on failure counts or slow page loading. En door het invoegen van trace-aanroepen in JavaScript-code, kunt u bijhouden hoe de verschillende functies van uw webpaginatoepassing worden gebruikt.And by inserting trace calls in your JavaScript code, you can track how the different features of your web page application are used.

Application Insights kan met elke webpagina worden gebruikt. Het enige wat u hiervoor hoeft te doen, is een klein stukje JavaScript toevoegen.Application Insights can be used with any web pages - you just add a short piece of JavaScript. Als uw webservice Java of ASP.netis, kunt u de sdk's aan de server zijde in combi natie met de Java script-SDK aan de client zijde gebruiken om een end-to-end-goed idee te krijgen van de prestaties van uw app.If your web service is Java or ASP.NET, you can use the server-side SDKs in conjunction with the client-side JavaScript SDK to get an end-to-end understanding of your app's performance.

De Java script-SDK toevoegenAdding the JavaScript SDK

  1. Eerst hebt u een Application Insights resource nodig.First you need an Application Insights resource. Als u nog geen resource en instrumentatie sleutel hebt, volgt u de instructies een nieuwe resource maken.If you don't already have a resource and instrumentation key, follow the create a new resource instructions.
  2. Kopieer de instrumentatie sleutel (ook wel ' iKey ' genoemd) voor de resource waar u uw Java script-telemetrie wilt verzenden (uit stap 1.) U voegt deze toe aan de instrumentationKey instelling van de Application Insights java script SDK.Copy the instrumentation key (also known as "iKey") for the resource where you want your JavaScript telemetry to be sent (from step 1.) You will add it to the instrumentationKey setting of the Application Insights JavaScript SDK.
  3. Voeg de Application Insights java script-SDK toe aan uw webpagina of app via een van de volgende twee opties:Add the Application Insights JavaScript SDK to your web page or app via one of the following two options:

Belangrijk

Gebruik slechts één methode om de Java script-SDK toe te voegen aan uw toepassing.Only use one method to add the JavaScript SDK to your application. Als u de NPM-instellingen gebruikt, gebruikt u het fragment niet en vice versa.If you use the NPM Setup, don't use the Snippet and vice versa.

Notitie

NPM Setup installeert de Java script-SDK als een afhankelijkheid van uw project, waardoor IntelliSense, terwijl het fragment de SDK tijdens runtime ophaalt.NPM Setup installs the JavaScript SDK as a dependency to your project, enabling IntelliSense, whereas the Snippet fetches the SDK at runtime. Beide ondersteunen dezelfde functies.Both support the same features. Ontwikkel aars die behoefte hebben aan meer aangepaste gebeurtenissen en configuratie, kiezen meestal voor NPM-Setup, terwijl gebruikers op zoek zijn naar snelle activering van out-of-the-box Web Analytics voor het fragment.However, developers who desire more custom events and configuration generally opt for NPM Setup whereas users looking for quick enablement of out-of-the-box web analytics opt for the Snippet.

installatie op basis van NPMnpm based setup

Installeren via NPM.Install via NPM.

npm i --save @microsoft/applicationinsights-web

Notitie

Typen zijn opgenomen in dit pakket, dus u hoeft geen afzonderlijk type pakket te installeren.Typings are included with this package, so you do not need to install a separate typings package.

import { ApplicationInsights } from '@microsoft/applicationinsights-web'

const appInsights = new ApplicationInsights({ config: {
  instrumentationKey: 'YOUR_INSTRUMENTATION_KEY_GOES_HERE'
  /* ...Other Configuration Options... */
} });
appInsights.loadAppInsights();
appInsights.trackPageView(); // Manually call trackPageView to establish the current user/session/pageview

Installatie op basis van een fragmentSnippet based setup

Als uw app geen gebruik maakt van NPM, kunt u uw webpagina's rechtstreeks met Application Insights door middel van het plakken van dit fragment boven aan de pagina's.If your app does not use npm, you can directly instrument your webpages with Application Insights by pasting this snippet at the top of each your pages. Bij voor keur moet het het eerste script in uw <head> sectie zijn, zodat alle potentiële problemen met al uw afhankelijkheden en eventueel java script-fouten kunnen worden gecontroleerd.Preferably, it should be the first script in your <head> section so that it can monitor any potential issues with all of your dependencies and optionally any JavaScript errors. Als u een razendsnelle server-app gebruikt, voegt u het fragment boven aan het bestand _Host.cshtml in de <head> sectie toe.If you are using Blazor Server App, add the snippet at the top of the file _Host.cshtml in the <head> section.

Om u te helpen bij het volgen van de versie van het fragment dat door uw toepassing wordt gebruikt, vanaf versie 2.5.5 de gebeurtenis pagina weergave bevat een nieuwe tag ' ai. internal. fragment ', waarin de geïdentificeerde fragment versie wordt opgenomen.To assist with tracking which version of the snippet your application is using, starting from version 2.5.5 the page view event will include a new tag "ai.internal.snippet" that will contain the identified snippet version.

Het huidige fragment (hieronder weer gegeven) wordt aangeduid als versie 3.The current Snippet (listed below) will be identified as version "3".

<script type="text/javascript">
!function(T,l,y){var S=T.location,u="script",k="instrumentationKey",D="ingestionendpoint",C="disableExceptionTracking",E="ai.device.",I="toLowerCase",b="crossOrigin",w="POST",e="appInsightsSDK",t=y.name||"appInsights";(y.name||T[e])&&(T[e]=t);var n=T[t]||function(d){var g=!1,f=!1,m={initialize:!0,queue:[],sv:"4",version:2,config:d};function v(e,t){var n={},a="Browser";return n[E+"id"]=a[I](),n[E+"type"]=a,n["ai.operation.name"]=S&&S.pathname||"_unknown_",n["ai.internal.sdkVersion"]="javascript:snippet_"+(m.sv||m.version),{time:function(){var e=new Date;function t(e){var t=""+e;return 1===t.length&&(t="0"+t),t}return e.getUTCFullYear()+"-"+t(1+e.getUTCMonth())+"-"+t(e.getUTCDate())+"T"+t(e.getUTCHours())+":"+t(e.getUTCMinutes())+":"+t(e.getUTCSeconds())+"."+((e.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}}}}var h=d.url||y.src;if(h){function a(e){var t,n,a,i,r,o,s,c,p,l,u;g=!0,m.queue=[],f||(f=!0,t=h,s=function(){var e={},t=d.connectionString;if(t)for(var n=t.split(";"),a=0;a<n.length;a++){var i=n[a].split("=");2===i.length&&(e[i[0][I]()]=i[1])}if(!e[D]){var r=e.endpointsuffix,o=r?e.location:null;e[D]="https://"+(o?o+".":"")+"dc."+(r||"services.visualstudio.com")}return e}(),c=s[k]||d[k]||"",p=s[D],l=p?p+"/v2/track":config.endpointUrl,(u=[]).push((n="SDK LOAD Failure: Failed to load Application Insights SDK script (See stack for details)",a=t,i=l,(o=(r=v(c,"Exception")).data).baseType="ExceptionData",o.baseData.exceptions=[{typeName:"SDKLoadFailed",message:n.replace(/\./g,"-"),hasFullStack:!1,stack:n+"\nSnippet failed to load ["+a+"] -- Telemetry is disabled\nHelp Link: https://go.microsoft.com/fwlink/?linkid=2128109\nHost: "+(S&&S.pathname||"_unknown_")+"\nEndpoint: "+i,parsedStack:[]}],r)),u.push(function(e,t,n,a){var i=v(c,"Message"),r=i.data;r.baseType="MessageData";var o=r.baseData;return o.message='AI (Internal): 99 message:"'+("SDK LOAD Failure: Failed to load Application Insights SDK script (See stack for details) ("+n+")").replace(/\"/g,"")+'"',o.properties={endpoint:a},i}(0,0,t,l)),function(e,t){if(JSON){var n=T.fetch;if(n&&!y.useXhr)n(t,{method:w,body:JSON.stringify(e),mode:"cors"});else if(XMLHttpRequest){var a=new XMLHttpRequest;a.open(w,t),a.setRequestHeader("Content-type","application/json"),a.send(JSON.stringify(e))}}}(u,l))}function i(e,t){f||setTimeout(function(){!t&&m.core||a()},500)}var e=function(){var n=l.createElement(u);n.src=h;var e=y[b];return!e&&""!==e||"undefined"==n[b]||(n[b]=e),n.onload=i,n.onerror=a,n.onreadystatechange=function(e,t){"loaded"!==n.readyState&&"complete"!==n.readyState||i(0,t)},n}();y.ld<0?l.getElementsByTagName("head")[0].appendChild(e):setTimeout(function(){l.getElementsByTagName(u)[0].parentNode.appendChild(e)},y.ld||0)}try{m.cookie=l.cookie}catch(p){}function t(e){for(;e.length;)!function(t){m[t]=function(){var e=arguments;g||m.queue.push(function(){m[t].apply(m,e)})}}(e.pop())}var n="track",r="TrackPage",o="TrackEvent";t([n+"Event",n+"PageView",n+"Exception",n+"Trace",n+"DependencyData",n+"Metric",n+"PageViewPerformance","start"+r,"stop"+r,"start"+o,"stop"+o,"addTelemetryInitializer","setAuthenticatedUserContext","clearAuthenticatedUserContext","flush"]),m.SeverityLevel={Verbose:0,Information:1,Warning:2,Error:3,Critical:4};var s=(d.extensionConfig||{}).ApplicationInsightsAnalytics||{};if(!0!==d[C]&&!0!==s[C]){method="onerror",t(["_"+method]);var c=T[method];T[method]=function(e,t,n,a,i){var r=c&&c(e,t,n,a,i);return!0!==r&&m["_"+method]({message:e,url:t,lineNumber:n,columnNumber:a,error:i}),r},d.autoExceptionInstrumented=!0}return m}(y.cfg);(T[t]=n).queue&&0===n.queue.length&&n.trackPageView({})}(window,document,{
src: "https://az416426.vo.msecnd.net/scripts/b/ai.2.min.js", // The SDK URL Source
//name: "appInsights", // Global SDK Instance name defaults to "appInsights" when not supplied
//ld: 0, // Defines the load delay (in ms) before attempting to load the sdk. -1 = block page load and add to head. (default) = 0ms load after timeout,
//useXhr: 1, // Use XHR instead of fetch to report failures (if available),
//crossOrigin: "anonymous", // When supplied this will add the provided value as the cross origin attribute on the script tag 
cfg: { // Application Insights Configuration
    instrumentationKey: "YOUR_INSTRUMENTATION_KEY_GOES_HERE"
    /* ...Other Configuration Options... */
}});
</script>

Notitie

Voor de Lees baarheid en om mogelijke java script-fouten te verminderen, worden alle mogelijke configuratie opties vermeld op een nieuwe regel in code hierboven. Als u de waarde van een gefragmenteerde lijn niet wilt wijzigen, kunt u deze verwijderen.For readability and to reduce possible JavaScript errors, all of the possible configuration options are listed on a new line in snippet code above, if you don't want to change the value of a commented line it can be removed.

Fouten bij het laden van scripts meldenReporting Script load failures

Deze versie van het fragment detecteert en rapporteert fouten bij het laden van de SDK van het CDN als een uitzonde ring op de Azure Monitor-Portal (in de > browser uitzonde ringen op fouten > ), zodat u weet dat de toepassing geen telemetrie (of andere uitzonde ringen) rapporteert zoals verwacht.This version of the snippet detects and reports failures when loading the SDK from the CDN as an exception to the Azure Monitor portal (under the failures > exceptions > browser), this exception provides visibility into failures of this type so that you are aware that your application is not reporting telemetry (or other exceptions) as expected. Dit signaal is een belang rijke meet tijd om te weten dat u telemetrie kwijt bent omdat de SDK niet is geladen of geïnitialiseerd, wat kan leiden tot:This signal is an important measurement in understanding that you have lost telemetry because the SDK did not load or initialize which can lead to:

  • Onder-rapportage over hoe gebruikers uw site gebruiken (of proberen te gebruiken);Under-reporting of how users are using (or trying to use) your site;
  • Er ontbreekt een telemetrie voor het gebruik van uw site door uw eind gebruikers.Missing telemetry on how your end users are using your site;
  • Er ontbreken java script-fouten waardoor het mogelijk is dat uw eind gebruikers uw site gebruiken.Missing JavaScript errors that could potentially be blocking your end users from successfully using your site.

Ga voor meer informatie over deze uitzonde ring naar de pagina SDK Load Failure Troubleshooting (Engelstalig).For details on this exception see the SDK load failure troubleshooting page.

Rapportage van deze fout als een uitzonde ring op de portal maakt geen gebruik van de configuratie optie disableExceptionTracking van de Application Insights-configuratie. als deze fout zich voordoet, wordt deze altijd gerapporteerd door het code fragment, zelfs wanneer de ondersteuning Window. onerror wordt uitgeschakeld.Reporting of this failure as an exception to the portal does not use the configuration option disableExceptionTracking from the application insights configuration and therefore if this failure occurs it will always be reported by the snippet, even when the window.onerror support is disabled.

Rapportage van problemen met SDK-belasting wordt specifiek niet ondersteund op IE 8 (of lager).Reporting of SDK load failures is specifically NOT supported on IE 8 (or less). Dit helpt bij het verminderen van de minified grootte van het fragment door ervan uit te gaan dat de meeste omgevingen niet uitsluitend IE 8 of minder zijn.This assists with reducing the minified size of the snippet by assuming that most environments are not exclusively IE 8 or less. Als u deze vereiste hebt en u deze uitzonde ringen wilt ontvangen, moet u een ophaal-poly vulling opnemen of uw eigen fragment versie maken die wordt gebruikt XDomainRequest in plaats van XMLHttpRequest . het wordt aanbevolen dat u de gegeven bron code voor het fragment als uitgangs punt gebruikt.If you have this requirement and you wish to receive these exceptions, you will need to either include a fetch poly fill or create you own snippet version that uses XDomainRequest instead of XMLHttpRequest, it is recommended that you use the provided snippet source code as a starting point.

Notitie

Als u een eerdere versie van het fragment gebruikt, wordt het ten zeerste aanbevolen dat u de nieuwste versie bijwerkt, zodat u deze eerder niet-gemelde problemen ontvangt.If you are using a previous version of the snippet, it is highly recommended that you update to the latest version so that you will receive these previously unreported issues.

Opties voor fragment configuratieSnippet configuration options

Alle configuratie opties zijn nu aan het einde van het script geplaatst om te voor komen dat er per ongeluk java script-fouten worden geïntroduceerd waardoor de SDK niet kan worden geladen, maar ook de rapportage van de fout wordt uitgeschakeld.All configuration options have now been move towards the end of the script to help avoid accidentally introducing JavaScript errors that would not just cause the SDK to fail to load, but also it would disable the reporting of the failure.

Elke configuratie optie wordt hierboven op een nieuwe regel weer gegeven. Als u de standaard waarde van een item dat wordt weer gegeven als [Optioneel] niet wilt overschrijven, kunt u die regel verwijderen om de resulterende grootte van de geretourneerde pagina te minimaliseren.Each configuration option is shown above on a new line, if you don't wish to override the default value of an item listed as [optional] you can remove that line to minimize the resulting size of your returned page.

De beschik bare configuratie opties zijnThe available configuration options are

NaamName TypeType BeschrijvingDescription
srcsrc teken reeks [vereist]string [required] De volledige URL van waaruit de SDK moet worden geladen.The full URL for where to load the SDK from. Deze waarde wordt gebruikt voor het kenmerk src van een dynamisch toegevoegd < script/ > label.This value is used for the "src" attribute of a dynamically added <script /> tag. U kunt de open bare CDN-locatie of uw eigen privé-hostserver gebruiken.You can use the public CDN location or your own privately hosted one.
naamname teken reeks [Optioneel]string [optional] De globale naam voor de geïnitialiseerde SDK, wordt standaard ingesteld op appInsights .The global name for the initialized SDK, defaults to appInsights. Dit is dus window.appInsights een verwijzing naar het geïnitialiseerde exemplaar.So window.appInsights will be a reference to the initialized instance. Opmerking: als u een naam waarde opgeeft of een vorige instantie lijkt te zijn toegewezen (via de globale naam appInsightsSDK), wordt deze naam ook gedefinieerd in de globale naam ruimte, omdat window.appInsightsSDK=<name value> Dit vereist is voor de SDK-initialisatie code om ervoor te zorgen dat deze de juiste skelet-en proxy methoden van het fragment initialiseert en bijwerkt.Note: if you provide a name value or a previous instance appears to be assigned (via the global name appInsightsSDK) then this name value will also be defined in the global namespace as window.appInsightsSDK=<name value>, this is required by the SDK initialization code to ensure it's initializing and updating the correct snippet skeleton and proxy methods.
!ld nummer in MS [Optioneel]number in ms [optional] Hiermee wordt de laad vertraging gedefinieerd die moet worden gewacht voordat wordt geprobeerd de SDK te laden.Defines the load delay to wait before attempting to load the SDK. De standaard waarde is 0ms en een negatieve waarde voegt onmiddellijk een script code toe aan het < hoofd > gebied van de pagina. vervolgens wordt de gebeurtenis voor het laden van de pagina geblokkeerd totdat het script wordt geladen (of mislukt).Default value is 0ms and any negative value will immediately add a script tag to the <head> region of the page, which will then block the page load event until to script is loaded (or fails).
useXhruseXhr Booleaanse waarde [Optioneel]boolean [optional] Deze instelling wordt alleen gebruikt voor het rapporteren van SDK-laad fouten.This setting is used only for reporting SDK load failures. Reporting probeert eerst fetch (), indien beschikbaar en vervolgens terug te gebruiken naar XHR, om deze waarde in te stellen op True, alleen de ophaal controle te omzeilen.Reporting will first attempt to use fetch() if available and then fallback to XHR, setting this value to true just bypasses the fetch check. Het gebruik van deze waarde is alleen vereist als uw toepassing wordt gebruikt in een omgeving waarin ophalen de fout gebeurtenissen niet zou kunnen verzenden.Use of this value is only be required if your application is being used in an environment where fetch would fail to send the failure events.
crossOrigincrossOrigin teken reeks [Optioneel]string [optional] Door deze instelling op te nemen, neemt de script code die is toegevoegd voor het downloaden van de SDK het kenmerk crossOrigin met deze teken reeks waarde.By including this setting, the script tag added to download the SDK will include the crossOrigin attribute with this string value. Wanneer niet gedefinieerd (de standaard instelling), wordt er geen crossOrigin-kenmerk toegevoegd.When not defined (the default) no crossOrigin attribute is added. Er zijn geen aanbevolen waarden gedefinieerd (de standaard instelling). ""; of anoniem (voor alle geldige waarden raadpleegt u HTML-kenmerk crossorigin : documentatie)Recommended values are not defined (the default); ""; or "anonymous" (For all valid values see HTML attribute: crossorigin documentation)
configuratiecfg object [vereist]object [required] De configuratie die wordt door gegeven aan de Application Insights SDK tijdens de initialisatie.The configuration passed to the Application Insights SDK during initialization.

Telemetrie verzenden naar de Azure PortalSending telemetry to the Azure portal

Standaard verzamelt de Application Insights java script SDK een aantal telemetriegegevens die nuttig zijn bij het bepalen van de status van uw toepassing en de onderliggende gebruikers ervaring.By default the Application Insights JavaScript SDK autocollects a number of telemetry items that are helpful in determining the health of your application and the underlying user experience. Deze omvatten:These include:

  • Niet- onderschepte uitzonde ringen in uw app, inclusief informatie overUncaught exceptions in your app, including information on
    • Stack traceringStack trace
    • Details van uitzonde ring en bericht dat de fout vergezeltException details and message accompanying the error
    • Regel & kolom aantal foutenLine & column number of error
    • URL waar de fout is opgetredenURL where error was raised
  • Aanvragen voor netwerk afhankelijkheden die zijn gemaakt door uw app xhr en Fetch (de verzameling ophalen is standaard uitgeschakeld), bevatten informatie overNetwork Dependency Requests made by your app XHR and Fetch (fetch collection is disabled by default) requests, include information on
    • URL van afhankelijkheids bronUrl of dependency source
    • Opdracht & methode voor het aanvragen van de afhankelijkheidCommand & Method used to request the dependency
    • Duur van de aanvraagDuration of the request
    • Resultaat code en succes status van de aanvraagResult code and success status of the request
    • ID (indien van toepassing) van de gebruiker die de aanvraag maaktID (if any) of user making the request
    • Correlatie context (indien aanwezig) waar de aanvraag is ingediendCorrelation context (if any) where request is made
  • Gebruikers informatie (bijvoorbeeld locatie, netwerk, IP)User information (for example, Location, network, IP)
  • Apparaatgegevens (bijvoorbeeld browser, besturings systeem, versie, taal, model)Device information (for example, Browser, OS, version, language, model)
  • SessiegegevensSession information

Initialisatie functies voor telemetrieTelemetry initializers

Initialisatie functies voor telemetrie worden gebruikt om de inhoud van de verzamelde telemetrie te wijzigen voordat ze worden verzonden vanuit de browser van de gebruiker.Telemetry initializers are used to modify the contents of collected telemetry before being sent from the user's browser. Ze kunnen ook worden gebruikt om te voor komen dat bepaalde telemetriegegevens worden verzonden door te retour neren false .They can also be used to prevent certain telemetry from being sent, by returning false. U kunt meerdere telemetrie-initialisatie functies toevoegen aan uw Application Insights-exemplaar en ze worden uitgevoerd in de volg orde waarin ze worden toegevoegd.Multiple telemetry initializers can be added to your Application Insights instance, and they are executed in order of adding them.

Het invoer argument voor addTelemetryInitializer is een call back die een ITelemetryItem als-argument gebruikt en een boolean or retourneert void .The input argument to addTelemetryInitializer is a callback that takes a ITelemetryItem as an argument and returns a boolean or void. Als er false wordt geretourneerd, wordt het telemetrie-item niet verzonden. anders wordt het teruggestuurd naar de volgende telemetrie-initialisatie functie, indien van toepassing, of verzonden naar het eind punt van de telemetrie-verzameling.If returning false, the telemetry item is not sent, else it proceeds to the next telemetry initializer, if any, or is sent to the telemetry collection endpoint.

Een voor beeld van het gebruik van telemetrie-initialisatie functies:An example of using telemetry initializers:

var telemetryInitializer = (envelope) => {
  envelope.data.someField = 'This item passed through my telemetry initializer';
};
appInsights.addTelemetryInitializer(telemetryInitializer);
appInsights.trackTrace({message: 'This message will use a telemetry initializer'});

appInsights.addTelemetryInitializer(() => false); // Nothing is sent after this is executed
appInsights.trackTrace({message: 'this message will not be sent'}); // Not sent

ConfiguratieConfiguration

De meeste configuratie velden hebben de naam zo, dat ze standaard kunnen worden ingesteld op ONWAAR.Most configuration fields are named such that they can be defaulted to false. Alle velden zijn optioneel, behalve voor instrumentationKey .All fields are optional except for instrumentationKey.

NaamName StandaardDefault BeschrijvingDescription
instrumentationKeyinstrumentationKey nullnull VereistRequired
Instrumentatie sleutel die u hebt verkregen van de Azure Portal.Instrumentation key that you obtained from the Azure portal.
accountIdaccountId nullnull Een optionele account-ID als uw app gebruikers in accounts groepeert.An optional account ID, if your app groups users into accounts. Geen spaties, komma's, punt komma's, is gelijk aan of verticale balkenNo spaces, commas, semicolons, equals, or vertical bars
sessionRenewalMssessionRenewalMs 18000001800000 Er wordt een sessie geregistreerd als de gebruiker gedurende deze tijd inactief is in milliseconden.A session is logged if the user is inactive for this amount of time in milliseconds. De standaard waarde is 30 minutenDefault is 30 minutes
sessionExpirationMssessionExpirationMs 8640000086400000 Een sessie wordt geregistreerd als deze de tijd in milliseconden heeft geduurd.A session is logged if it has continued for this amount of time in milliseconds. De standaard waarde is 24 uurDefault is 24 hours
maxBatchSizeInBytesmaxBatchSizeInBytes 10.00010000 De maximale grootte van de telemetrie batch.Max size of telemetry batch. Als een batch deze limiet overschrijdt, wordt deze onmiddellijk verzonden en wordt een nieuwe batch gestartIf a batch exceeds this limit, it is immediately sent and a new batch is started
maxBatchIntervalmaxBatchInterval 15.00015000 Hoe lang batch-telemetrie voor verzen ding (in milliseconden)How long to batch telemetry for before sending (milliseconds)
disableExceptionTrackingdisableExceptionTracking onjuistfalse Als deze eigenschap waar is, worden uitzonde ringen niet verzameld.If true, exceptions are no autocollected. De standaardinstelling is onwaar.Default is false.
disableTelemetrydisableTelemetry onjuistfalse Indien waar, wordt de telemetrie niet verzameld of verzonden.If true, telemetry is not collected or sent. De standaardinstelling is onwaar.Default is false.
enableDebugenableDebug onjuistfalse Indien waar, worden interne fout opsporingsgegevens gegenereerd als een uitzonde ring in plaats van vastgelegd, ongeacht de instellingen voor de logboek registratie van de SDK.If true, internal debugging data is thrown as an exception instead of being logged, regardless of SDK logging settings. De standaardinstelling is onwaar.Default is false.
Opmerking: Als u deze instelling inschakelt, wordt de telemetrie verwijderd wanneer er een interne fout optreedt.Note: Enabling this setting will result in dropped telemetry whenever an internal error occurs. Dit kan handig zijn voor het snel identificeren van problemen met uw configuratie of het gebruik van de SDK.This can be useful for quickly identifying issues with your configuration or usage of the SDK. Als u geen telemetriegegevens wilt verliezen tijdens het opsporen van fouten, kunt u overwegen consoleLoggingLevel of telemetryLoggingLevel in plaats van te gebruiken enableDebug .If you do not want to lose telemetry while debugging, consider using consoleLoggingLevel or telemetryLoggingLevel instead of enableDebug.
loggingLevelConsoleloggingLevelConsole 00 Registreert interne Application Insights fouten in de console.Logs internal Application Insights errors to console.
0: uit,0: off,
1: alleen kritieke fouten,1: Critical errors only,
2: alles (fouten & waarschuwingen)2: Everything (errors & warnings)
loggingLevelTelemetryloggingLevelTelemetry 11 Hiermee worden interne Application Insights-fouten als telemetriegegevens verzonden.Sends internal Application Insights errors as telemetry.
0: uit,0: off,
1: alleen kritieke fouten,1: Critical errors only,
2: alles (fouten & waarschuwingen)2: Everything (errors & warnings)
diagnosticLogIntervaldiagnosticLogInterval 10.00010000 binnen Polling-interval (in MS) voor interne logboek registratie wachtrij(internal) Polling interval (in ms) for internal logging queue
samplingPercentagesamplingPercentage 100100 Het percentage gebeurtenissen dat wordt verzonden.Percentage of events that will be sent. De standaard waarde is 100, wat betekent dat alle gebeurtenissen worden verzonden.Default is 100, meaning all events are sent. Stel deze waarde in als u uw gegevens limiet voor grootschalige toepassingen wilt behouden.Set this if you wish to preserve your data cap for large-scale applications.
autoTrackPageVisitTimeautoTrackPageVisitTime onjuistfalse Indien true, op een pagina weergave, wordt de vorige gestuurde pagina tijd bijgehouden als telemetrie en wordt er een nieuwe timer gestart voor de huidige pagina weergave.If true, on a pageview, the previous instrumented page's view time is tracked and sent as telemetry and a new timer is started for the current pageview. De standaardinstelling is onwaar.Default is false.
disableAjaxTrackingdisableAjaxTracking onjuistfalse Indien true, worden Ajax-aanroepen niet autoinnen.If true, Ajax calls are not autocollected. De standaardinstelling is onwaar.Default is false.
disableFetchTrackingdisableFetchTracking waartrue Indien waar, worden aanvragen voor ophalen niet meer verzameld.If true, Fetch requests are not autocollected. De standaard waarde is TrueDefault is true
overridePageViewDurationoverridePageViewDuration onjuistfalse Als deze eigenschap waar is, wordt het standaard gedrag van trackPageView gewijzigd om het eind punt van de pagina weergave te registreren wanneer trackPageView wordt aangeroepen.If true, default behavior of trackPageView is changed to record end of page view duration interval when trackPageView is called. Als deze eigenschap onwaar is en er geen aangepaste duur wordt gegeven aan trackPageView, wordt de prestaties van de pagina weergave berekend met behulp van de API voor navigatie tijd.If false and no custom duration is provided to trackPageView, the page view performance is calculated using the navigation timing API. De standaardinstelling is onwaar.Default is false.
maxAjaxCallsPerViewmaxAjaxCallsPerView 500500 Standaard 500-bepaalt hoeveel Ajax-aanroepen worden bewaakt per pagina weergave.Default 500 - controls how many Ajax calls will be monitored per page view. Stel deze waarde in op-1 om alle Ajax-aanroepen (onbeperkt) op de pagina te bewaken.Set to -1 to monitor all (unlimited) Ajax calls on the page.
disableDataLossAnalysisdisableDataLossAnalysis waartrue Indien onwaar, worden interne telemetriegegevens van de verzender bij het opstarten gecontroleerd op items die nog niet zijn verzonden.If false, internal telemetry sender buffers will be checked at startup for items not yet sent.
disableCorrelationHeadersdisableCorrelationHeaders onjuistfalse Als deze eigenschap onwaar is, voegt de SDK twee headers (' aanvraag-id ' en ' request-context ') toe aan alle afhankelijkheids aanvragen om ze te correleren met bijbehorende aanvragen aan de server zijde.If false, the SDK will add two headers ('Request-Id' and 'Request-Context') to all dependency requests to correlate them with corresponding requests on the server side. De standaardinstelling is onwaar.Default is false.
correlationHeaderExcludedDomainscorrelationHeaderExcludedDomains Correlatie headers voor specifieke domeinen uitschakelenDisable correlation headers for specific domains
correlationHeaderDomainscorrelationHeaderDomains Correlatie headers voor specifieke domeinen inschakelenEnable correlation headers for specific domains
disableFlushOnBeforeUnloaddisableFlushOnBeforeUnload onjuistfalse De standaard waarde is False.Default false. Indien waar, wordt de methode flush niet aangeroepen wanneer onBeforeUnload gebeurtenis triggersIf true, flush method will not be called when onBeforeUnload event triggers
enableSessionStorageBufferenableSessionStorageBuffer waartrue Standaard waarde waar.Default true. Als deze eigenschap waar is, wordt de buffer met alle niet-verzonden telemetrie opgeslagen in de sessie opslag.If true, the buffer with all unsent telemetry is stored in session storage. De buffer wordt hersteld bij het laden van pagina'sThe buffer is restored on page load
isCookieUseDisabledisCookieUseDisabled onjuistfalse De standaard waarde is False.Default false. Als deze eigenschap waar is, worden er geen gegevens van cookies opgeslagen of gelezen met de SDK.If true, the SDK will not store or read any data from cookies.
cookieDomaincookieDomain nullnull Aangepast cookie domein.Custom cookie domain. Dit is handig als u Application Insights cookies wilt delen in subdomeinen.This is helpful if you want to share Application Insights cookies across subdomains.
isRetryDisabledisRetryDisabled onjuistfalse De standaard waarde is False.Default false. Indien onwaar, opnieuw proberen op 206 (gedeeltelijk geslaagd), 408 (time-out), 429 (te veel aanvragen), 500 (interne server fout), 503 (service niet beschikbaar) en 0 (alleen offline, alleen indien gedetecteerd)If false, retry on 206 (partial success), 408 (timeout), 429 (too many requests), 500 (internal server error), 503 (service unavailable), and 0 (offline, only if detected)
isStorageUseDisabledisStorageUseDisabled onjuistfalse Als deze eigenschap waar is, worden er geen gegevens uit lokale en sessie opslag opgeslagen of gelezen met de SDK.If true, the SDK will not store or read any data from local and session storage. De standaardinstelling is onwaar.Default is false.
isBeaconApiDisabledisBeaconApiDisabled waartrue Als deze eigenschap onwaar is, verzendt de SDK alle telemetrie met behulp van de Beacon-APIIf false, the SDK will send all telemetry using the Beacon API
onunloadDisableBeacononunloadDisableBeacon onjuistfalse De standaard waarde is False.Default false. Wanneer het tabblad wordt gesloten, verzendt de SDK alle resterende telemetrie met behulp van de Beacon-APIwhen tab is closed, the SDK will send all remaining telemetry using the Beacon API
sdkExtensionsdkExtension nullnull Hiermee stelt u de naam van de SDK-extensie.Sets the sdk extension name. Alleen alfabetische tekens zijn toegestaan.Only alphabetic characters are allowed. De naam van de extensie wordt toegevoegd als een voor voegsel voor de tag ' ai. internal. sdkVersion ' (bijvoorbeeld ' ext_javascript: 2.0.0 ').The extension name is added as a prefix to the 'ai.internal.sdkVersion' tag (for example, 'ext_javascript:2.0.0'). De standaard waarde is null.Default is null.
isBrowserLinkTrackingEnabledisBrowserLinkTrackingEnabled onjuistfalse De standaardinstelling is onwaar.Default is false. Indien waar, worden alle aanvragen voor browser koppelingen door de SDK bijgehouden.If true, the SDK will track all Browser Link requests.
appIdappId nullnull AppId wordt gebruikt voor de correlatie tussen AJAX-afhankelijkheden die zich voordoen aan de client zijde met de aanvragen aan de server zijde.AppId is used for the correlation between AJAX dependencies happening on the client-side with the server-side requests. Als Beacon-API is ingeschakeld, kan deze niet automatisch worden gebruikt, maar deze kan hand matig worden ingesteld in de configuratie.When Beacon API is enabled, it cannot be used automatically, but can be set manually in the configuration. De standaard waarde is nullDefault is null
enableCorsCorrelationenableCorsCorrelation onjuistfalse Als deze eigenschap waar is, voegt de SDK twee headers (' aanvraag-id ' en ' request-context ') toe aan alle CORS-aanvragen voor het correleren van uitgaande AJAX-afhankelijkheden met bijbehorende aanvragen aan de server zijde.If true, the SDK will add two headers ('Request-Id' and 'Request-Context') to all CORS requests to correlate outgoing AJAX dependencies with corresponding requests on the server side. De standaard waarde is FalseDefault is false
namePrefixnamePrefix gedefinieerdeundefined Een optionele waarde die wordt gebruikt als naam achtervoegsel voor localStorage en cookie naam.An optional value that will be used as name postfix for localStorage and cookie name.
enableAutoRouteTrackingenableAutoRouteTracking onjuistfalse Route wijzigingen automatisch bijhouden in toepassingen met één pagina (SPA).Automatically track route changes in Single Page Applications (SPA). Indien waar, stuurt elke route wijziging een nieuwe pagina weergave naar Application Insights.If true, each route change will send a new Pageview to Application Insights. Hash-route wijzigingen ( example.com/foo#bar ) worden ook vastgelegd als nieuwe pagina weergaven.Hash route changes (example.com/foo#bar) are also recorded as new page views.
enableRequestHeaderTrackingenableRequestHeaderTracking onjuistfalse Indien waar, worden AJAX-& aanvraag headers voor ophalen bijgehouden. de standaard waarde is False.If true, AJAX & Fetch request headers is tracked, default is false.
enableResponseHeaderTrackingenableResponseHeaderTracking onjuistfalse Als deze waarde True is, wordt de antwoord headers voor de aanvraag van AJAX & ophalen bijgehouden. de standaard waarde is False.If true, AJAX & Fetch request's response headers is tracked, default is false.
distributedTracingModedistributedTracingMode DistributedTracingModes.AI Hiermee stelt u de gedistribueerde traceer modus in.Sets the distributed tracing mode. Als AI_AND_W3C modus of de W3C-modus is ingesteld, worden W3C-tracering context headers (traceparent/tracestate) gegenereerd en opgenomen in alle uitgaande aanvragen.If AI_AND_W3C mode or W3C mode is set, W3C trace context headers (traceparent/tracestate) will be generated and included in all outgoing requests. AI_AND_W3C is voorzien van back-compatibiliteit met alle verouderde services die zijn Application Insights instrumented.AI_AND_W3C is provided for back-compatibility with any legacy Application Insights instrumented services. Zie hiervoor beeld.See example here.
enableAjaxErrorStatusTextenableAjaxErrorStatusText onjuistfalse De standaard waarde is False.Default false. Indien waar, wordt tekst met een reactie fout gegevens in afhankelijkheids gebeurtenis ingevoegd op mislukte AJAX-aanvragen.If true, include response error data text in dependency event on failed AJAX requests.
enableAjaxPerfTrackingenableAjaxPerfTracking onjuistfalse De standaard waarde is False.Default false. Vlag waarmee u het opzoeken van het aanvullende browser venster kunt inschakelen. de prestatie-instellingen in de gerapporteerde ajax (xhr en Fetch) gerapporteerde metrische gegevens.Flag to enable looking up and including additional browser window.performance timings in the reported ajax (XHR and fetch) reported metrics.
maxAjaxPerfLookupAttemptsmaxAjaxPerfLookupAttempts 33 De standaard waarde is 3.Defaults to 3. Het maximum aantal keer dat er naar het venster moet worden gekeken. prestatie tijd (indien beschikbaar). Dit is vereist omdat niet alle browsers het venster invullen. prestaties vóór het rapporteren van het einde van de XHR-aanvraag en voor aanvragen voor ophalen wordt deze toegevoegd na het volt ooien.The maximum number of times to look for the window.performance timings (if available), this is required as not all browsers populate the window.performance before reporting the end of the XHR request and for fetch requests this is added after its complete.
ajaxPerfLookupDelayajaxPerfLookupDelay 2525 De standaard waarde is 25 MS.Defaults to 25 ms. De hoeveelheid tijd die moet worden gewacht voordat opnieuw wordt geprobeerd om de Vensters te vinden. prestatie-instellingen voor een ajax aanvraag, tijd is in milliseconden en wordt direct door gegeven aan setTimeout ().The amount of time to wait before re-attempting to find the windows.performance timings for an ajax request, time is in milliseconds and is passed directly to setTimeout().
enableUnhandledPromiseRejectionTrackingenableUnhandledPromiseRejectionTracking onjuistfalse Indien waar, worden niet-verwerkte beloofings afwijzingen automatisch verzameld en gerapporteerd als Java script-fout.If true, unhandled promise rejections will be autocollected and reported as a JavaScript error. Wanneer disableExceptionTracking is ingesteld op True (geen uitzonde ringen bijhouden), wordt de configuratie waarde genegeerd en worden niet-verwerkte beloofe weigeringen niet gerapporteerd.When disableExceptionTracking is true (don't track exceptions), the config value will be ignored and unhandled promise rejections will not be reported.

Toepassingen met één paginaSingle Page Applications

Deze SDK verwerkt standaard geen route wijzigingen op basis van status die optreden in toepassingen met één pagina.By default, this SDK will not handle state-based route changing that occurs in single page applications. Als u het bijhouden van automatische route wijzigingen wilt inschakelen voor uw toepassing met één pagina, kunt u enableAutoRouteTracking: true aan uw installatie configuratie toevoegen.To enable automatic route change tracking for your single page application, you can add enableAutoRouteTracking: true to your setup configuration.

Op dit moment bieden we een afzonderlijke reageer-plugin, die u kunt initialiseren met deze SDK.Currently, we offer a separate React plugin, which you can initialize with this SDK. Ook wordt het bijhouden van route wijzigingen voor u uitgevoerd, evenals andere gereageerde telemetrie.It will also accomplish route change tracking for you, as well as collect other React specific telemetry.

Notitie

Gebruik enableAutoRouteTracking: true alleen als u de niet -reagerende invoeg toepassing niet gebruikt.Use enableAutoRouteTracking: true only if you are not using the React plugin. Beide kunnen nieuwe page views verzenden wanneer de route verandert.Both are capable of sending new PageViews when the route changes. Als beide zijn ingeschakeld, kan dubbele page views worden verzonden.If both are enabled, duplicate PageViews may be sent.

Configuratie: autoTrackPageVisitTimeConfiguration: autoTrackPageVisitTime

Als u deze instelling inschakelt autoTrackPageVisitTime: true , wordt de tijd die een gebruiker aan elke pagina besteed, bijgehouden.By setting autoTrackPageVisitTime: true, the time a user spends on each page is tracked. Bij elke nieuwe pagina weergave wordt de duur die de gebruiker op de vorige pagina heeft besteed, verzonden als een aangepaste metriek met de naam PageVisitTime .On each new PageView, the duration the user spent on the previous page is sent as a custom metric named PageVisitTime. Deze aangepaste metriek kan worden weer gegeven in de Metrics Explorer als een ' op logboek gebaseerde metriek '.This custom metric is viewable in the Metrics Explorer as a "log-based metric".

Extensies voor reagerenReact extensions

ExtensiesExtensions
ReactReact
React NativeReact Native

CorrelatieCorrelation

Correlatie van client naar server zijde wordt ondersteund voor:Client to server-side correlation is supported for:

  • XHR/AJAX-aanvragenXHR/AJAX requests
  • Aanvragen ophalenFetch requests

Correlatie tussen client en server zijde wordt niet ondersteund voor GET en- POST aanvragen.Client to server-side correlation is not supported for GET and POST requests.

Kruis-onderdeel correlatie tussen client-AJAX en server aanvragen inschakelenEnable cross-component correlation between client AJAX and server requests

Om correlatie in te scha kelen CORS , moet de client twee extra aanvraag headers verzenden Request-Id en moet Request-Context de server de verbindingen met deze headers kunnen accepteren.To enable CORS correlation, the client needs to send two additional request headers Request-Id and Request-Context, and the server-side needs to be able to accept connections with those headers present. Het verzenden van deze headers wordt ingeschakeld via enableCorsCorrelation: true de instelling in de Java script SDK-configuratie.Sending these headers is enabled by setting enableCorsCorrelation: true within the JavaScript SDK configuration.

Afhankelijk van de Access-Control-Allow-Headers configuratie van de server is het vaak nodig om de lijst aan de server zijde uit te breiden door hand matig toe te voegen Request-Id en Request-Context .Depending on the Access-Control-Allow-Headers configuration on the server-side it is often necessary to extend the server-side list by manually adding Request-Id and Request-Context.

Access-Control-Allow-headers: Request-Id , Request-Context ,<your header>Access-Control-Allow-Headers: Request-Id, Request-Context, <your header>

Als een van de servers van derden waarmee de client communiceert Request-Id , de-en-headers niet kan accepteren Request-Context en u de configuratie ervan niet kunt bijwerken, moet u ze in een uitsluitings lijst plaatsen via de correlationHeaderExcludeDomains configuratie-eigenschap.If any of your third-party servers that the client communicates with cannot accept the Request-Id and Request-Context headers, and you cannot update their configuration, then you'll need to put them into an exclude list via the correlationHeaderExcludeDomains configuration property. Deze eigenschap ondersteunt joker tekens.This property supports wildcards.

// excerpt of the config section of the JavaScript SDK snippet with correlation
// between client-side AJAX and server requests enabled.
cfg: { // Application Insights Configuration
    instrumentationKey: "YOUR_INSTRUMENTATION_KEY_GOES_HERE"
    enableCorsCorrelation: true,
    correlationHeaderExcludedDomains: ['myapp.azurewebsites.net', '*.queue.core.windows.net']
    /* ...Other Configuration Options... */
}});
</script>

Browser/gegevens van client zijde verkennenExplore browser/client-side data

De browser/client-side gegevens kunnen worden weer gegeven door te gaan naar metrieken en afzonderlijke metrieken toe te voegen:Browser/client-side data can be viewed by going to Metrics and adding individual metrics you are interested in:

Scherm afbeelding van de pagina metrische gegevens in Application Insights grafische weer gaven van de statistieken voor een webtoepassing weer geven.

U kunt uw gegevens ook weer geven via de Java script-SDK via de browser ervaring in de portal.You can also view your data from the JavaScript SDK via the Browser experience in the portal.

Selecteer browser en kies vervolgens fouten of prestaties.Select Browser and then choose Failures or Performance.

Scherm opname van de browser pagina in Application Insights laat zien hoe browser fouten of browser prestaties kunnen worden toegevoegd aan de metrische gegevens die u kunt weer geven voor uw webtoepassing.

PrestatiesPerformance

Scherm afbeelding van de pagina prestaties in Application Insights grafische weer gaven van metrische bewerkingen voor een webtoepassing weer geven.

AfhankelijkhedenDependencies

Scherm afbeelding van de pagina prestaties in Application Insights grafische weer gaven van afhankelijkheids gegevens weer geven voor een webtoepassing.

AnalyseAnalytics

Als u een query wilt uitvoeren op uw telemetrie die is verzameld door de Java script-SDK, selecteert u de knop weer gave op Logboeken (analyse)To query your telemetry collected by the JavaScript SDK, select the View in Logs (Analytics) button. Door een instructie toe te voegen where client_Type == "Browser" , ziet u alleen gegevens van de Java script-SDK en alle telemetrie aan de server zijde die door andere sdk's zijn verzameld, worden uitgesloten.By adding a where statement of client_Type == "Browser", you will only see data from the JavaScript SDK and any server-side telemetry collected by other SDKs will be excluded.

// average pageView duration by name
let timeGrain=5m;
let dataset=pageViews
// additional filters can be applied here
| where timestamp > ago(1d)
| where client_Type == "Browser" ;
// calculate average pageView duration for all pageViews
dataset
| summarize avg(duration) by bin(timestamp, timeGrain)
| extend pageView='Overall'
// render result in a chart
| render timechart

Ondersteuning voor bron toewijzingSource Map Support

De minified-call stack van uw telemetrie van de uitzonde ring kan worden unminified in de Azure Portal.The minified callstack of your exception telemetry can be unminified in the Azure portal. Alle bestaande integraties in het deel venster uitzonderings Details werken met de nieuwe unminified-opgeroepen procedures.All existing integrations on the Exception Details panel will work with the newly unminified callstack.

U kunt uw Application Insights-resource koppelen aan uw eigen Azure Blob Storage-container om automatisch unminify te roepen.You can link your Application Insights resource to your own Azure Blob Storage container to automatically unminify call stacks. Zie automatische bron toewijzing ondersteuningom aan de slag te gaan.To get started, see automatic source map support.

Slepen en neerzettenDrag and drop

  1. Selecteer een telemetrie voor uitzonde ringen in de Azure Portal om de ' end-to-end-transactie details weer te geven 'Select an Exception Telemetry item in the Azure portal to view its "End-to-end transaction details"
  2. Identificeer welke bron kaarten overeenkomen met deze aanroep stack.Identify which source maps correspond to this call stack. De bron toewijzing moet overeenkomen met het bron bestand van een stack frame, maar een achtervoegsel met.mapThe source map must match a stack frame's source file, but suffixed with .map
  3. Sleep en zet de bron kaarten neer op de aanroep stack in de Azure Portal  een bewegende afbeelding die laat zien hoe u bron toewijzings bestanden vanuit een build-map kunt slepen en neerzetten in het stack venster met opgeroepen procedures in de Azure Portal.Drag and drop the source maps onto the call stack in the Azure portal An animated image showing how to drag and drop source map files from a build folder into the Call Stack window in the Azure portal.

Application Insights Web BasicApplication Insights Web Basic

Voor een licht gewicht-ervaring kunt u in plaats daarvan de basis versie van Application Insights installerenFor a lightweight experience, you can instead install the basic version of Application Insights

npm i --save @microsoft/applicationinsights-web-basic

Deze versie wordt geleverd met het minimale aantal functies en functionaliteiten en is afhankelijk van u om het te kunnen bouwen.This version comes with the bare minimum number of features and functionalities and relies on you to build it up as you see fit. Er wordt bijvoorbeeld geen verzameling (niet-onderschepte uitzonde ringen, AJAX, enzovoort) uitgevoerd.For example, it performs no autocollection (uncaught exceptions, AJAX, etc.). De Api's voor het verzenden van bepaalde typen telemetrie, zoals trackTrace , trackException , enzovoort, zijn niet opgenomen in deze versie, dus u moet uw eigen wrapper opgeven.The APIs to send certain telemetry types, like trackTrace, trackException, etc., are not included in this version, so you will need to provide your own wrapper. De enige API die beschikbaar is is track .The only API that is available is track. Hier vindt u een voor beeld .A sample is located here.

VoorbeeldenExamples

Voor voor beelden van uitvoer bare raadpleegt u Application Insights java script SDK -voor beeldenFor runnable examples, see Application Insights JavaScript SDK Samples

Een upgrade uitvoeren van de oude versie van Application InsightsUpgrading from the old version of Application Insights

Belang rijke wijzigingen in de SDK v2-versie:Breaking changes in the SDK V2 version:

  • Als u betere API-hand tekeningen wilt toestaan, zijn een aantal van de API-aanroepen, zoals trackPageView en trackException, bijgewerkt.To allow for better API signatures, some of the API calls, such as trackPageView and trackException, have been updated. Uitvoeren in Internet Explorer 8 en eerdere versies van de browser wordt niet ondersteund.Running in Internet Explorer 8 and earlier versions of the browser is not supported.
  • De telemetrie-envelop heeft veld naam-en structuur wijzigingen door gegevens schema-updates.The telemetry envelope has field name and structure changes due to data schema updates.
  • Verplaatst context.operation naar context.telemetryTrace .Moved context.operation to context.telemetryTrace. Sommige velden zijn ook gewijzigd ( operation.id --> telemetryTrace.traceID ).Some fields were also changed (operation.id --> telemetryTrace.traceID).
    • Als u de huidige pagina weergave-ID hand matig wilt vernieuwen (bijvoorbeeld in SPA-apps), gebruikt u appInsights.properties.context.telemetryTrace.traceID = Util.generateW3CId() .To manually refresh the current pageview ID (for example, in SPA apps), use appInsights.properties.context.telemetryTrace.traceID = Util.generateW3CId().

      Notitie

      Als u de tracerings-ID uniek wilt laten, waar u eerder hebt gebruikt Util.newId() , gebruikt u nu Util.generateW3CId() .To keep the trace ID unique, where you previously used Util.newId(), now use Util.generateW3CId(). Beide uiteindelijk eindigen op de bewerkings-ID.Both ultimately end up being the operation ID.

Als u de huidige Application Insights PRODUCTION SDK (1.0.20) gebruikt en wilt zien of de nieuwe SDK in runtime werkt, werkt u de URL bij, afhankelijk van het huidige scenario voor het laden van de SDK.If you're using the current application insights PRODUCTION SDK (1.0.20) and want to see if the new SDK works in runtime, update the URL depending on your current SDK loading scenario.

  • Down load via CDN scenario: werk het code fragment dat u momenteel gebruikt om naar de volgende URL te verwijzen:Download via CDN scenario: Update the code snippet that you currently use to point to the following URL:

    "https://az416426.vo.msecnd.net/scripts/b/ai.2.min.js"
    
  • NPM scenario: aanroep downloadAndSetup voor het downloaden van het volledige ApplicationInsights-script uit CDN en Initialiseer het met de instrumentatie sleutel:npm scenario: Call downloadAndSetup to download the full ApplicationInsights script from CDN and initialize it with instrumentation key:

    appInsights.downloadAndSetup({
       instrumentationKey: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx",
       url: "https://az416426.vo.msecnd.net/scripts/b/ai.2.min.js"
       });
    

Test in interne omgeving om te controleren of telemetrie van de bewaking naar verwachting werkt.Test in internal environment to verify monitoring telemetry is working as expected. Als dat niet het geval is, werkt u de API-hand tekeningen goed bij naar SDK versie 2 en implementeert u deze in uw productie omgevingen.If all works, update your API signatures appropriately to SDK V2 version and deploy in your production environments.

SDK-prestaties/overheadSDK performance/overhead

Application Insights een verschuldigde hoeveelheid van loadtime aan uw website toevoegt, en slechts ~ 15 MS kan worden geïnitialiseerd met 36 KB-gzipped.At just 36 KB gzipped, and taking only ~15 ms to initialize, Application Insights adds a negligible amount of loadtime to your website. Met behulp van het fragment worden minimale onderdelen van de bibliotheek snel geladen.By using the snippet, minimal components of the library are quickly loaded. Ondertussen wordt het volledige script gedownload op de achtergrond.In the meantime, the full script is downloaded in the background.

Tijdens het downloaden van het script uit het CDN, wordt het bijhouden van de pagina in een wachtrij geplaatst.While the script is downloading from the CDN, all tracking of your page is queued. Zodra het gedownloade script asynchroon is geïnitialiseerd, worden alle gebeurtenissen bijgehouden die in de wachtrij zijn geplaatst.Once the downloaded script finishes asynchronously initializing, all events that were queued are tracked. Als gevolg hiervan zult u geen telemetrie kwijt raken tijdens de hele levens cyclus van de pagina.As a result, you will not lose any telemetry during the entire life cycle of your page. Dit installatie proces voorziet uw pagina van een naadloos analyse systeem, dat niet zichtbaar is voor uw gebruikers.This setup process provides your page with a seamless analytics system, invisible to your users.

Samenvatting:Summary:

  • NPM-versie
  • grootte van gzip-compressie
  • 15 MS algemene initialisatie tijd15 ms overall initialization time
  • Bijhouden van nul gemist tijdens de levens cyclus van de paginaZero tracking missed during life cycle of page

BrowserondersteuningBrowser support

Chrome Firefox IE Opera Safari
Nieuwste ✔ van ChromeChrome Latest ✔ Nieuwste ✔ in FirefoxFirefox Latest ✔ &-rand ✔ voor IE 9 +IE 9+ & Edge ✔
IE 8-compatibelIE 8- Compatible
Nieuwste ✔Opera Latest ✔ Nieuwste ✔ voor SafariSafari Latest ✔

Compatibiliteit met ES3/IE8ES3/IE8 Compatibility

Als SDK zijn er talrijke gebruikers die de browsers die hun klanten gebruiken niet kunnen beheren.As an SDK there are numerous users that cannot control the browsers that their customers use. Daarom moeten we ervoor zorgen dat deze SDK blijft werken en niet de JS-uitvoering verbreekt wanneer deze door een oudere browser wordt geladen.As such we need to ensure that this SDK continues to "work" and does not break the JS execution when loaded by an older browser. Hoewel dit ideaal is voor het ondersteunen van IE8 en ES3-browsers (oudere generatie), zijn er talrijke grote klanten/gebruikers die pagina's blijven gebruiken voor ' werk ' en, zoals vermeld, ze kunnen of kunnen niet bepalen welke browser de eind gebruikers kiezen.While it would be ideal to not support IE8 and older generation (ES3) browsers, there are numerous large customers/users that continue to require pages to "work" and as noted they may or cannot control which browser that their end users choose to use.

Dit betekent niet dat we alleen ondersteuning bieden voor de laagste common set functies, maar dat we de compatibiliteit met ES3-code moeten behouden en wanneer ze nieuwe functies toevoegen die ze moeten toevoegen op een manier die het parseren van ES3 java script niet verbreekt en als een optionele functie is toegevoegd.This does NOT mean that we will only support the lowest common set of features, just that we need to maintain ES3 code compatibility and when adding new features they will need to be added in a manner that would not break ES3 JavaScript parsing and added as an optional feature.

Zie GitHub voor volledige informatie over de ondersteuning van IE8See GitHub for full details on IE8 support

Open-Source-SDKOpen-source SDK

De Application Insights java script SDK is open source om de bron code weer te geven of om bij te dragen aan het project Ga naar de officiële github-opslag plaats.The Application Insights JavaScript SDK is open-source to view the source code or to contribute to the project visit the official GitHub repository.

Raadpleeg de opmerkingen bij de releasevoor de nieuwste updates en oplossingen voor problemen.For the latest updates and bug fixes consult the release notes.

Volgende stappenNext steps