Configurazione di Application Insights JavaScript SDK di Monitoraggio di Microsoft Azure

JavaScript SDK di app Azure lication Insights fornisce la configurazione per il rilevamento, il monitoraggio e il debug delle applicazioni Web.

Configurazione dell'SDK

Questi campi di configurazione sono facoltativi e il valore predefinito è false, se non diversamente specificato.

Per istruzioni su come aggiungere la configurazione dell'SDK, vedere Aggiungere la configurazione dell'SDK.

Nome Type Valori predefiniti
accountId

ID account facoltativo, se l'app raggruppa gli utenti in account. Nessuna spazi, virgole, punti e virgola, uguale o barre verticali
string Null
addRequestContext

Fornire un modo per arricchire i log delle dipendenze con il contesto all'inizio della chiamata API. Il valore predefinito non è definito. È necessario verificare se xhr esiste se si configura il xhr contesto correlato. È necessario verificare se fetch request e fetch response esistere se si configura il fetch contesto correlato. In caso contrario, è possibile che non vengano visualizzati i dati necessari.
(requestContext: IRequestionContext) => {[key: string]: any} Non definito
ajaxPerfLookupDelay

Il valore predefinito è 25 ms. Quantità di tempo di attesa prima della ripetizione del tempo per trovare i tempi di windows.performance per una richiesta Ajax, il tempo è espresso in millisecondi e viene passato direttamente a setTimeout().
numeric 25
appId

AppId viene usato per la correlazione tra le dipendenze AJAX che si verificano sul lato client con le richieste lato server. Quando l'API Beacon è abilitata, non può essere usata automaticamente, ma può essere impostata manualmente nella configurazione. Il valore predefinito è Null
string Null
autoTrackPageVisitTime

Se true, in una visualizzazione pagina, l'ora di visualizzazione della pagina instrumentata precedente viene rilevata e inviata come dati di telemetria e viene avviato un nuovo timer per la visualizzazione pagina corrente. Viene inviato come metrica personalizzata denominata PageVisitTime in milliseconds e viene calcolato tramite la funzione Date now() (se disponibile) ed esegue il fallback a (new Date()).getTime() se now() non è disponibile (IE8 o minore). Il valore predefinito è false.
boolean false
convertUndefined

Fornire all'utente un'opzione per convertire un campo non definito in un valore definito dall'utente.
any Non definito
cookieCfg

Per impostazione predefinita, l'utilizzo dei cookie è abilitato, vedere Impostazioni ICookieCfgConfig per le impostazioni predefinite complete.
ICookieCfgConfig
[Facoltativo]
(Dalla versione 2.6.0)
Non definito
cookieDomain

Dominio di cookie personalizzato. È utile se si vogliono condividere i cookie di Application Insights tra sottodomini.
(Dalla versione 2.6.0) Se cookieCfg.domain viene definito, ha la precedenza su questo valore.
alias per cookieCfg.domain
[Facoltativo]
Null
Cookiepath

Percorso del cookie personalizzato. È utile se si vogliono condividere i cookie di Application Insights dietro un gateway applicazione.
Se cookieCfg.path è definito, ha la precedenza.
alias per cookieCfg.path
[Facoltativo]
(Dalla versione 2.6.0)
Null
correlationHeaderDomains

Abilitare le intestazioni di correlazione per domini specifici
string[] Non definito
correlationHeaderExcludedDomains

Disabilitare le intestazioni di correlazione per domini specifici
string[] Non definito
correlationHeaderExcludePatterns

Disabilitare le intestazioni di correlazione usando espressioni regolari
regex[] Non definito
createPerfMgr

La funzione di callback che verrà chiamata per creare un'istanza IPerfManager quando necessario ed enablePerfMgr è abilitata, consente di eseguire l'override della creazione predefinita di un PerfManager() senza dover eseguire setPerfMgr() l'inizializzazione.
(core: IAppInsightsCore, notificationManager: INotificationManager) => IPerfManager Non definito
customHeaders

Possibilità per l'utente di fornire intestazioni aggiuntive quando si usa un endpoint personalizzato. customHeaders non viene aggiunto al momento dell'arresto del browser quando viene usato il mittente del beacon. L'aggiunta di intestazioni personalizzate non è supportata in Internet Explorer 9 o versioni precedenti.
[{header: string, value: string}] Non definito
diagnosticLogInterval

