Compartilhar via


Configuração de SDK do JavaScript Application Insights do Microsoft Azure Monitor

O SDK do JavaScript Application Insights do Azure fornece configuração para rastrear, monitorar e depurar seus aplicativos Web.

Configuração do SDK

Esses campos de configuração são opcionais e o padrão é falso, a menos que indicado de outra forma.

Para ver instruções sobre como adicionar a configuração do SDK, confira Adicionar configuração do SDK.

Nome Tipo Padrão
accountId

Uma ID de conta opcional, se seu aplicativo agrupar usuários em contas. Sem espaços, vírgulas, ponto e vírgulas, sinal de igual ou barras verticais
string nulo
addRequestContext

Forneça uma maneira de enriquecer os logs de dependências com contexto no início da chamada da API. O padrão é indefinido. Você precisa verificar se xhr existe se você configurar o contexto relacionado a xhr. Você precisa verificar se fetch request e fetch response existe se você configurar o contexto relacionado a fetch. Caso contrário, talvez você não obtenha os dados necessários.
(requestContext: IRequestionContext) => {[key: string]: any} não definido
ajaxPerfLookupDelay

O padrão é 25 ms. O período de tempo a esperar antes de tentar novamente encontrar os tempos do windows.performance para uma solicitação Ajax, o tempo está em milissegundos e é passado diretamente para setTimeout().
numeric 25
appId

AppId é usado para a correlação entre dependências AJAX acontecendo no lado do cliente com as solicitações do lado do servidor. Quando a API do Sinalizador estiver habilitada, ela não poderá ser usada automaticamente, mas poderá ser definida manualmente na configuração. O padrão é nulo
string nulo
autoTrackPageVisitTime

Se marcado como true, em uma exibição de página, o tempo de exibição da página instrumentada anterior será acompanhado e enviado como uma telemetria, e um novo temporizador será iniciado para a exibição de página atual. Ele é enviado como uma métrica personalizada chamada PageVisitTime em milliseconds e é calculado por meio da função Date now() (se disponível) e recorre a (new Date()).getTime() se now() não está disponível (IE8 ou inferior). O padrão é false.
booleano false
convertUndefined

Forneça ao usuário uma opção para converter campo indefinido em valor definido pelo usuário.
any não definido
cookieCfg

Padrões para a habilitação do uso de cookies, consulte as configurações ICookieCfgConfig para todos os padrões.
ICookieCfgConfig
[Opcional]
(A partir da versão 2.6.0)
não definido
cookieDomain

Domínio de cookie personalizado. É útil se você deseja compartilhar cookies do Application Insights entre subdomínios.
(Desde v2.6.0) Se cookieCfg.domain for definido, terá precedência sobre esse valor.
alias para cookieCfg.domain
[Opcional]
null
cookiePath

Caminho do cookie personalizado. É útil se você deseja compartilhar cookies do Application Insights por trás de um gateway de aplicativo.
Se cookieCfg.path for definido, terá precedência.
alias para cookieCfg.path
[Opcional]
(A partir da versão 2.6.0)
nulo
correlationHeaderDomains

Desabilita cabeçalhos de correlação para domínios específicos
string[] não definido
correlationHeaderExcludedDomains

Desabilita cabeçalhos de correlação para domínios específicos
string[] não definido
correlationHeaderExcludePatterns

Desabilitar cabeçalhos de correlação usando expressões regulares
regex[] não definido
createPerfMgr

Função de retorno de chamada que será chamada para criar uma instância de IPerfManager quando necessária e enablePerfMgr estiver habilitada, ela permite que você substitua a criação padrão de um PerfManager() sem a necessidade de setPerfMgr() após a inicialização.
(core: IAppInsightsCore, notificationManager: INotificationManager) => IPerfManager não definido
customHeaders

A capacidade do usuário de fornecer cabeçalhos extras ao usar um ponto de extremidade personalizado. customHeaders não são adicionados no momento de desligamento do navegador quando o remetente do sinalizador for usado. E não há suporte para a adição de cabeçalhos personalizados no IE9 ou anterior.
[{header: string, value: string}] não definido
diagnosticLogInterval

Intervalo (interno) de sondagem (em ms) para fila de log interno
numeric 10000
disableAjaxTracking

