Configurazione di Application Insights JavaScript SDK di Monitoraggio di Microsoft Azure

Azure Application Insights JavaScript SDK offre 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 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 contesto correlato xhr. È necessario verificare se fetch request e fetch response esistono se si configura il contesto correlato fetch. 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
IDapp

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 della pagina corrente. Viene inviato come metrica personalizzata denominata PageVisitTime in milliseconds e viene calcolato tramite la funzione Data adesso() (se disponibile) ed esegue il fallback a (nuova data()).getTime() se adesso() 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]
(a partire da 2.6.0)
Non definito
cookieDomain

Dominio di cookie personalizzato. È utile se si desidera condividere i cookie di Application Insights tra sottodomini.
(dalla versione 2.6.0) Se definito, cookieCfg.domain 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 è definito, cookieCfg.path ha la precedenza.
alias per cookieCfg.path
[Facoltativo]
(a partire da 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 richiamata che verrà chiamata per creare un'istanza IPerfManager quando necessario ed enablePerfMgr è abilitato, consente di eseguire l'override della creazione predefinita di un PerfManager() senza bisogno di setPerfMgr() dopo 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 IE9 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 vengono raccolte automaticamente. Il valore predefinito è false.
boolean false
disableCookiesUsage

Impostazione predefinita: false. 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 definito, cookieCfg.enabled 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 dati di telemetria interni vengono controllati all'avvio per gli elementi non ancora inviati.
boolean true
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

Impostazione predefinita: false. 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 true
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 < versione 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

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

Impostazione predefinita: false. 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 ai percorsi nelle applicazioni a pagina singola (SPA). Se true, ogni modifica di percorso invia una nuova visualizzazione pagina ad Application Insights. Anche le modifiche del percorso Hash (example.com/foo#bar) vengono registrate come nuove visualizzazioni di pagina.
Nota: se si abilita questo campo, non abilitare l'oggetto history per la configurazione del router Reagisci 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
enableSessionStorageBuffer

Impostazione predefinita: true. 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 true
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 l'archiviazione di sessione (impostazione predefinita).
number 10000
excludeRequestFromAutoTrackingPatterns

Fornire un modo per escludere un percorso specifico 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.
stringa[] | 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

Intestazioni di richiesta e risposta AJAX & Fetch da ignorare nei dati di log. Per eseguire l'override o rimuovere l'impostazione predefinita, aggiungere un array con tutte le intestazioni da escludere o un array 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 true
isBrowserLinkTrackingEnabled

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

Impostazione predefinita: false. 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
isStorageUseDisabled

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 gli 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 dati 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 localStorage e nome del cookie di sessione.
string Non definito
onunloadDisableBeacon

Impostazione predefinita: false. 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 IPerfManager attiva 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 desidera 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, Azure Application Insights JavaScript SDK fornisce 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 configurazioni disableCookiesUsage o cookieCfg.enabled, è possibile riabilitarli usando la funzione setEnabled 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 true 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 desidera 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 configurazione blockedCookies. (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 decomprimere 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 attuali e futuri, inclusi Node.JS, senza la necessità di un aggiornamento dell'SDK

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

Screenshot che mostra la selezione dell'opzione per decomprimere uno stack di chiamate collegando un account di archiviazione.

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 nell'account di archiviazione. Impostare Livello di accesso pubblico su Privato per assicurarsi che le mappe di origine non siano accessibili pubblicamente.

    Screenshot che mostra l'impostazione del livello di accesso del contenitore su Privato.

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 di Archiviazione BLOB di Azure con la stessa struttura di cartelle con cui sono stati compilati e distribuiti. Un caso d'uso comune consiste nell'anteporre una cartella di distribuzione alla relativa versione, ad esempio 1.2.3/static/js/main.js. Quando si decomprime 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 che mostra l'aggiunta di un'attività di copia file di Azure alla pipeline per caricare le mappe di origine in Archiviazione BLOB di Azure.

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 sulle transazioni end-to-end

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

  1. Nel portale di Azure visualizzare i dettagli di un'eccezione minimizzata.
  2. Selezionare Decomprimi.
  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. Andare alla scheda Proprietà della risorsa di Application Insights.

  2. Selezionare Modifica contenitore BLOB mapping di origine.

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

  4. Selezionare Applica.

    Screenshot che mostra la riconfigurazione del contenitore BLOB di Azure selezionato nel riquadro Proprietà.

Visualizzare lo stack di chiamate non minimizzato

Per visualizzare lo stack di chiamate non minimizzato, selezionare un elemento di dati di telemetria eccezioni nel 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 della mappa di origine per le applicazioni JavaScript, vedere Risolvere i problemi relativi al supporto delle mappe di origine per le applicazioni JavaScript.

Animazione che illustra la funzionalità Decomprimi.

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 appInsights.getCookieMgr().setEnabled(true/false) per 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.disableStorage utlDisableStorage
Util.isInternalApplicationInsightsEndpoint isInternalApplicationInsightsEndpoint
Util.canUseLocalStorage utlCanUseLocalStorage
Util.getStorage utlGetLocalStorage
Util.setStorage utlSetLocalStorage
Util.removeStorage utlRemoveStorage
Util.canUseSessionStorage utlCanUseSessionStorage
Util.getSessionStorageKeys utlGetSessionStorageKeys
Util.getSessionStorage utlGetSessionStorage
Util.setSessionStorage utlSetSessionStorage
Util.removeSessionStorage utlRemoveSessionStorage
Util.disableCookies disableCookies
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
ConnectionStringParser @microsoft/applicationinsights-common-js
ConnectionStringParser.parse parseConnectionString

Notifiche del servizio

Le notifiche del servizio sono una funzionalità integrata nell'SDK per fornire consigli interattivi per garantire che i flussi di dati 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 configurazione featureOptIn. Vedere di seguito per un elenco di notifiche attive.

Attualmente non vengono inviate notifiche attive.

Risoluzione dei problemi

Vedere l'articolo sulla risoluzione dei problemi dedicato.

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 configurazione Access-Control-Allow-Headers sul lato server, è spesso necessario estendere l'elenco lato server aggiungendo manualmente Request-Id, Request-Context e traceparent (intestazione distribuita W3C).

Controllo-di-accesso-Consenti-intestazioni: 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 non vengono sempre acquisite da Application Insights?

No. Gli errori "502 - Gateway non valido" e "503 - Servizio non disponibile" non vengono sempre acquisiti da Application Insights. Se per il monitoraggio viene usato JavaScript solo sul lato client, questo comportamento sarebbe previsto perché la risposta di errore viene restituita prima della pagina contenente l'intestazione HTML con il rendering del frammento JavaScript di monitoraggio.

Se la risposta 502 o 503 è stata inviata da un server in cui è abilitato il monitoraggio lato server, gli errori sono 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 risposte 502 o 503. Per altre informazioni sulle cause comuni degli errori 502 e 503, vedere Risoluzione degli errori HTTP di "502 gateway non valido" e "503 servizio non disponibile" in Servizio app di Azure.

Passaggi successivi