(interno) Intervallo di polling (in ms) per la coda di registrazione interna
numeric 10000
disableAjaxTracking

Se true, le chiamate Ajax non vengonocolletate automaticamente. Il valore predefinito è false.
boolean false
disableCookiesUsage

False predefinito. Valore booleano che indica se disabilitare l'uso dei cookie da parte dell'SDK. Se true, l'SDK non archivia o legge dati dai cookie.
(Dalla versione 2.6.0) Se cookieCfg.enabled viene definito, ha la precedenza. L'utilizzo dei cookie può essere riabilitato dopo l'inizializzazione tramite core.getCookieMgr().setEnabled(true).
alias per cookieCfg.enabled
[Facoltativo]
false
disableCorrelationHeaders

Se false, l'SDK aggiunge due intestazioni ('Request-Id' e 'Request-Context') a tutte le richieste di dipendenza per correlarle con le richieste corrispondenti sul lato server. Il valore predefinito è false.
boolean false
disableDataLossAnalysis

Se false, i buffer del mittente di telemetria interni vengono controllati all'avvio per gli elementi non ancora inviati.
boolean vero
disableExceptionTracking

Se true, le eccezioni non vengono recuperate automaticamente. Il valore predefinito è false.
boolean false
disableFetchTracking

L'impostazione predefinita per disableFetchTracking è false, ovvero è abilitata. Nelle versioni precedenti alla 2.8.10, tuttavia, è stata disabilitata per impostazione predefinita. Se impostato su true, le richieste di recupero non vengono raccolte automaticamente. L'impostazione predefinita è stata modificata da true a false nella versione 2.8.0.
boolean false
disableFlushOnBeforeUnload

False predefinito. Se true, il metodo flush non viene chiamato quando vengono attivati gli eventi onBeforeUnload
boolean false
disableIkeyDeprecationMessage

Disabilitare il messaggio di errore di deprecazione della chiave di strumentazione. Se true, i messaggi di errore NON vengono inviati.
boolean vero
disableInstrumentationKeyValidation

Se true, il controllo di convalida della chiave di strumentazione viene ignorato. Il valore predefinito è false.
boolean false
disableTelemetry

Se true, i dati di telemetria non vengono raccolti o inviati. Il valore predefinito è false.
boolean false
disableXhr

Non usare XMLHttpRequest o XDomainRequest (per Internet Explorer < 9) per impostazione predefinita, provare a usare fetch() o sendBeacon. Se non è disponibile alcun altro trasporto, usa XMLHttpRequest
boolean false
distributedTracingMode

Imposta la modalità di traccia distribuita. Se è impostata la modalità AI_AND_W3C o W3C, le intestazioni del contesto di traccia W3C (traceparent/tracestate) vengono generate e incluse in tutte le richieste in uscita. AI_AND_W3C viene fornito per garantire la compatibilità con tutti i servizi instrumentati legacy di Application Insights.
numerico o DistributedTracingModes DistributedTracing Modes.AI_AND_W3C
enableAjaxErrorStatusText

False predefinito. Se true, includere il testo booleano dei dati di errore di risposta nell'evento di dipendenza nelle richieste AJAX non riuscite.
boolean false
enableAjaxPerfTracking

False predefinito. Flag per abilitare la ricerca e l'inclusione di finestre del browser aggiuntive.intervalli di prestazioni nelle metriche segnalate di Ajax (XHR e recupero) segnalate.
boolean false
enableAutoRouteTracking