Se marcado como true, as chamadas AJAX não serão coletadas automaticamente. O padrão é false.
booleano false
disableCookiesUsage

Padrão falso. Um booleano que indica se o uso de cookies pelo SDK deve ser desabilitado. Se verdadeiro, o SDK não armazena nem lê os dados dos cookies.
(Desde v2.6.0) Se cookieCfg.enabled for definido, terá precedência. O uso de cookies pode ser reabilitado após a inicialização por meio de core.getCookieMgr().setEnabled(true).
alias para cookieCfg.enabled
[Opcional]
false
disableCorrelationHeaders

Se falso, o SDK adiciona dois cabeçalhos ('Request-Id' e 'Request-Context') a todas as solicitações de dependência para correlacioná-las com as solicitações correspondentes no lado do servidor. O padrão é false.
booleano false
disableDataLossAnalysis

Se falso, os buffers do remetente de telemetria interna são verificados na inicialização de itens ainda não enviados.
booleano true
disableExceptionTracking

Se marcado como true, as exceções não serão coletadas automaticamente. O padrão é false.
booleano false
disableFetchTracking

A configuração padrão para disableFetchTracking é false, o que significa que está habilitada. No entanto, em versões anteriores a 2.8.10, ela foi desabilitada por padrão. Quando definido como true, as solicitações de Fetch não são coletadas automaticamente. A configuração padrão foi alterada de true para false na versão 2.8.0.
booleano false
disableFlushOnBeforeUnload

Padrão falso. Se verdadeiro, o método de liberação não é chamado quando o evento onBeforeUnload é acionado
booleano false
disableIkeyDeprecationMessage

Desabilitar mensagem de erro de substituição de chave de instrumentação. Se verdadeiro, as mensagens de erro NÃO são enviadas.
booleano true
disableInstrumentationKeyValidation

Se marcado como true, a verificação de validação da chave de instrumentação será ignorada. O valor padrão é false.
booleano false
disableTelemetry

Se marcado como true, a telemetria não será coletada ou enviada. O padrão é false.
booleano false
disableXhr

Não use XMLHttpRequest ou XDomainRequest (para Internet Explorer < versão 9) por padrão, em vez disso, tente usar fetch() ou sendBeacon. Se nenhum outro transporte estiver disponível, ele usará XMLHttpRequest
booleano false
distributedTracingMode

Define o modo de rastreamento distribuído. Se o modo AI_AND_W3C ou W3C for definido, os cabeçalhos de contexto de rastreamento W3C (traceparent/tracestate) serão gerados e incluídos em todas as solicitações de saída. O AI_AND_W3C é fornecido para retrocompatibilidade com os serviços instrumentados do Application Insights herdados.
numérico ou DistributedTracingModes DistributedTracing Modes.AI_AND_W3C
enableAjaxErrorStatusText

Padrão falso. Se verdadeiro, inclua o texto de dados de erro de resposta booleano no evento de dependência em caso de falha em solicitações AJAX.
booleano false
enableAjaxPerfTracking

Padrão falso. Sinalizador para habilitar a pesquisa e a inclusão intervalos extras do window.performance do navegador nas métricas do Ajax (XHR e fetch) relatadas.
booleano false
enableAutoRouteTracking

