Partilhar via


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

O SDK JavaScript do Azure Application Insights fornece configuração para rastreamento, monitoramento e depuração de seus aplicativos Web.

Configuração do SDK

Esses campos de configuração são opcionais e padrão para false, salvo indicação em contrário.

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

Nome Tipo Predefinido
accountId

Um ID de conta opcional, se a sua aplicação agrupar utilizadores em contas. Sem espaços, vírgulas, ponto-e-vírgula, 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 de api. O padrão é indefinido. Você precisa verificar se xhr existe se você configurar xhr o contexto relacionado. Você precisa verificar se fetch request e fetch response existe se você configurar fetch o contexto relacionado. Caso contrário, poderá não obter os dados de que necessita.
(requestContext: IRequestionContext) => {[chave: string]: qualquer} indefinido
ajaxPerfLookupDelay

O padrão é 25 ms. A quantidade de tempo de espera antes de tentar encontrar novamente os tempos windows.performance para uma solicitação Ajax, o tempo é em milissegundos e é passado diretamente para setTimeout().
numérico 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 Beacon está ativada, ela não pode ser usada automaticamente, mas pode ser definida manualmente na configuração. O padrão é null
string nulo
autoTrackPageVisitTime

Se verdadeiro, em uma exibição de página, o tempo de exibição da página instrumentada anterior é controlado e enviado como telemetria e um novo temporizador é iniciado para a exibição de página atual. Ela é enviada como uma métrica personalizada nomeada PageVisitTime e milliseconds é calculada por meio da função Date now() (se disponível) e retorna a (new Date()).getTime() se now() estiver indisponível (IE8 ou menos). A predefinição é falsa.
boolean false
convertUndefined

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

Os padrões para o uso de cookies ativado consulte Configurações ICookieCfgConfig para obter os padrões completos.
ICookieCfgConfig
[Opcional]
(Desde 2.6.0)
indefinido
cookieDomínio

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

Caminho de cookie personalizado. É útil se você quiser compartilhar cookies do Application Insights por trás de um gateway de aplicativo.
Se cookieCfg.path for definido, tem precedência.
alias para cookieCfg.path
[Opcional]
(Desde 2.6.0)
nulo
correlationHeaderDomains

Habilitar cabeçalhos de correlação para domínios específicos
string[] indefinido
correlationHeaderExcludedDomains

Desativar cabeçalhos de correlação para domínios específicos
string[] indefinido
correlationHeaderExcludePatterns

Desabilitar cabeçalhos de correlação usando expressões regulares
Regex[] indefinido
createPerfMgr

Função de retorno de chamada que será chamada para criar uma instância IPerfManager quando necessário e enablePerfMgr está habilitada, permite que você substitua a criação padrão de um PerfManager() sem precisar após a setPerfMgr() inicialização.
(núcleo: IAppInsightsCore, notificationManager: INotificationManager) => IPerfManager indefinido
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 beacon é usado. E a adição de cabeçalhos personalizados não é suportada no IE9 ou anterior.
[{header: string, value: string}] indefinido
diagnósticoLogInterval

(interna) Intervalo de sondagem (em ms) para fila de registro interno
numérico 10000
desativarAjaxTracking

Se for verdade, as chamadas do Ajax não são recolhidas automaticamente. A predefinição é falsa.
boolean false
desativarCookiesUtilização

Padrão false. Um booleano que indica se o uso de cookies deve ser desativado pelo SDK. Se verdadeiro, o SDK não armazena nem lê dados de cookies.
(Desde v2.6.0) Se cookieCfg.enabled for definido, tem precedência. A utilização de cookies pode ser reativada após a inicialização através do core.getCookieMgr().setEnabled(true).
alias para cookieCfg.enabled
[Opcional]
false
disableCorrelationHeaders

Se false, 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. A predefinição é falsa.
boolean false
disableDataLossAnalysis

Se false, os buffers internos do remetente de telemetria são verificados na inicialização para itens ainda não enviados.
boolean verdadeiro
disableExceptionTracking

Se verdadeiro, as exceções não são coletadas automaticamente. A predefinição é falsa.
boolean false
desativarFetchTracking

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