Tenere traccia automaticamente delle modifiche alle route nelle applicazioni a pagina singola (SPA). Se true, ogni modifica di route invia una nuova visualizzazione pagina ad Application Insights. Anche le modifiche della route hash (example.com/foo#bar) vengono registrate come nuove visualizzazioni di pagina.
Nota: se si abilita questo campo, non abilitare l'oggetto per la history configurazione del router React perché si otterranno più eventi di visualizzazione pagina.
boolean false
enableCorsCorrelation

Se true, l'SDK aggiunge due intestazioni ('Request-Id' e 'Request-Context') a tutte le richieste CORS per correlare le dipendenze AJAX in uscita con le richieste corrispondenti sul lato server. Il valore predefinito è false.
boolean false
enableDebug

Se true, i dati di debug interni vengono generati come eccezione anziché essere registrati, indipendentemente dalle impostazioni di registrazione dell'SDK. Il valore predefinito è false.
Nota: l'abilitazione di questa impostazione comporta l'eliminazione dei dati di telemetria ogni volta che si verifica un errore interno. Può essere utile per identificare rapidamente i problemi relativi alla configurazione o all'utilizzo dell'SDK. Se non si vogliono perdere i dati di telemetria durante il debug, è consigliabile usare loggingLevelConsole o loggingLevelTelemetry anziché enableDebug.
boolean false
enablePerfMgr

Se abilitata (true) crea eventi perfEvent locali per il codice instrumentato per generare perfEvent (tramite l'helper doPerf(). Può essere usato per identificare i problemi di prestazioni all'interno dell'SDK in base all'utilizzo o facoltativamente all'interno del codice instrumentato.
boolean false
enableRequestHeaderTracking

Se true, vengono rilevate le intestazioni della richiesta AJAX & Fetch, il valore predefinito è false. Se ignoreHeaders non è configurato, le intestazioni Authorization e X-API-Key non vengono registrate.
boolean false
enableResponseHeaderTracking

Se true, vengono rilevate le intestazioni di risposta della richiesta AJAX & Fetch, il valore predefinito è false. Se ignoreHeaders non è configurato, l'intestazione WWW-Authenticate non viene registrata.
boolean false
enableSession Archiviazione Buffer

Valore true predefinito. Se true, il buffer con tutti i dati di telemetria non inviati viene archiviato nell'archivio sessioni. Il buffer viene ripristinato al caricamento della pagina
boolean vero
enableUnhandledPromiseRejectionTracking

Se true, i rifiuti delle promesse non gestite vengono automaticamente riportati come errore JavaScript. Quando disableExceptionTracking è true (non tenere traccia delle eccezioni), il valore di configurazione viene ignorato e i rifiuti delle promesse non gestite non vengono segnalati.
boolean false
eventsLimitInMem

Numero di eventi che possono essere mantenuti in memoria prima che l'SDK inizi a eliminare gli eventi quando non si usa session Archiviazione (impostazione predefinita).
number 10000
excludeRequestFromAutoTrackingPatterns

Fornire un modo per escludere una route specifica dal rilevamento automatico per la richiesta XMLHttpRequest o Fetch. Se definito, per una richiesta Ajax/fetch corrispondente all'URL della richiesta con i modelli regex, il rilevamento automatico viene disattivato. Il valore predefinito non è definito.
string[] | RegExp[] Non definito
featureOptIn

Impostare Dettagli del consenso esplicito della funzionalità.

Questo campo di configurazione è disponibile solo nella versione 3.0.3 e successive.
IFeatureOptIn Non definito
idLength

Identifica la lunghezza predefinita usata per generare nuove sessioni casuali e ID utente. L'impostazione predefinita è 22, il valore predefinito precedente è 5 (v2.5.8 o minore), se è necessario mantenere la lunghezza massima precedente, impostare il valore su 5.
numeric 22
ignoreHeaders

AJAX & Fetch request and response headers to be ignored in log data.AJAX & Fetch request and response headers to be ignored in log data. Per eseguire l'override o rimuovere l'impostazione predefinita, aggiungere una matrice con tutte le intestazioni da escludere o una matrice vuota alla configurazione.
string[] ["Authorization", "X-API-Key", "WWW-Authenticate"]
isBeaconApiDisabled

Se false, l'SDK invia tutti i dati di telemetria usando l'API Beacon
boolean vero
isBrowserLinkTrackingEnabled

Il valore predefinito è false. Se true, l'SDK tiene traccia di tutte le richieste di collegamento al browser.
boolean false
isRetryDisabled

False predefinito. Se false, riprovare il 206 (esito positivo parziale), 408 (timeout), 429 (troppe richieste), 500 (errore interno del server), 503 (servizio non disponibile) e 0 (offline, solo se rilevato)
boolean false
is Archiviazione UseDisabled

Se true, l'SDK non archivia o legge i dati dall'archiviazione locale e della sessione. Il valore predefinito è false.
boolean false
loggingLevelConsole

Registra gli errori interni di Application Insights nella console.
0: off,
1: solo errori critici,
2: Tutto (errori e avvisi)
numeric 0
loggingLevelTelemetry

Invia errori interni di Application Insights come dati di telemetria.
0: off,
1: solo errori critici,
2: Tutto (errori e avvisi)
numeric 1
maxAjaxCallsPerView

Impostazione predefinita 500: controlla il numero di chiamate Ajax monitorate per visualizzazione pagina. Impostare su -1 per monitorare tutte le chiamate Ajax (illimitate) nella pagina.
numeric 500
maxAjaxPerfLookupAttempts

Il valore predefinito è 3. È necessario il numero massimo di volte in cui cercare la finestra.intervallo delle prestazioni (se disponibile). Non tutti i browser popolano window.performance prima di segnalare la fine della richiesta XHR. Per le richieste di recupero, viene aggiunto dopo il completamento.
numeric 3
maxBatchInterval

Durata dell'invio in batch dei dati di telemetria prima dell'invio (millisecondi)
numeric 15000
maxBatchSizeInBytes

Dimensioni massime del batch di telemetria. Se un batch supera questo limite, viene inviato immediatamente e viene avviato un nuovo batch
numeric 10000
namePrefix

Valore facoltativo usato come prefisso del nome per local Archiviazione e nome del cookie di sessione.
string Non definito
onunloadDisableBeacon

False predefinito. quando la scheda viene chiusa, l'SDK invia tutti i dati di telemetria rimanenti usando l'API Beacon
boolean false
onunloadDisableFetch

Se il recupero keepalive è supportato, non usarlo per l'invio di eventi durante lo scaricamento, potrebbe comunque eseguire il fallback a fetch() senza keepalive
boolean false
overridePageViewDuration

Se true, il comportamento predefinito di trackPageView viene modificato in modo da registrare l'intervallo di durata della visualizzazione pagina quando viene chiamato trackPageView. Se false e nessuna durata personalizzata viene fornita a trackPageView, le prestazioni della visualizzazione pagina vengono calcolate usando l'API di temporizzazione di navigazione. Il valore predefinito è false.
boolean false
perfEvtsSendAll

Quando enablePerfMgr è abilitato e IPerfManagerattiva un INotificationManager.perfEvent() questo flag determina se un evento viene generato (e inviato a tutti i listener) per tutti gli eventi (true) o solo per gli eventi 'padre' (false <impostazione predefinita>).
Un IPerfEvent padre è un evento in cui nessun altro IPerfEvent è ancora in esecuzione al momento della creazione dell'evento e la relativa proprietà padre non è null o non definita. Dalla versione 2.5.7
boolean false
samplingPercentage

Percentuale di eventi inviati. Il valore predefinito è 100, ovvero vengono inviati tutti gli eventi. Impostarlo se si vuole mantenere il limite di dati per le applicazioni su larga scala.
numeric 100
sdkExtension

Imposta il nome dell'estensione SDK. Sono consentiti solo caratteri alfabetici. Il nome dell'estensione viene aggiunto come prefisso al tag "ai.internal.sdkVersion", ad esempio "ext_javascript:2.0.0". Il valore predefinito è Null.
string Null
sessionCookiePostfix

Valore facoltativo usato come prefisso del nome per il nome del cookie di sessione. Se non definito, namePrefix viene usato come prefisso del nome per il nome del cookie di sessione.
string Non definito
sessionExpirationMs

Una sessione viene registrata se ha continuato per questo periodo di tempo in millisecondi. Il valore predefinito è 24 ore
numeric 86400000
sessionRenewalMs

Una sessione viene registrata se l'utente è inattivo per questo periodo di tempo in millisecondi. Il valore predefinito è 30 minuti.
numeric 1800000
throttleMgrCfg

Impostare la configurazione di mgr di limitazione in base alla chiave.

Questo campo di configurazione è disponibile solo nella versione 3.0.3 e successive.
{[key: number]: IThrottleMgrConfig} Non definito
userCookiePostfix

Valore facoltativo usato come prefisso del nome per il nome del cookie utente. Se non definito, non viene aggiunto alcun prefisso sul nome del cookie utente.
string Non definito

A partire dalla versione 2.6.0, l'SDK JavaScript di app Azure lication Insights offre la gestione dei cookie basata su istanze che può essere disabilitata e riabilitata dopo l'inizializzazione.

Se i cookie sono stati disabilitati durante l'inizializzazione usando le disableCookiesUsage configurazioni o cookieCfg.enabled , è possibile riabilitarli usando la setEnabled funzione dell'oggetto ICookieMgr.

La gestione dei cookie basata su istanza sostituisce le funzioni globali CoreUtils precedenti di disableCookies(), setCookie(), getCookie()e deleteCookie().

Per sfruttare i miglioramenti apportati agli alberi introdotti nella versione 2.6.0, è consigliabile non usare più le funzioni globali.

ICookieMgrConfig è una configurazione di cookie per la gestione dei cookie basata su istanza aggiunta nella versione 2.6.0. Le opzioni fornite consentono di abilitare o disabilitare l'uso dei cookie da parte dell'SDK. È anche possibile impostare percorsi e domini di cookie personalizzati e personalizzare le funzioni per il recupero, l'impostazione e l'eliminazione di cookie.

Le opzioni ICookieMgrConfig sono definite nella tabella seguente.

Nome Type Default Descrizione
Enabled boolean vero L'istanza corrente dell'SDK usa questo valore booleano per indicare se l'uso dei cookie è abilitato. Se false, l'istanza dell'SDK inizializzata da questa configurazione non archivia o legge i dati dai cookie.
dominio string Null Dominio di cookie personalizzato. È utile se si vogliono condividere i cookie di Application Insights tra sottodomini. Se non specificato, usa il valore del valore radice cookieDomain .
path string / Specifica il percorso da usare per il cookie, se non viene specificato che usa alcun valore dal valore radice cookiePath .
ignoreCookies string[] Non definito Specificare i nomi dei cookie da ignorare, perché qualsiasi nome di cookie corrispondente non venga mai letto o scritto. Possono comunque essere eliminati o eliminati in modo esplicito. Non è necessario ripetere il nome nella blockedCookies configurazione. (dalla versione 2.8.8)
blockedCookies string[] Non definito Specificare i nomi dei cookie da non scrivere mai. Impedisce la creazione o l'aggiornamento di qualsiasi nome di cookie, ma possono comunque essere letti, a meno che non siano inclusi anche in ignoreCookies. Possono comunque essere eliminati o eliminati in modo esplicito. Se non specificato, per impostazione predefinita viene usato lo stesso elenco in ignoreCookies. (Dalla versione 2.8.8)
getCookie (name: string) => string Null Funzione per recuperare il valore del cookie denominato, se non specificato usa l'analisi/memorizzazione nella cache dei cookie interni.
setCookie (name: string, value: string) => void Null Funzione per impostare il cookie denominato con il valore specificato, chiamato solo quando si aggiunge o si aggiorna un cookie.
delCookie (name: string, value: string) => void Null Funzione per eliminare il cookie denominato con il valore specificato, separato da setCookie per evitare la necessità di analizzare il valore per determinare se il cookie viene aggiunto o rimosso. Se non viene specificato, usa l'analisi/memorizzazione nella cache dei cookie interni.

Mappa di origine

Il supporto della mappa di origine consente di eseguire il debug di codice JavaScript minimizzato con la possibilità di rimuovere lo stack di chiamate minimizzato dei dati di telemetria delle eccezioni.

  • Compatibile con tutte le integrazioni correnti nel pannello Dettagli eccezione
  • Supporta tutti gli SDK JavaScript correnti e futuri, incluso Node.JS, senza la necessità di un aggiornamento dell'SDK

Application Insights supporta il caricamento delle mappe di origine nel contenitore BLOB dell'account Archiviazione di Azure. È possibile usare le mappe di origine per separare gli stack di chiamate disponibili nella pagina dei dettagli delle transazioni end-to-end. È anche possibile usare le mappe di origine per rimuovere eventuali eccezioni inviate da JavaScript SDK o Node.js SDK.

Screenshot that shows selecting the option to unminify a call stack by linking with a storage account.

Creare un nuovo account di archiviazione e un contenitore BLOB

Se si ha già un account di archiviazione o un contenitore BLOB esistente, è possibile ignorare questo passaggio.

  1. Creare un nuovo account di archiviazione.

  2. Creare un contenitore BLOB all'interno dell'account di archiviazione. Impostare Livello di accesso pubblico su Privato per assicurarsi che le mappe di origine non siano accessibili pubblicamente.

    Screenshot that shows setting the container access level to Private.

Eseguire il push delle mappe di origine nel contenitore BLOB

Integrare la pipeline di distribuzione continua con l'account di archiviazione configurandola per caricare automaticamente le mappe di origine nel contenitore BLOB configurato.

È possibile caricare mappe di origine nel contenitore Archiviazione BLOB di Azure con la stessa struttura di cartelle con cui sono stati compilati e distribuiti. Un caso d'uso comune consiste nel prefissire una cartella di distribuzione con la relativa versione, 1.2.3/static/js/main.jsad esempio . Quando si unminifica tramite un contenitore BLOB di Azure denominato sourcemaps, la pipeline tenta di recuperare una mappa di origine situata in sourcemaps/1.2.3/static/js/main.js.map.

Se si usa Azure Pipelines per compilare e distribuire continuamente l'applicazione, aggiungere un'attività di copia file di Azure alla pipeline per caricare automaticamente le mappe di origine.

Screenshot that shows adding an Azure file copy task to your pipeline to upload your source maps to Azure Blob Storage.

Configurare la risorsa di Application Insights con un account di archiviazione mappa di origine

Sono disponibili due opzioni per configurare la risorsa di Application Insights con un account di archiviazione mappa di origine.

Scheda Dettagli transazione end-to-end

Nella scheda Dettagli transazione end-to-end selezionare Annulla. Configurare la risorsa se non è configurata.

  1. Nella portale di Azure visualizzare i dettagli di un'eccezione minimizzata.
  2. Selezionare Unminify (Annulla) .
  3. Se la risorsa non è configurata, configurarla.
Scheda Proprietà

Per configurare o modificare l'account di archiviazione o il contenitore BLOB collegato alla risorsa di Application Insights:

  1. Passare alla scheda Proprietà della risorsa di Application Insights.

  2. Selezionare Cambia contenitore BLOB della mappa di origine.

  3. Selezionare un contenitore BLOB diverso come contenitore della mappa di origine.

  4. Selezionare Applica.

    Screenshot that shows reconfiguring your selected Azure blob container on the Properties pane.

Visualizzare lo stack di chiamate non minimizzato

Per visualizzare lo stack di chiamate non minimizzato, selezionare un elemento Telemetria eccezioni nella portale di Azure, trovare le mappe di origine corrispondenti allo stack di chiamate e trascinare e rilasciare le mappe di origine nello stack di chiamate nel portale di Azure. La mappa di origine deve avere lo stesso nome del file di origine di uno stack frame, ma con un'estensione map .

Se si verificano problemi che coinvolgono il supporto delle mappe di origine per le applicazioni JavaScript, vedere Risolvere i problemi relativi al supporto delle mappe di origine per le applicazioni JavaScript.

Animation demonstrating unminify feature.

Scuotimento albero

Lo scuotimento dell'albero elimina il codice inutilizzato dal bundle JavaScript finale.

Per sfruttare i vantaggi dello scuotimento dell'albero, importare solo i componenti necessari dell'SDK nel codice. In questo modo, il codice inutilizzato non è incluso nel bundle finale, riducendone le dimensioni e migliorando le prestazioni.

Miglioramenti e raccomandazioni per lo scuotimento dell'albero

Nella versione 2.6.0 è stato deprecato e rimosso l'utilizzo interno di queste classi helper statiche per migliorare il supporto per gli algoritmi di scuotimento ad albero. Consente ai pacchetti npm di eliminare in modo sicuro il codice inutilizzato.

  • CoreUtils
  • EventHelper
  • Util
  • UrlHelper
  • DateTimeUtils
  • ConnectionStringParser

Le funzioni vengono ora esportate come radici di primo livello dai moduli, semplificando il refactoring del codice per migliorare lo scuotimento dell'albero.

Le classi statiche sono state modificate in oggetti const che fanno riferimento alle nuove funzioni esportate e sono previste modifiche future per effettuare il refactoring dei riferimenti.

Funzioni e sostituzioni deprecate degli alberi

Questa sezione si applica solo se si usano le funzioni deprecate e si vogliono ottimizzare le dimensioni del pacchetto. È consigliabile usare le funzioni di sostituzione per ridurre le dimensioni e supportare tutte le versioni di Internet Explorer.

Esistente Sostituzione
CoreUtils @microsoft/applicationinsights-core-js
CoreUtils._canUseCookies Nessuno. Non usare perché fa sì che tutti i riferimenti CoreUtils vengano inclusi nel codice finale.
Effettuare il refactoring della gestione dei cookie per usare per appInsights.getCookieMgr().setEnabled(true/false) impostare il valore e appInsights.getCookieMgr().isEnabled() per controllare il valore.
CoreUtils.isTypeof isTypeof
CoreUtils.isUndefined isUndefined
CoreUtils.isNullOrUndefined isNullOrUndefined
CoreUtils.hasOwnProperty hasOwnProperty
CoreUtils.isFunction isFunction
CoreUtils.isObject IsObject
CoreUtils.isDate isDate
CoreUtils.isArray isArray
CoreUtils.isError Iserror
CoreUtils.isString IsString
CoreUtils.isNumber isNumber
CoreUtils.isBoolean isBoolean
CoreUtils.toISOString toISOString o getISOString
CoreUtils.arrForEach arrForEach
CoreUtils.arrIndexOf arrIndexOf
CoreUtils.arrMap arrMap
CoreUtils.arrReduce arrReduce
CoreUtils.strTrim strTrim
CoreUtils.objCreate objCreateFn
CoreUtils.objKeys objKeys
CoreUtils.objDefineAccessors objDefineAccessors
CoreUtils.addEventHandler addEventHandler
CoreUtils.dateNow dateNow
CoreUtils.isIE isIE
CoreUtils.disableCookies disableCookies
Per garantire la compatibilità con le versioni precedenti, fare riferimento a CoreUtils.
Effettuare il refactoring della gestione dei cookie per usare appInsights.getCookieMgr().setEnabled(false)
CoreUtils.newGuid newGuid
CoreUtils.perfNow perfNow
CoreUtils.newId Newid
CoreUtils.randomValue randomValue
CoreUtils.random32 random32
CoreUtils.mwcRandomSeed mwcRandomSeed
CoreUtils.mwcRandom32 mwcRandom32
CoreUtils.generateW3CId generateW3CId
EventHelper @microsoft/applicationinsights-core-js
EventHelper.Attach attachEvent
EventHelper.AttachEvent attachEvent
EventHelper.Detach detachEvent
EventHelper.DetachEvent detachEvent
Util @microsoft/applicationinsights-common-js
Util.NotSpecified strNotSpecified
Util.createDomEvent createDomEvent
Util.disable Archiviazione utlDisable Archiviazione
Util.isInternalApplicationInsightsEndpoint isInternalApplicationInsightsEndpoint
Util.canUseLocal Archiviazione utlCanUseLocal Archiviazione
Util.get Archiviazione utlGetLocal Archiviazione
Util.set Archiviazione utlSetLocal Archiviazione
Util.remove Archiviazione utlRemove Archiviazione
Util.canUseSession Archiviazione utlCanUseSession Archiviazione
Util.getSession Archiviazione Keys utlGetSession Archiviazione Keys
Util.getSession Archiviazione utlGetSession Archiviazione
Util.setSession Archiviazione utlSetSession Archiviazione
Util.removeSession Archiviazione utlRemoveSession Archiviazione
Util.disableCookies disableCookies
Per garantire la compatibilità con le versioni precedenti, fare riferimento a CoreUtils.
Effettuare il refactoring della gestione dei cookie per usare appInsights.getCookieMgr().setEnabled(false)
Util.canUseCookies canUseCookies
Per garantire la compatibilità con le versioni precedenti, fare riferimento a CoreUtils.
Effettuare il refactoring della gestione dei cookie per usare appInsights.getCookieMgr().isEnabled()
Util.disallowsSameSiteNone uaDisallowsSameSiteNone
Util.setCookie coreSetCookie
Per garantire la compatibilità con le versioni precedenti, fare riferimento a CoreUtils.
Effettuare il refactoring della gestione dei cookie per usare appInsights.getCookieMgr().set(name: string, value: string)
Util.stringToBoolOrDefault stringToBoolOrDefault
Util.getCookie coreGetCookie
Per garantire la compatibilità con le versioni precedenti, fare riferimento a CoreUtils.
Effettuare il refactoring della gestione dei cookie per usare appInsights.getCookieMgr().get(name: string)
Util.deleteCookie coreDeleteCookie
Per garantire la compatibilità con le versioni precedenti, fare riferimento a CoreUtils.
Effettuare il refactoring della gestione dei cookie per usare appInsights.getCookieMgr().del(name: string, path?: string)
Util.trim strTrim
Util.newId Newid
Util.random32 ---
Nessuna sostituzione, effettuare il refactoring del codice per usare il core random32(true)
Util.generateW3CId generateW3CId
Util.isArray isArray
Util.isError Iserror
Util.isDate isDate
Util.toISOStringForIE8 toISOString
Util.getIEVersion getIEVersion
Util.msToTimeSpan msToTimeSpan
Util.isCrossOriginError isCrossOriginError
Util.dump dumpObj
Util.getExceptionName getExceptionName
Util.addEventHandler attachEvent
Util.IsBeaconApiSupported isBeaconApiSupported
Util.getExtension getExtensionByName
UrlHelper @microsoft/applicationinsights-common-js
UrlHelper.parseUrl urlParseUrl
UrlHelper.getAbsoluteUrl urlGetAbsoluteUrl
UrlHelper.getPathName urlGetPathName
UrlHelper.getCompeteUrl urlGetCompleteUrl
UrlHelper.parseHost urlParseHost
UrlHelper.parseFullHost urlParseFullHost
DateTimeUtils @microsoft/applicationinsights-common-js
DateTimeUtils.Now dateTimeUtilsNow
DateTimeUtils.GetDuration dateTimeUtilsDuration
Connessione ionStringParser @microsoft/applicationinsights-common-js
Connessione ionStringParser.parse parse Connessione ionString

Notifiche del servizio

Le notifiche del servizio sono una funzionalità integrata nell'SDK per fornire consigli interattivi per garantire che i flussi di telemetria non vengano interrotti in Application Insights. Le notifiche verranno visualizzate come messaggio di eccezione all'interno di Application Insights. Si garantisce che le notifiche siano rilevanti in base alle impostazioni dell'SDK e si modifica il livello di dettaglio in base all'urgenza della raccomandazione. È consigliabile lasciare attiva le notifiche del servizio, ma è possibile rifiutare esplicitamente la featureOptIn configurazione. Vedere di seguito per un elenco di notifiche attive.

Attualmente non vengono inviate notifiche attive.

Risoluzione dei problemi

Vedere l'articolo dedicato sulla risoluzione dei problemi.

Domande frequenti

Questa sezione fornisce le risposte alle domande comuni.

Come è possibile aggiornare la configurazione del server di terze parti per JavaScript SDK?

Il lato server deve essere in grado di accettare connessioni con tali intestazioni presenti. A seconda della Access-Control-Allow-Headers configurazione sul lato server, è spesso necessario estendere l'elenco lato server aggiungendo Request-Idmanualmente , Request-Contexte traceparent (intestazione distribuita W3C).

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

Come è possibile disabilitare la traccia distribuita per JavaScript SDK?

La traccia distribuita può essere disabilitata nella configurazione.

Le risposte HTTP 502 e 503 vengono sempre acquisite da Application Insights?

No. Gli errori "502 gateway non valido" e "503 service unavailable" non sono sempre acquisiti da Application Insights. Se per il monitoraggio viene usato solo JavaScript sul lato client, questo comportamento sarà previsto perché la risposta di errore viene restituita prima della pagina contenente l'intestazione HTML con il frammento javaScript di monitoraggio di cui viene eseguito il rendering.

Se la risposta 502 o 503 è stata inviata da un server con monitoraggio lato server abilitato, gli errori vengono raccolti da Application Insights SDK.

Anche quando il monitoraggio lato server è abilitato nel server Web di un'applicazione, a volte un errore 502 o 503 non viene acquisito da Application Insights. Molti server Web moderni non consentono a un client di comunicare direttamente. Usano invece soluzioni come proxy inversi per passare informazioni tra il client e i server Web front-end.

In questo scenario, una risposta 502 o 503 potrebbe essere restituita a un client a causa di un problema a livello di proxy inverso, quindi non viene acquisita in modo predefinito da Application Insights. Per rilevare i problemi a questo livello, potrebbe essere necessario inoltrare i log dal proxy inverso a Log Analytics e creare una regola personalizzata per verificare la presenza di 502 o 503 risposte. Per altre informazioni sulle cause comuni degli errori 502 e 503, vedere Risolvere gli errori HTTP di "502 gateway non valido" e "503 servizio non disponibile" nel servizio app Azure.

Passaggi successivi