Rastreia automaticamente as alterações de rota nos SPA (Aplicativos de Página Única). Se verdadeiro, cada alteração de rota envia uma nova Exibição de Página para o Application Insights. As alterações de rota de hash (example.com/foo#bar) também são registradas como novas exibições de página.
Observação: se você habilitar esse campo, não deverá habilitar o objeto history para a Configuração do roteador do React, pois obterá vários eventos de exibição de página.
booleano false
enableCorsCorrelation

Se verdadeiro, o SDK adiciona dois cabeçalhos ('Request-Id' e 'Request-Context') a todas as solicitações CORS para correlacionar dependências do AJAX de saída com solicitações correspondentes no lado do servidor. O padrão é falso
booleano false
enableDebug

Se marcado como true, os dados de depuração internos são lançados como uma exceção em vez de serem registrados, independentemente das configurações de log do SDK. O padrão é false.
Observação: habilitar essa configuração resulta em queda da telemetria sempre que ocorrer um erro interno. Isso pode ser útil para identificar rapidamente problemas com sua configuração ou uso do SDK. Se você não quiser perder a telemetria durante a depuração, considere usar loggingLevelConsole ou loggingLevelTelemetry em vez de enableDebug.
booleano false
enablePerfMgr

Quando habilitado (true), ele criará perfEvents locais para o código que foi instrumentado para emitir perfEvents (por meio do auxiliar doPerf()). Ele pode ser usado para identificar problemas de desempenho no SDK com base em seu uso ou, opcionalmente, em seu próprio código instrumentado.
booleano false
enableRequestHeaderTracking

Se verdadeiro, os cabeçalhos de solicitação de Fetch e do AJAX são rastreados, o padrão é falso. Se o ignoreHeaders não estiver configurado, os cabeçalhos Authorization e X-API-Key não serão registrados.
booleano false
enableResponseHeaderTracking

Se verdadeiro, os cabeçalhos de resposta da solicitação de Fetch e do AJAX são rastreados, o padrão é falso. Se o ignoreHeaders não estiver configurado, o cabeçalho WWW-Authenticate não será registrado.
booleano false
enableSessionStorageBuffer

Padrão verdadeiro. Se marcado como true, o buffer com todas as telemetrias não enviadas será armazenado no armazenamento de sessão. O buffer é restaurado no carregamento da página
booleano true
enableUnhandledPromiseRejectionTracking

Se verdadeiro, as rejeições de promessa não tratadas são coletadas automaticamente como um erro do JavaScript. Quando disableExceptionTracking for verdadeiro (não rastreia exceções), o valor de configuração será ignorado e as rejeições de promessa não tratadas não serão relatadas.
booleano false
eventsLimitInMem

O número de eventos que podem ser mantidos na memória antes que o SDK comece a descartar eventos quando não estiver usando o Armazenamento de Sessão (o padrão).
número 10000
excludeRequestFromAutoTrackingPatterns

Forneça uma maneira de excluir uma rota específica do rastreamento automático para XMLHttpRequest ou solicitação de Fetch. Se definido, para uma solicitação Ajax/fetch em que o URL da solicitação corresponda aos padrões regex, o rastreamento automático será desativado. O padrão é indefinido.
string[] | RegExp[] não definido
featureOptIn

Defina os detalhes da opção de Recurso.

Esse campo de configuração só está disponível na versão 3.0.3 e posteriores.
IFeatureOptIn não definido
idLength

Identifica o comprimento padrão usado para gerar novos valores de sessão aleatória e de ID de usuário. O padrão é 22, o valor padrão anterior era 5 (v2.5.8 ou inferior), se você precisar manter o comprimento máximo anterior, defina o valor como 5.
numeric 22
ignoreHeaders

Cabeçalhos de solicitação e resposta de Fetch e do AJAX a serem ignorados nos dados de log. Para substituir ou descartar o padrão, adicione um array com todos os cabeçalhos a serem excluídos ou um array vazio à configuração.
string[] ["Authorization", "X-API-Key", "WWW-Authenticate"]
isBeaconApiDisabled

Se falso, o SDK envia toda a telemetria usando a API do Sinalizador
booleano true
isBrowserLinkTrackingEnabled

O padrão é false. Se verdadeiro, o SDK rastreia todas as solicitações do Link do Navegador.
booleano false
isRetryDisabled

Padrão falso. Se marcado como false, tente novamente em 206 (êxito parcial), 408 (tempo limite), 429 (número excessivo de solicitações), 500 (erro interno do servidor), 503 (serviço indisponível) e 0 (offline, somente se detectado)
booleano false
isStorageUseDisabled

Se verdadeiro, o SDK não armazena nem lê nenhum dado do armazenamento local e da sessão. O padrão é false.
booleano false
loggingLevelConsole

Registra erros internos do Application Insights no console.
0: desativado,
1: Somente erros críticos,
2: Tudo (erros e avisos)
numeric 0
loggingLevelTelemetry

Envia erros internos do Application Insights como telemetria.
0: desativado,
1: Somente erros críticos,
2: Tudo (erros e avisos)
numeric 1
maxAjaxCallsPerView

Padrão 500 - controla quantas chamadas do Ajax são monitoradas por exibição de página. Defina como -1 para monitorar todas as chamadas AJAX (ilimitadas) na página.
numeric 500
maxAjaxPerfLookupAttempts

O valor padrão é 3. É necessário o número máximo de vezes para procurar os intervalos do window.performance (se disponíveis). Nem todos os navegadores preenchem o window.performance antes de relatar o fim da solicitação XHR. Para solicitações de fetch, ele é adicionado após a conclusão.
numeric 3
maxBatchInterval

Quanta telemetria colocar em lote antes de enviar (milissegundos)
numeric 15000
maxBatchSizeInBytes

Tamanho máximo do lote de telemetria. Se um lote exceder esse limite, ele será imediatamente enviado e um novo lote será iniciado
numeric 10000
namePrefix

Um valor opcional que é usado como sufixo de nome para localStorage e o nome do cookie de sessão.
string não definido
onunloadDisableBeacon

Padrão falso. quando a guia é fechada, o SDK envia toda a telemetria restante usando a API do Sinalizador
booleano false
onunloadDisableFetch

Se houver suporte para fetch keepalive, não use-o para enviar eventos durante o descarregamento, ele ainda poderá voltar para fetch() sem keepalive
booleano false
overridePageViewDuration

Se marcado como true, o comportamento padrão do trackPageView será alterado para registrar o final do intervalo de duração da exibição de página quando o trackPageView for chamado. Se marcado como false e nenhuma duração personalizada for fornecida para o trackPageView, o desempenho de exibição de página será calculado usando a API Navigation Timing. O padrão é false.
booleano false
perfEvtsSendAll

Quando enablePerfMgr está habilitado e o IPerfManager aciona um INotificationManager. perfEvent (), esse sinalizador determina se um evento é disparado (e enviado a todos os ouvintes) para todos os eventos (true) ou apenas para eventos 'pai' (falso <padrão >).
Um IPerfEvent pai é um evento em que nenhum outro IPerfEvent ainda está em execução no ponto em que o evento está sendo criado e sua propriedade pai não é nula ou indefinida. A partir da v 2.5.7
booleano false
samplingPercentage

Porcentagem de eventos que é enviada. O padrão é 100, o que significa que todos os eventos são enviados. Defina se desejar preservar seu limite de dados para aplicativos de grande escala.
numeric 100
sdkExtension

Define o nome da extensão do SDK. Somente caracteres alfabéticos são permitidos. O nome da extensão é adicionado como um prefixo à marca ' ai.internal.sdkVersion ' (por exemplo, 'ext_javascript:2.0.0'). O padrão é nulo.
string nulo
sessionCookiePostfix

Um valor opcional que é usado como sufixo de nome para o nome do cookie de sessão. Se indefinido, namePrefix é usado como sufixo de nome para o nome do cookie de sessão.
string não definido
sessionExpirationMs

Uma sessão será registrada se continuar por esse período de tempo em milissegundos. O padrão é 24 horas
numeric 86,4 milhões
sessionRenewalMs

Uma sessão será registrada se o usuário estiver inativo por esse período de tempo em milissegundos. O padrão é 30 minutos
numeric 1,8 milhões
throttleMgrCfg

Definir a configuração do gerenciador de limitação por chave.

Esse campo de configuração só está disponível na versão 3.0.3 e posteriores.
{[key: number]: IThrottleMgrConfig} não definido
userCookiePostfix

Um valor opcional que é usado como sufixo de nome para o nome do cookie de usuário. Se indefinido, nenhum postfix é adicionado ao nome do cookie de usuário.
string não definido

A partir da versão 2.6.0, o SDK do JavaScript para o Application Insights do Azure fornece gerenciamento de cookies baseado em instância que pode ser desabilitado e reabilitado após a inicialização.

Se você desabilitou os cookies durante a inicialização usando as configurações disableCookiesUsage ou cookieCfg.enabled, poderá reativá-los usando a função setEnabled do objeto ICookieMgr.

O gerenciamento de cookies baseado em instância substitui as funções globais anteriores do CoreUtils de disableCookies(), setCookie(), getCookie(), e deleteCookie().

Para aproveitar os aprimoramentos de balanceamento de árvore introduzidos na versão 2.6.0, é recomendável não usar mais as funções globais.

ICookieMgrConfig é uma configuração de cookie para gerenciamento de cookie baseado em instância adicionado em 2.6.0. As opções fornecidas permitem habilitar ou desabilitar o uso de cookies pelo SDK. Você também pode definir domínios e caminhos de cookies personalizados e personalizar as funções para buscar, configurar e excluir cookies.

As opções de ICookieMgrConfig são definidas na tabela a seguir.

Nome Tipo Padrão Descrição
Habilitado booleano true A instância atual do SDK usa esse booleano para indicar se o uso de cookies está habilitado. Se falso, a instância do SDK inicializada por essa configuração não armazena ou lê nenhum dado dos cookies.
domínio string nulo Domínio de cookie personalizado. É útil se você deseja compartilhar cookies do Application Insights entre subdomínios. Se ele não for fornecido, usará o valor do valor raiz do cookieDomain.
caminho string / Especifica o caminho a ser usado para o cookie, se não for fornecido, usará qualquer valor do valor cookiePath raiz.
ignoreCookies string[] não definido Especifique os nomes de cookie a serem ignorados, isso faz com que qualquer nome de cookie correspondente nunca seja lido ou gravado. Eles ainda podem ser explicitamente limpos ou excluídos. Não é necessário repetir o nome na configuração do blockedCookies. (desde v2.8.8)
blockedCookies string[] não definido Especifique os nomes de cookie para nunca gravar. Isso impede a criação ou atualização de qualquer nome de cookie, mas ainda podem ser lidos, a menos que também sejam incluídos no ignoreCookies. Eles ainda podem ser limpos ou excluídos explicitamente. Se não for fornecido, usará como padrão a mesma lista no ignoreCookies. (Desde v2.8.8)
getCookie (name: string) => string null Função para buscar do valor do cookie nomeado, se não fornecido, usa a análise/cache cookie interno.
setCookie (name: string, value: string) => void null Função para configurar o cookie nomeado com o valor especificado; somente é chamado ao adicionar ou atualizar um cookie.
delCookie (name: string, value: string) => void null Função para excluir o cookie nomeado com o valor especificado, separado do setCookie para evitar a necessidade de analisar o valor para determinar se o cookie está sendo adicionado ou removido. Se não for fornecido, usará a análise/cache de cookies internos.

Source map

O suporte ao sourcemap ajuda a depurar o código JavaScript minificado com a capacidade de desminificação da pilha de chamadas minificada de sua telemetria de exceção.

  • Compatível com todas as integrações atuais no painel Detalhes da Exceção
  • Compatível com todos os SDKs do JavaScript atuais e futuros, incluindo Node.JS, sem a necessidade de atualização do SDK

O Application Insights oferece suporte ao carregamento de source maps para o seu próprio contêiner de blobs da conta de armazenamento. Os source maps podem ser usados para desminificar pilhas de chamadas encontradas na página de Detalhes de transações de ponta a ponta. Você também pode usar mapas de origem para desminificar qualquer exceção enviada pelo SDK do JavaScript ou pelo SDK doNode.js.

Captura de tela que mostra a seleção da opção para desminificar uma pilha de chamadas vinculando-se a uma conta de armazenamento.

Criar uma nova conta de armazenamento e um contêiner de blobs

Se você já tiver uma conta de armazenamento ou um contêiner de blobs, poderá ignorar esta etapa.

  1. Criar uma nova conta de Armazenamento.

  2. Crie um contêiner de blobs em sua conta de armazenamento. Defina oNível de acesso público como Privadopara garantir que seus source maps não estejam acessíveis publicamente.

    Captura de tela que mostra a definição do nível de acesso do contêiner como Privado.

Enviar source maps por push para o contêiner de blobs

Você deve integrar o pipeline de implantação contínua à sua conta de armazenamento configurando-a para carregar automaticamente os source maps para o contêiner de blob configurado.

Você pode carregar source maps em seu contêiner de Armazenamento de Blobs do Azure com a mesma estrutura de pasta com a qual foram compilados e implantados. Um caso de uso comum é prefixar uma pasta de implantação com sua versão, por exemplo, 1.2.3/static/js/main.js. Quando você desminifica por meio de um contêiner de blob do Azure chamado sourcemaps, o pipeline tenta buscar um mapa de origem localizado em sourcemaps/1.2.3/static/js/main.js.map.

Se você estiver usando o Azure Pipelines para compilar e implantar o aplicativo continuamente, adicione uma tarefa da cópia o arquivo do Azure ao seu pipeline para carregar automaticamente os source maps.

Captura de tela que mostra a adição de uma tarefa de cópia de arquivo do Azure ao seu pipeline para carregar os source maps para o Armazenamento de Blobs do Azure.

Configurar o recurso do Application Insights com uma conta de armazenamento de source maps

Você tem duas opções para configurar o recurso do Application Insights com uma conta de armazenamento de source map.

Guia de detalhes da Transação de ponta a ponta

Na guia Detalhes da transação de ponta a ponta, selecione Desminificar. Configure o recurso se ele não estiver configurado.

  1. No Portal do Azure, você pode exibir os detalhes de uma exceção que foi desminificada.
  2. Selecione Desminificar.
  3. Se o recurso não estiver configurado, configure-o.
Guia Propriedades

Para configurar ou alterar a conta de armazenamento ou o contêiner de blob vinculado ao recurso do Application Insights:

  1. Navegue até a guia de Propriedades do recurso do Application Insights:

  2. Selecione Alterar contêiner de blobs do source map.

  3. Selecione um contêiner de blobs diferente como o contêiner dos source maps.

  4. Escolha Aplicar.

    Captura de tela que mostra a reconfiguração do contêiner de blob do Azure selecionado no painel Propriedades.

Exibir a lista de chamadas não gerenciadas

Para exibir a pilha de chamadas não minificada, selecione um item de telemetria de exceção no portal do Azure, localize os source maps que correspondem à pilha de chamadas e arraste e solte os source maps na pilha de chamadas no portal do Azure. O source map deve ter o mesmo nome do arquivo de origem de um registro de ativação, mas com uma extensão map.

Se você tiver problemas que envolvem o suporte ao source map para aplicativos JavaScript, confira como Solucionar problemas de suporte a source map para aplicativos JavaScript.

Animação demonstrando o recurso de desminificação.

Balanceamento de árvore

O balanço da árvore elimina o código não utilizado do pacote JavaScript final.

Para aproveitar o balanceamento de árvore, importe apenas os componentes necessários do SDK para seu código. Ao fazer isso, o código não utilizado não será incluído no pacote final, reduzindo seu tamanho e melhorando o desempenho.

Melhorias e recomendações de balanceamento de árvore

Na versão 2.6.0, descontinuamos e removemos o uso interno dessas classes auxiliares estáticas para melhorar o suporte a algoritmos de balanceamento de árvore. Ela permite que os pacotes npm descartem com segurança o código não utilizado.

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

As funções agora são exportadas como raízes de nível superior dos módulos, tornando mais fácil refatorar seu código para melhor balanceamento de árvore.

As classes estáticas foram alteradas para objetos const que referenciam as novas funções exportadas, e mudanças futuras estão planejadas para refatorar ainda mais as referências.

Funções e substituições preteridas de balanceamento de árvore

Esta seção só se aplica a você se estiver usando as funções preteridas e quiser otimizar o tamanho do pacote. É recomendável usar as funções de substituição para reduzir o tamanho e dar suporte a todas as versões do Internet Explorer.

Existente Substituição
CoreUtils @microsoft/applicationinsights-core-js
CoreUtils._canUseCookies Nenhum. Não use, pois faz com que toda a referência do CoreUtils seja incluída no seu código final.
Refatore sua manipulação de cookie para usar o appInsights.getCookieMgr().setEnabled(true/false) para definir o valor e appInsights.getCookieMgr().isEnabled() verificar o valor.
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 or 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
A referência a um deles faz com que CoreUtils seja referenciado para compatibilidade com versões anteriores.
Refatore sua manipulação de cookie para usar o 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
A referência a um deles faz com que CoreUtils seja referenciado para compatibilidade com versões anteriores.
Refatore sua manipulação de cookie para usar o appInsights.getCookieMgr().setEnabled(false)
Util.canUseCookies canUseCookies
A referência a um deles faz com que CoreUtils seja referenciado para compatibilidade com versões anteriores.
Refatore sua manipulação de cookie para usar o appInsights.getCookieMgr().isEnabled()
Util.disallowsSameSiteNone uaDisallowsSameSiteNone
Util.setCookie coreSetCookie
A referência faz com que CoreUtils seja referenciado para compatibilidade com versões anteriores.
Refatore sua manipulação de cookie para usar o appInsights.getCookieMgr().set(name: string, value: string)
Util.stringToBoolOrDefault stringToBoolOrDefault
Util.getCookie coreGetCookie
A referência faz com que CoreUtils seja referenciado para compatibilidade com versões anteriores.
Refatore sua manipulação de cookie para usar o appInsights.getCookieMgr().get(name: string)
Util.deleteCookie coreDeleteCookie
A referência faz com que CoreUtils seja referenciado para compatibilidade com versões anteriores.
Refatore sua manipulação de cookie para usar o appInsights.getCookieMgr().del(name: string, path?: string)
Util.trim strTrim
Util.newId newId
Util.random32 ---
Sem substituição, refatore seu código para usar o núcleo 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

Notificações de serviço

As notificações de serviço são um recurso criado no SDK para fornecer recomendações acionáveis e ajudar a garantir que sua telemetria flua sem interrupções para o Application Insights. Você verá as notificações como uma mensagem de exceção no Application Insights. Garantimos que as notificações sejam relevantes para você com base nas suas configurações do SDK e ajustamos o detalhamento com base na urgência da recomendação. Recomendamos deixar as notificações de serviço ativadas, mas você pode desativá-las por meio da configuração de featureOptIn. Veja abaixo uma lista de notificações ativas.

Atualmente, nenhuma notificação ativa está sendo enviada.

Solução de problemas

Confira o artigo de solução de problemas dedicado.

Perguntas frequentes

Esta seção fornece respostas para perguntas comuns.

Como posso atualizar minha configuração de servidor de terceiros para o SDK do JavaScript?

O lado do servidor precisa ser capaz de aceitar conexões com esses cabeçalhos presentes. Dependendo da configuração Access-Control-Allow-Headers no lado do servidor, muitas vezes é necessário estender a lista do lado do servidor adicionando Request-Id, Request-Context e traceparent (cabeçalho distribuído W3C).

Controle de Acesso a Cabeçalhos Permitidos: Request-Id, traceparent, Request-Context e <your header>

Como posso desabilitar o rastreamento distribuído para o SDK do JavaScript?

O rastreamento distribuído pode ser desabilitado na configuração.

As respostas HTTP 502 e 503 sempre serão capturadas pelo Application Insights?

Não. Os erros "502 Gateway incorreto" e "503 Serviço indisponível" nem sempre são capturados pelo Application Insights. Se apenas o JavaScript do lado do cliente estiver sendo usado para monitoramento, esse comportamento será esperado, pois a resposta de erro é retornada antes da renderização da página que contém o cabeçalho HTML com o snippet de código JavaScript de monitoramento.

Se a resposta 502 ou 503 foi enviada de um servidor com o monitoramento do lado do servidor habilitado, os erros são coletados pelo SDK do Application Insights.

Mesmo quando o monitoramento do lado do servidor está habilitado no servidor Web de um aplicativo, às vezes um erro 502 ou 503 não é capturado pelo Application Insights. Muitos servidores Web modernos não permitem que um cliente se comunique diretamente. Em vez disso, eles utilizam soluções como proxies reversos para transmitir informações entre o cliente e os servidores Web front-end.

Nesse cenário, uma resposta 502 ou 503 pode ser retornada a um cliente devido a um problema na camada de proxy reverso, então ela não será capturada pelo Application Insights. Para ajudar a detectar problemas nessa camada, talvez seja necessário encaminhar logs do proxy reverso para o Log Analytics e criar uma regra personalizada para verificar se há respostas 502 ou 503. Para saber mais sobre as causas comuns dos erros 502 e 503, confiraSolucionar erros HTTP “502 Gateway incorreto” e “503 Serviço indisponível” no Serviço de Aplicativo do Azure.

Próximas etapas