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 |
Gestione dei cookie
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.
Configurazione dei cookie
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
Collegamento all'account di archiviazione BLOB
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.
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.
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.
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
.
Caricare mappe di origine tramite Azure Pipelines (scelta consigliata)
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.
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.
- Nel portale di Azure visualizzare i dettagli di un'eccezione minimizzata.
- Selezionare Decomprimi.
- 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:
Andare alla scheda Proprietà della risorsa di Application Insights.
Selezionare Modifica contenitore BLOB mapping di origine.
Selezionare un contenitore BLOB differente come contenitore della mappa di origine.
Selezionare Applica.
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.
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.
Le notifiche del servizio vengono gestite da JavaScript SDK, che esegue regolarmente il polling di un file JSON pubblico per controllare e aggiornare queste notifiche. Per disabilitare il polling eseguito da JavaScript SDK, disabilitare la modalità featureOptIn.
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.