Padrão false. Se verdadeiro, o método flush não é chamado quando o evento onBeforeUnload é acionado
boolean false
disableIkeyDeprecationMessage

Desativar mensagem de erro de substituição da chave de instrumentação. Se verdadeiro, as mensagens de erro NÃO são enviadas.
boolean verdadeiro
disableInstrumentationKeyValidation

Se verdadeiro, a verificação de validação da chave de instrumentação é ignorada. O valor predefinido é falso.
boolean false
disableTelemetry

Se verdadeiro, a telemetria não é coletada ou enviada. A predefinição é falsa.
boolean false
desativar Xhr

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

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

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

Padrão false. Sinalize para permitir a pesquisa e a inclusão de intervalos de desempenho de janela extra do navegador nas métricas relatadas do Ajax (XHR e fetch).
boolean false
enableAutoRouteTracking

Rastreie automaticamente as alterações de rota em Aplicativos de Página Única (SPA). Se verdadeiro, cada alteração de rota envia uma nova Pageview para o Application Insights. As alterações à rota hash (example.com/foo#bar) também são registadas como novas vistas de página.
Nota: Se você habilitar esse campo, não habilite o objeto para a configuração do history roteador React, pois você obterá vários eventos de exibição de página.
boolean 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 AJAX de saída com solicitações correspondentes no lado do servidor. O padrão é false
boolean false
enableDebug

Se verdadeiro, os dados de depuração interna são lançados como uma exceção em vez de serem registrados, independentemente das configurações de log do SDK. A predefinição é falsa.
Nota: Ativar essa configuração resulta em telemetria descartada sempre que ocorre um erro interno. Ele 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.
boolean false
habilitarPerfMgr

Quando ativado (true), ele cria 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 no seu uso ou, opcionalmente, dentro do seu próprio código instrumentado.
boolean false
enableRequestHeaderTracking

Se true, AJAX & Fetch request headers for rastreado, o padrão será false. Se ignoreHeaders não estiver configurado, os cabeçalhos Authorization e X-API-Key não serão registrados.
boolean false
enableResponseHeaderTracking

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

Padrão true. Se verdadeiro, o buffer com toda a telemetria não enviada é armazenado no armazenamento da sessão. O buffer é restaurado no carregamento da página
boolean verdadeiro
enableUnhandledPromiseRejectionTracking

Se verdadeiro, as rejeições de promessa não tratadas são coletadas automaticamente como um erro de JavaScript. Quando disableExceptionTracking é true (não rastreie exceções), o valor da configuração é ignorado e as rejeições de promessa não tratadas não são relatadas.
boolean false
eventosLimitInMem

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 Fetch request. Se definido, para uma solicitação Ajax / fetch que a url da solicitação corresponde aos padrões regex, o rastreamento automático é desativado. O padrão é indefinido.
string[] | RegExp[] indefinido
featureOptIn

Definir detalhes de opção de recurso.

Este campo de configuração só está disponível na versão 3.0.3 e posterior.
IFeatureOptIn indefinido
idLength

Identifica o comprimento padrão usado para gerar novas sessões aleatórias e IDs de usuário. O padrão é 22, o valor padrão anterior era 5 (v2.5.8 ou menos), se você precisar manter o comprimento máximo anterior, defina o valor como 5.
numérico 22
ignoreHeaders

AJAX & Buscar cabeçalhos de solicitação e resposta a serem ignorados nos dados de log. Para substituir ou descartar o padrão, adicione uma matriz com todos os cabeçalhos a serem excluídos ou uma matriz vazia à configuração.
string[] ["Autorização", "X-API-Key", "WWW-Authenticate"]
isBeaconApiDisabled

Se false, o SDK envia toda a telemetria usando a API do Beacon
boolean verdadeiro
isBrowserLinkTrackingEnabled

A predefinição é falsa. Se verdadeiro, o SDK rastreia todas as solicitações de link do navegador.
boolean false
isRetryDisabled

Padrão false. Se false, tente novamente em 206 (sucesso parcial), 408 (tempo limite), 429 (muitas solicitações), 500 (erro interno do servidor), 503 (serviço indisponível) e 0 (offline, somente se detetado)
boolean false
isStorageUseDisabled

Se verdadeiro, o SDK não armazena nem lê dados do armazenamento local e de sessão. A predefinição é falsa.
boolean false
loggingLevelConsole

Registra erros internos do Application Insights no console.
0: desligado,
1: Apenas erros críticos,
2: Tudo (erros e avisos)
numérico 0
loggingLevelTelemetry

Envia erros internos do Application Insights como telemetria.
0: desligado,
1: Apenas erros críticos,
2: Tudo (erros e avisos)
numérico 1
maxAjaxCallsPerView

Default 500 - controla quantas chamadas Ajax são monitoradas por visualização de página. Defina como -1 para monitorar todas as chamadas (ilimitadas) do Ajax na página.
numérico 500
maxAjaxPerfLookupTentativas

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

Quanto tempo para telemetria em lote antes de enviar (milissegundos)
numérico 15000
maxBatchSizeInBytes

Tamanho máximo do lote de telemetria. Se um lote exceder esse limite, ele será enviado imediatamente e um novo lote será iniciado
numérico 10000
nomePrefixo

Um valor opcional que é usado como postfix de nome para localStorage e nome de cookie de sessão.
string indefinido
onunloadDisableBeacon

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

Se fetch keepalive for suportado, não o use para enviar eventos durante o descarregamento, ele ainda pode cair de volta para fetch() sem keepalive
boolean false
substituir PageViewDuration

Se verdadeiro, o comportamento padrão de trackPageView é alterado para registrar o intervalo de duração do final da exibição de página quando trackPageView é chamado. Se false e nenhuma duração personalizada for fornecida para trackPageView, o desempenho da exibição de página será calculado usando a API de tempo de navegação. A predefinição é falsa.
boolean false
perfEvtsSendAll

Quando enablePerfMgr está habilitado e o IPerfManager dispara um INotificationManager.perfEvent(), esse sinalizador determina se um evento é acionado (e enviado a todos os ouvintes) para todos os eventos (true) ou apenas para eventos 'pai' (false <default>).
Um IPerfEvent pai é um evento onde nenhum outro IPerfEvent ainda está em execução no ponto do evento que está sendo criado e sua propriedade pai não é nula ou indefinida. Desde v2.5.7
boolean false
amostragemPercentagem

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

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

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

Uma sessão é registrada se tiver continuado por esse período de tempo em milissegundos. O padrão é 24 horas
numérico 86400000
sessãoRenovaçãoMestrado

Uma sessão é registrada se o usuário estiver inativo por esse período de tempo em milissegundos. O padrão é 30 minutos
numérico 1800000
aceleradorMgrCfg

Defina a configuração do throttle mgr por chave.

Este campo de configuração só está disponível na versão 3.0.3 e posterior.
{[key: number]: IThrottleMgrConfig} indefinido
userCookiePostfix

Um valor opcional que é usado como nome postfix para nome de cookie do usuário. Se indefinido, nenhum postfix é adicionado no nome do cookie do usuário.
string indefinido

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

Se você desabilitou os cookies durante a inicialização usando as disableCookiesUsage configurações ou cookieCfg.enabled , poderá reativá-los usando a setEnabled função 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 agitação de árvore introduzidos na versão 2.6.0, recomenda-se não usar mais as funções globais.

ICookieMgrConfig é uma configuração de cookie para gerenciamento de cookies baseado em instância adicionado na versão 2.6.0. As opções fornecidas permitem ativar ou desativar 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, definir e excluir cookies.

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

Nome Tipo Predefinido Description
ativado boolean verdadeiro A instância atual do SDK usa esse booleano para indicar se o uso de cookies está habilitado. Se false, a instância do SDK inicializada por essa configuração não armazena nem lê dados de cookies.
domínio string nulo Domínio de cookie personalizado. É útil se você quiser compartilhar cookies do Application Insights entre subdomínios. Se não fornecido usa o valor do valor raiz cookieDomain .
path string / Especifica o caminho a ser usado para o cookie, se não for fornecido, ele usa qualquer valor do valor raiz cookiePath .
ignorarCookies string[] indefinido Especifique o(s) nome(s) do cookie a ser ignorado, isso faz com que qualquer nome de cookie correspondente nunca seja lido ou escrito. Eles ainda podem ser explicitamente limpos ou excluídos. Não é necessário repetir o nome na blockedCookies configuração. (desde v2.8.8)
bloqueadosCookies string[] indefinido Especifique o(s) nome(s) do(s) cookie(s) para nunca escrever. Ele impede a criação ou atualização de qualquer nome de cookie, mas eles ainda podem ser lidos, a menos que também incluídos no ignoreCookies. Eles ainda podem ser limpos ou excluídos explicitamente. Se não for fornecido, o padrão será para a mesma lista em ignoreCookies. (Desde v2.8.8)
getCookie (name: string) => string nulo Função para buscar o valor do cookie nomeado, se não for fornecido ele usa a análise de cookie interno / cache.
setCookie (name: string, value: string) => void nulo Função para definir o cookie nomeado com o valor especificado, chamado apenas ao adicionar ou atualizar um cookie.
delCookie (name: string, value: string) => void nulo Função para excluir o cookie nomeado com o valor especificado, separado de setCookie para evitar a necessidade de analisar o valor para determinar se o cookie está sendo adicionado ou removido. Se não for fornecido, usa a análise/cache de cookies internos.

Mapa de origem

O suporte ao mapa de origem ajuda você a depurar código JavaScript minificado com a capacidade de desminificar a pilha de chamadas minificada da sua telemetria de exceção.

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

O Application Insights dá suporte ao carregamento de mapas de origem para seu contêiner de blob da conta de Armazenamento do Azure. Você pode usar mapas de origem para desminificar pilhas de chamadas encontradas na página Detalhes da transação de ponta a ponta. Você também pode usar mapas de origem para desminuir qualquer exceção enviada pelo SDK do JavaScript ou pelo SDK do Node.js.

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

Criar uma nova conta de armazenamento e contêiner de blob

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

  1. Crie uma nova conta de armazenamento.

  2. Crie um contêiner de blob dentro de sua conta de armazenamento. Defina Nível de acesso público como Privado para garantir que seus mapas de origem não sejam acessíveis publicamente.

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

Envie seus mapas de origem para seu contêiner de blob

Integre seu pipeline de implantação contínua com sua conta de armazenamento configurando-o para carregar automaticamente seus mapas de origem para o contêiner de blob configurado.

Você pode carregar mapas de origem em seu contêiner de Armazenamento de Blob do Azure com a mesma estrutura de pastas com a qual eles 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ê unminifica 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 criar e implantar continuamente seu aplicativo, adicione uma tarefa de cópia de arquivo do Azure ao seu pipeline para carregar automaticamente seus mapas de origem.

Captura de tela que mostra a adição de uma tarefa de cópia de arquivo do Azure ao seu pipeline para carregar seus mapas de origem no Armazenamento de Blobs do Azure.

Configure seu recurso do Application Insights com uma conta de armazenamento de mapa de origem

Você tem duas opções para configurar seu recurso do Application Insights com uma conta de armazenamento de mapa de origem.

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

Na guia Detalhes da transação de ponta a ponta, selecione Desminify. Configure seu recurso se ele estiver desconfigurado.

  1. No portal do Azure, exiba os detalhes de uma exceção que é minificada.
  2. Selecione Desminificar.
  3. Se o recurso não estiver configurado, configure-o.
Separador Propriedades

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

  1. Vá para a guia Propriedades do recurso do Application Insights.

  2. Selecione Alterar contêiner de Blob do mapa de origem.

  3. Selecione um contêiner de blob diferente como seu contêiner de mapa de origem.

  4. Selecione Aplicar.

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

Ver a pilha de chamadas não minificada

Para exibir a pilha de chamadas não minificada, selecione um item de Telemetria de Exceção no portal do Azure, localize os mapas de origem que correspondem à pilha de chamadas e arraste e solte os mapas de origem na pilha de chamadas no portal do Azure. O mapa de origem deve ter o mesmo nome que o arquivo de origem de um quadro de pilha, mas com uma map extensão.

Se você tiver problemas que envolvam o suporte de mapa de origem para aplicativos JavaScript, consulte Solucionar problemas de suporte de mapa de origem para aplicativos JavaScript.

Animação demonstrando recurso unminificar.

Tremor de árvore

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

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

Melhorias e recomendações para agitação de árvores

Na versão 2.6.0, substituímos e removemos o uso interno dessas classes auxiliares estáticas para melhorar o suporte a algoritmos de agitação de árvores. Ele permite que os pacotes npm soltem 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 melhorar a agitação da árvore.

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

Árvore agitando funções preteridas e substituições

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

Existente Substituição
CoreUtils @microsoft/applicationinsights-core-js
CoreUtils._canUseCookies Nenhum. Não use, pois isso faz com que toda a referência CoreUtils seja incluída no seu código final.
Refatore o tratamento de cookies 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 isNúmero
CoreUtils.isBoolean isbooleano
CoreUtils.toISOString toISOString ou getISOString
CoreUtils.arrForEach arrForEach
CoreUtils.arrIndexOf arrIndexOf
CoreUtils.arrMapa arrMapa
CoreUtils.arrReduce arrReduzir
CoreUtils.strTrim strTrim |
CoreUtils.objCreate objCreateFn
CoreUtils.objKeys objKeys
CoreUtils.objDefineAccessors objDefineAccessors
CoreUtils.addEventHandler addEventHandler
CoreUtils.dateNow dateNow
CoreUtils.isIE isIE
CoreUtils.disableCookies desativarCookies
A referência faz com que CoreUtils seja referenciado para compatibilidade com versões anteriores.
Refatore o tratamento de cookies para usar o appInsights.getCookieMgr().setEnabled(false)
CoreUtils.newGuid newGuid
CoreUtils.perfNow perfNow
CoreUtils.newId novoId
CoreUtils.randomValue Valor aleatório
CoreUtils.random32 aleatório32
CoreUtils.mwcRandomSeed mwcRandomSeed
CoreUtils.mwcRandom32 mwcRandom32
CoreUtils.generateW3CId gerarW3CId
EventHelper @microsoft/applicationinsights-core-js
EventHelper.Attach anexarEvento
EventHelper.AttachEvent anexarEvento
EventHelper.Desanexar desanexarEvento
EventHelper.DetachEvent desanexarEvento
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 desativarCookies
A referência faz com que CoreUtils seja referenciado para compatibilidade com versões anteriores.
Refatore o tratamento de cookies para usar o appInsights.getCookieMgr().setEnabled(false)
Util.canUseCookies canUseCookies
A referência faz com que CoreUtils seja referenciado para compatibilidade com versões anteriores.
Refatore o tratamento de cookies 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 o tratamento de cookies 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 o tratamento de cookies 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 o tratamento de cookies para usar o appInsights.getCookieMgr().del(name: string, path?: string)
Util.trim strTrim |
Util.newId novoId
Util.random32 ---
Sem substituição, refatore seu código para usar o núcleo random32(true)
Util.generateW3CId gerarW3CId
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 anexarEvento
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 do serviço

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

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

Resolução de Problemas

Consulte o artigo dedicado à resolução de problemas.

Perguntas mais frequentes

Esta secção fornece respostas a perguntas comuns.

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

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

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

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

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

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

N.º Os erros "502 bad gateway" e "503 service unavailable" nem sempre são capturados pelo Application Insights. Se apenas JavaScript do lado do cliente estiver sendo usado para monitoramento, esse comportamento será esperado porque a resposta de erro é retornada antes da página que contém o cabeçalho HTML com o snippet JavaScript de monitoramento sendo renderizado.

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 empregam soluções como proxies reversos para passar 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, para que não seja capturada imediatamente pelo Application Insights. Para ajudar a detetar 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 causas comuns de erros 502 e 503, consulte Solucionar erros HTTP de "502 bad gateway" e "503 service unavailable" no Serviço de Aplicativo do Azure.

Próximos passos