Configuración del SDK de JavaScript para Application Insights de Microsoft Azure Monitor
La configuración del SDK de JavaScript para Azure Application Insights proporciona características avanzadas para el seguimiento, la supervisión y la depuración de las aplicaciones web.
Configuración del SDK
Estos campos de configuración son opcionales y adoptan como valor predeterminado false a menos que se indique lo contrario.
Para obtener instrucciones sobre cómo agregar la configuración del SDK, consulte Agregar configuración del SDK.
Nombre | Tipo | Valor predeterminado |
---|---|---|
accountId Un identificador de cuenta opcional, si su aplicación agrupa a los usuarios en cuentas. Sin espacios, comas, puntos y comas, signos igual o barras verticales. |
string | null |
addRequestContext Proporcione una manera de enriquecer los registros de dependencias con contexto al principio de la llamada API. El valor predeterminado es undefined. Debe comprobar si existe xhr si configura contexto relacionado con xhr . Debe comprobar si existen fetch request y fetch response si configura contexto relacionado con fetch . De lo contrario, es posible que no obtenga los datos que necesita. |
(requestContext: IRequestionContext) => {[key: string]: any} | no definido |
ajaxPerfLookupDelay Su valor predeterminado es 25 ms. Cantidad de tiempo que hay que esperar antes de volver a intentar encontrar los intervalos de windows.performance para una solicitud AJAX. El tiempo se expresa en milisegundos y se pasa directamente a setTimeout(). |
NUMERIC | 25 |
appId AppId se utiliza para la correlación entre las dependencias AJAX que se producen en el lado cliente con las solicitudes del lado servidor. Cuando la API de Beacon está habilitada, no se puede usar automáticamente, pero se puede establecer manualmente en la configuración. El valor predeterminado es null. |
string | null |
autoTrackPageVisitTime Si es true, en una vista de página, se realiza el seguimiento de la hora de visualización de la página instrumentada anterior, que se envía como telemetría, y se inicia un nuevo temporizador para la vista de página actual. Se envía como una métrica personalizada llamada PageVisitTime en milliseconds y se calcula por medio de la función de fecha now() (si está disponible) y se revierte a (new Date()).getTime() si now() no está disponible (IE8 o una versión inferior). El valor predeterminado es False. |
boolean | false |
convertUndefined Proporcionar al usuario una opción para convertir un campo sin definir en un valor definido por el usuario. |
any |
no definido |
cookieCfg De forma predeterminada, el uso de cookies está habilitado; consulte la configuración de ICookieCfgConfig para ver los valores predeterminados completos. |
ICookieCfgConfig [Opcional] (Desde 2.6.0) |
no definido |
cookieDomain Dominio de cookies personalizado. Resulta útil si desea compartir cookies de Application Insights entre subdominios. (Desde v2.6.0) Si se define cookieCfg.domain , tiene prioridad sobre este valor. |
alias para cookieCfg.domain [Opcional] |
null |
cookiePath Ruta de cookies personalizada. Resulta útil si quiere compartir cookies de Application Insights detrás de una puerta de enlace de aplicación. Si se define cookieCfg.path , tiene prioridad. |
alias para cookieCfg.path [Opcional] (Desde 2.6.0) |
null |
correlationHeaderDomains Habilite encabezados de correlación para dominios específicos. |
string[] | no definido |
correlationHeaderExcludedDomains Deshabilite encabezados de correlación para dominios específicos. |
string[] | no definido |
correlationHeaderExcludePatterns Deshabilitar encabezados de correlación mediante expresiones regulares |
regex[] | no definido |
createPerfMgr Función de devolución de llamada a la que se llamará para crear una instancia de IPerfManager cuando sea necesario y la configuración enablePerfMgr esté habilitada. Permite invalidar la creación predeterminada de una instancia de PerfManager() sin necesidad de establecer setPerfMgr() después de la inicialización. |
(core: IAppInsightsCore, notificationManager: INotificationManager) => IPerfManager | no definido |
customHeaders La capacidad del usuario para proporcionar encabezados adicionales al usar un punto de conexión personalizado. No se agregan customHeaders en el momento de apagado del explorador cuando se usa el emisor de Beacon. Además, no se admite la incorporación de encabezados personalizados en IE9 o versiones anteriores. |
[{header: string, value: string}] |
no definido |
diagnosticLogInterval (interno) Intervalo de sondeo (en milisegundos) para la cola de registro interno |
NUMERIC | 10000 |
disableAjaxTracking Si es true, las llamadas Ajax no se recopilan automáticamente. El valor predeterminado es False. |
boolean | false |
disableCookiesUsage El valor predeterminado es false. Valor booleano que indica si deshabilitar el uso de cookies por parte del SDK. Si es true, el SDK no almacena ni lee ningún dato de las cookies. (Desde v2.6.0) Si se define cookieCfg.enabled , tiene prioridad. El uso de cookies se puede volver a habilitar después de la inicialización mediante core.getCookieMgr().setEnabled(true). |
alias para cookieCfg.enabled [Opcional] |
false |
disableCorrelationHeaders Si es false, el SDK agrega dos encabezados ("Request-Id" y "Request-Context") a todas las solicitudes de dependencia para correlacionarlas con las solicitudes correspondientes en el lado servidor. El valor predeterminado es False. |
boolean | false |
disableDataLossAnalysis Si es false, se comprueban los búferes del emisor de telemetría interna al inicio para detectar si hay elementos que todavía no se hayan enviado. |
boolean | true |
disableExceptionTracking Si es true, las excepciones no se recopilan automáticamente. El valor predeterminado es False. |
boolean | false |
disableFetchTracking El valor predeterminado de disableFetchTracking es false , lo que significa que la característica está habilitada. Sin embargo, en versiones anteriores a la 2.8.10, estaba deshabilitada de manera predeterminada. Cuando se establece en true , las solicitudes Fetch no se recopilan automáticamente. El valor predeterminado ha cambiado de true a false en la versión 2.8.0. |
boolean | false |
disableFlushOnBeforeUnload El valor predeterminado es false. Si es true, no se llama al método flush cuando se desencadene un evento onBeforeUnload. |
boolean | false |
disableIkeyDeprecationMessage Deshabilitar el mensaje de error de desuso de la clave de instrumentación. Si es true, NO se envían mensajes de error. |
boolean | true |
disableInstrumentationKeyValidation Si es true, se omite la comprobación de validación de la clave de instrumentación. El valor predeterminado es False. |
boolean | false |
disableTelemetry Si es true, no se recopilan ni se envían los datos de telemetría. El valor predeterminado es False. |
boolean | false |
disableXhr No use XMLHttpRequest o XDomainRequest (para Internet Explorer < versión 9) de manera predeterminada; intente usar fetch() o sendBeacon en su lugar. Si no hay ningún otro transporte disponible, usa XMLHttpRequest. |
boolean | false |
distributedTracingMode Establece del modo de seguimiento distribuido. Si se establece el modo AI_AND_W3C o el modo W3C, se generan los encabezados de contexto de seguimiento W3C (traceparent/tracestate) y se incluyen en todas las solicitudes salientes. AI_AND_W3C se proporciona para la compatibilidad con versiones anteriores de cualquier servicio instrumentado de Application Insights heredado. |
numérico o DistributedTracingModes |
DistributedTracing Modes.AI_AND_W3C |
enableAjaxErrorStatusText El valor predeterminado es false. Si es true, incluya el valor booleano de texto de datos de error de respuesta en el evento de dependencia en solicitudes AJAX erróneas. |
boolean | false |
enableAjaxPerfTracking El valor predeterminado es false. Marca para habilitar la búsqueda y la inclusión de intervalos de window.performance de explorador adicionales en las métricas notificadas de AJAX (XHR y Fetch). |
boolean | false |
enableAutoRouteTracking Realice un seguimiento automático de los cambios de ruta en aplicaciones de página única (SPA). Si es true, cada cambio de ruta envía una nueva vista de página a Application Insights. Los cambios de ruta hash ( example.com/foo#bar ) también se registran como nuevas vistas de página.Nota: si habilita este campo, no habilite el objeto history para la configuración del enrutador de React, ya que obtendrá varios eventos de vista de página. |
boolean | false |
enableCorsCorrelation Si es true, el SDK agrega dos encabezados ("Request-Id" y "Request-Context") a todas las solicitudes CORS para correlacionar dependencias AJAX salientes con las solicitudes correspondientes en el lado servidor. El valor predeterminado es false. |
boolean | false |
enableDebug Si es true, los datos de depuración internos se devuelven como una excepción en lugar de registrarse, independientemente de la configuración de registro del SDK. El valor predeterminado es False. Nota: Si se habilita este valor de configuración, se descarta la telemetría siempre que se produzca un error interno. Puede ser útil para identificar rápidamente problemas con la configuración o el uso del SDK. Si no desea perder datos de telemetría durante la depuración, considere la posibilidad de usar loggingLevelConsole o loggingLevelTelemetry en lugar de enableDebug . |
boolean | false |
enablePerfMgr Si esta configuración está habilitada (true), se crea un valor perfEvents local para el código que se ha instrumentado para emitir perfEvents (a través del asistente doPerf()). Se puede usar para identificar problemas de rendimiento en el SDK en función de su uso o de manera opcional dentro de su propio código instrumentado. |
boolean | false |
enableRequestHeaderTracking Si es true, se realiza un seguimiento de los encabezados de solicitud AJAX y Fetch. El valor predeterminado es false. Si ignoreHeaders no se configura, no se registran los encabezados Authorization y X-API-Key. |
boolean | false |
enableResponseHeaderTracking Si es true, se realiza un seguimiento de los encabezados de respuesta de solicitud AJAX y Fetch. El valor predeterminado es false. Si ignoreHeaders no se configura, no se registra el encabezado WWW-Authenticate. |
boolean | false |
enableSessionStorageBuffer El valor predeterminado es true. Si es true, el búfer con toda la telemetría no enviada se guarda en el almacenamiento de la sesión. El búfer se restaura al cargar la página. |
boolean | true |
enableUnhandledPromiseRejectionTracking Si es true, los rechazos de promesa no controlados se recopilan automáticamente como un error de JavaScript. Cuando disableExceptionTracking es true (no realizar el seguimiento de las excepciones), el valor de configuración se omite y los rechazos de promesa no controlados no se notifican. |
boolean | false |
eventsLimitInMem Número de eventos que se pueden mantener en la memoria antes de que el SDK empiece a anular eventos cuando no se use el almacenamiento de sesión (valor predeterminado). |
number | 10000 |
excludeRequestFromAutoTrackingPatterns Proporcione una manera de excluir una ruta específica del seguimiento automático de la solicitud XMLHttpRequest o Fetch. Si se define, en el caso de una solicitud AJAX o Fetch en que la dirección URL de la solicitud coincide con los patrones de regex, el seguimiento automático está desactivado. El valor predeterminado es undefined. |
string[] | RegExp[] | no definido |
featureOptIn Establece los detalles de participación en características. Este campo de configuración solo está disponible en la versión 3.0.3 y versiones posteriores. |
IFeatureOptIn | no definido |
idLength Identifica la longitud predeterminada que se usa para generar nuevos identificadores aleatorios de sesión y de usuario. El valor predeterminado es 22; el valor predeterminado anterior era 5 (v2.5.8 o anteriores), así que si necesita mantener la longitud máxima anterior, debe establecer el valor en 5. |
NUMERIC | 22 |
ignoreHeaders Los encabezados de respuesta y solicitud AJAX y Fetch se omitirán en los datos de registro. Para invalidar o descartar el valor predeterminado, agregue una matriz con todos los encabezados que se van a excluir o una matriz vacía a la configuración. |
string[] | ["Authorization", "X-API-Key", "WWW-Authenticate"] |
isBeaconApiDisabled Si es false, el SDK envía toda la telemetría mediante la API de Beacon. |
boolean | true |
isBrowserLinkTrackingEnabled El valor predeterminado es False. Si es true, el SDK realiza un seguimiento de todas las solicitudes de Vínculo con exploradores. |
boolean | false |
isRetryDisabled El valor predeterminado es false. Si es false, se produce un reintento con los errores 206 (parcialmente correcto), 408 (tiempo de espera), 429 (demasiadas solicitudes), 500 (error interno del servidor), 503 (servicio no disponible) y 0 (sin conexión, solo si se detecta). |
boolean | false |
isStorageUseDisabled Si es true, el SDK no almacena ni lee datos del almacenamiento local o de la sesión. El valor predeterminado es False. |
boolean | false |
loggingLevelConsole Registra errores internos de Application Insights en la consola. 0: desactivado 1: solo errores críticos 2: Todo (errores y advertencias) |
numérico | 0 |
loggingLevelTelemetry Envía errores internos de Application Insights como telemetría. 0: desactivado 1: solo errores críticos 2: Todo (errores y advertencias) |
numérico | 1 |
maxAjaxCallsPerView El valor predeterminado es 500: controla cuántas llamadas AJAX se supervisan por vista de página. Establézcalo en -1 para supervisar todas las llamadas AJAX (ilimitadas) en la página. |
NUMERIC | 500 |
maxAjaxPerfLookupAttempts El valor predeterminado es 3. El número máximo de veces que se deben buscar los intervalos de window.performance (si están disponibles) es obligatorio. No todos los exploradores rellenan window.performance antes de notificar el final de la solicitud XHR. Para las solicitudes Fetch, se agrega una vez completado. |
NUMERIC | 3 |
maxBatchInterval Cuánto tiempo deben recopilar datos de telemetría en lote antes de enviarlos (milisegundos). |
NUMERIC | 15000 |
maxBatchSizeInBytes Tamaño máximo del lote de telemetría. Si un lote supera este límite, se envía inmediatamente y se inicia un nuevo lote. |
NUMERIC | 10000 |
namePrefix Valor opcional que se usa como postfijo de nombre para el nombre de cookies de sesión y localStorage. |
string | no definido |
onunloadDisableBeacon El valor predeterminado es false. Si la pestaña está cerrada, el SDK envía la telemetría restante mediante la API de Beacon. |
boolean | false |
onunloadDisableFetch Si se admite el método fetch keepalive, no lo use para enviar eventos durante la descarga, es posible que se revierta a fetch() sin keepalive. |
boolean | false |
overridePageViewDuration Si es true, el comportamiento predeterminado de trackPageView se cambia para registrar el final del intervalo de duración de la vista de página cuando se llama a trackPageView. Si es false y no se proporciona ninguna duración personalizada a trackPageView, el rendimiento de la vista de página se calcula mediante la API de tiempos de navegación. El valor predeterminado es False. |
boolean | false |
perfEvtsSendAll Cuando enablePerfMgr está habilitado y IPerfManager activa INotificationManager.perfEvent(), esta marca determina si se desencadena un evento (y si se envía a todos los agentes de escucha) para todos los eventos (true) o solo para los eventos "parent" (<el valor predeterminado es false>). Un elemento IPerfEvent principal es un evento en el que no se está ejecutando ningún otro elemento IPerfEvent en el momento de creación del evento, y su propiedad parent no es NULL o no está definida. Desde v2.5.7 |
boolean | false |
samplingPercentage Porcentaje de eventos que se envía. El valor predeterminado es 100, lo que significa que se envían todos los eventos. Establézcalo si desea conservar el límite de datos para aplicaciones a gran escala. |
NUMERIC | 100 |
sdkExtension Establece el nombre de la extensión del SDK. Solo puede contener caracteres alfabéticos. El nombre de la extensión se agrega como prefijo a la etiqueta "ai.internal.sdkVersion" (por ejemplo, "ext_javascript:2.0.0"). El valor predeterminado es null. |
string | null |
sessionCookiePostfix Valor opcional que se usa como postfijo de nombre para el nombre de cookies de sesión. Si el valor es undefined, se usa namePrefix como postfijo de nombre para el nombre de cookies de sesión. |
string | no definido |
sessionExpirationMs Se registra una sesión si ha continuado durante este período de tiempo en milisegundos. El valor predeterminado es 24 horas. |
NUMERIC | 86400000 |
sessionRenewalMs Se registra una sesión si el usuario está inactivo durante este período de tiempo en milisegundos. El valor predeterminado es 30 minutos. |
NUMERIC | 1800000 |
throttleMgrCfg Establece la configuración de mgr de limitación por clave. Este campo de configuración solo está disponible en la versión 3.0.3 y versiones posteriores. |
{[key: number]: IThrottleMgrConfig} |
no definido |
userCookiePostfix Valor opcional que se usa como postfijo de nombre para el nombre de cookies de usuario. Si el valor es undefined, no se agrega ningún postfijo en el nombre de cookies de usuario. |
string | no definido |
Administración de cookies
A partir de la versión 2.6.0, el SDK de JavaScript para Azure Application Insights proporciona administración de cookies basada en instancias que se puede deshabilitar y volver a habilitar después de la inicialización.
Si deshabilitó las cookies durante la inicialización mediante las configuraciones disableCookiesUsage
o cookieCfg.enabled
, puede volver a habilitarlas mediante la función setEnabled
del objeto ICookieMgr.
La administración de cookies basada en instancias reemplaza las funciones globales CoreUtils anteriores de disableCookies()
, setCookie()
getCookie()
y deleteCookie()
.
Para aprovechar las mejoras de agitación de árboles introducidas en la versión 2.6.0, se recomienda dejar de usar las funciones globales.
Configuración de cookies
ICookieMgrConfig es una configuración de cookies para la administración de cookies basada en instancias agregada en la versión 2.6.0. Las opciones proporcionadas permiten habilitar o deshabilitar el uso de cookies por parte del SDK. También puede establecer rutas de acceso y dominios de cookies personalizados y personalizar las funciones para capturar, establecer y eliminar cookies.
Las opciones de ICookieMgrConfig se definen en la tabla siguiente.
Nombre | Tipo | Valor predeterminado | Descripción |
---|---|---|---|
enabled | boolean | true | La instancia actual del SDK usa este valor booleano para indicar si el uso de cookies está habilitado. Si es false, la instancia del SDK que inicializa esta configuración no almacena ni lee datos de las cookies. |
dominio | string | null | Dominio de cookies personalizado. Resulta útil si desea compartir cookies de Application Insights entre subdominios. Si no se proporciona, usa el valor de la raíz cookieDomain . |
path | string | / | Especifica la ruta de acceso que se utilizará para la cookie; si no se proporciona, usa cualquier valor de la raíz cookiePath . |
ignoreCookies | string[] | no definido | Especifique los nombres de las cookies que se omitirán, lo que hace que los nombres de cookies coincidentes nunca se lean o escriban. Es posible que se sigan purgando o eliminando explícitamente. No es necesario repetir el nombre en la configuración blockedCookies . (Desde v2.8.8) |
blockedCookies | string[] | no definido | Especifique los nombres de las cookies que nunca se van a escribir. Evita la creación o actualización de nombres de cookies, pero se pueden seguir leyendo a menos que también se incluya en ignoreCookies. Es posible que se sigan purgando o eliminando explícitamente. Si no se proporciona, el valor predeterminado es la misma lista de ignoreCookies. (Desde v2.8.8) |
getCookie | (name: string) => string |
null | Función para capturar el valor de la cookie con nombre; si no se proporciona, usa el análisis o el almacenamiento en caché de cookies interno. |
setCookie | (name: string, value: string) => void |
null | Función para establecer la cookie con nombre con el valor especificado; solo se llama al agregar o actualizar una cookie. |
delCookie | (name: string, value: string) => void |
null | Función para eliminar la cookie con nombre con el valor especificado; se separa de setCookie para evitar la necesidad de analizar el valor para determinar si la cookie se agrega o se quita. Si no se proporciona, usa el análisis o el almacenamiento en caché de cookies interno. |
Mapa de origen
La compatibilidad con mapas de origen ayuda a depurar código JavaScript minificado con la capacidad de desminificar la pila de llamadas minificada de la telemetría de excepciones.
- Compatible con todas las integraciones actuales en el panel Detalles de la excepción.
- Admite todos los SDK de JavaScript actuales y futuros, incluido Node.JS, sin necesidad de una actualización del SDK.
Vínculo a la cuenta de Blob Storage
Application Insights admite la carga de mapas de origen en su propio contenedor de blobs de Azure Storage. Es posible usar mapas de origen para desminificar las pilas de llamadas que se encuentren en la página Detalles de transacciones de un extremo a otro. También se pueden usar mapas de origen para desminificar cualquier excepción enviada por el SDK de JavaScript o el SDK de Node.js.
Creación de una cuenta de almacenamiento y un contenedor de blobs
Si ya tiene una cuenta de almacenamiento o un contenedor de blobs, puede omitir este paso.
Cree un contenedor de blobs en la cuenta de almacenamiento. Establezca Nivel de acceso público en Privado para asegurarse de que los mapas de origen no sean accesibles públicamente.
Inserción de mapas de origen en el contenedor de blobs
Integre la canalización de implementación continua con la cuenta de almacenamiento configurándola para cargar automáticamente los mapas de origen en el contenedor de blobs configurado.
Se pueden cargar mapas de origen en el contenedor de Azure Blob Storage con la misma estructura de carpetas con la que se compilaron e implementaron. Un caso de uso común es prefijar una carpeta de implementación con su versión. Por ejemplo: 1.2.3/static/js/main.js
. Al desminificar mediante un contenedor de blobs de Azure denominado sourcemaps
, la canalización intenta capturar un mapa de origen ubicado en sourcemaps/1.2.3/static/js/main.js.map
.
Carga de mapas de origen mediante Azure Pipelines (recomendado)
Si usa Azure Pipelines para compilar e implementar de forma continua la aplicación, agregue una tarea Copia de archivos de Azure a la canalización para cargar automáticamente los mapas de origen.
Configuración del recurso de Application Insights con una cuenta de almacenamiento del mapa de origen
Tiene dos opciones para configurar el recurso de Application Insights con una cuenta de almacenamiento del mapa de origen.
Hoja de detalles Transacción completa
En la pestaña Detalles de transacciones de un extremo a otro, seleccione Desminificar. Configure el recurso si no estuviera configurado.
- En Azure Portal, consulte los detalles de una excepción que está minificada.
- Seleccione Desminificar.
- Si el recurso no estuviera configurado, configúrelo.
Pestaña Propiedades
Para configurar o cambiar la cuenta de almacenamiento o el contenedor de blobs vinculados al recurso de Application Insights:
Vaya a la pestaña Propiedades del recurso de Application Insights.
Seleccione Cambiar el contenedor de blobs del mapa de origen.
Seleccione un contenedor de blobs diferente como contenedor de mapas de origen.
Seleccione Aplicar.
Ver de la pila de llamadas sin minificar
Para ver la pila de llamadas desminificada, seleccione un elemento de telemetría de excepciones en Azure Portal, busque los mapas de origen que coincidan con la pila de llamadas y arrastre y coloque los mapas de origen en la pila de llamadas de Azure Portal. El mapa de origen debe tener el mismo nombre que el archivo de origen de un marco de pila, pero con una extensión map
.
Si experimenta problemas relacionados con la compatibilidad con mapas de código fuente para aplicaciones JavaScript, consulte Solución de problemas de compatibilidad con mapas de código fuente para aplicaciones JavaScript.
Agitación de árboles
La agitación de árboles elimina el código sin usar del conjunto final de JavaScript.
Para utilizar la agitación de árboles, importe solo los componentes necesarios del SDK en el código. Al hacerlo, el código sin usar no se incluye en el conjunto final, lo que reduce su tamaño y mejora el rendimiento.
Mejoras y recomendaciones de la agitación de árboles
En la versión 2.6.0, el uso interno de estas clases auxiliares estáticas ha quedado en desuso y se ha quitado para mejorar la compatibilidad con los algoritmos de agitación de árboles. Permite que los paquetes de npm anulen el código sin usar de forma segura.
CoreUtils
EventHelper
Util
UrlHelper
DateTimeUtils
ConnectionStringParser
Las funciones ahora se exportan como raíces de nivel superior desde los módulos, lo que facilita la refactorización del código para mejorar la agitación de árboles.
Las clases estáticas se cambiaron a objetos const que hacen referencia a las nuevas funciones exportadas. Están previstos cambios futuros para refactorizar aún más las referencias.
Funciones y reemplazos en desuso de la agitación de árboles
Esta sección solo se le aplica si usa las funciones en desuso y desea optimizar el tamaño del paquete. Se recomienda usar las funciones de reemplazo para reducir el tamaño y admitir todas las versiones de Internet Explorer.
Existing | Replacement |
---|---|
CoreUtils | @microsoft/applicationinsights-core-js |
CoreUtils._canUseCookies | Ninguno. No se debe usar, ya que hace que todas las referencias de CoreUtils se incluyan en el código final. Refactorice el control de cookies a fin de usar appInsights.getCookieMgr().setEnabled(true/false) para establecer el valor y appInsights.getCookieMgr().isEnabled() para comprobar el 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 La referencia hace que se haga referencia a CoreUtils por motivos de compatibilidad con versiones anteriores. Refactorice el control de cookies para usar 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 La referencia hace que se haga referencia a CoreUtils por motivos de compatibilidad con versiones anteriores. Refactorice el control de cookies para usar appInsights.getCookieMgr().setEnabled(false) . |
Util.canUseCookies | canUseCookies La referencia hace que se haga referencia a CoreUtils por motivos de compatibilidad con versiones anteriores. Refactorice el control de cookies para usar appInsights.getCookieMgr().isEnabled() . |
Util.disallowsSameSiteNone | uaDisallowsSameSiteNone |
Util.setCookie | coreSetCookie La referencia hace que se haga referencia a CoreUtils por motivos de compatibilidad con versiones anteriores. Refactorice el control de cookies para usar appInsights.getCookieMgr().set(name: string, value: string) . |
Util.stringToBoolOrDefault | stringToBoolOrDefault |
Util.getCookie | coreGetCookie La referencia hace que se haga referencia a CoreUtils por motivos de compatibilidad con versiones anteriores. Refactorice el control de cookies para usar appInsights.getCookieMgr().get(name: string) . |
Util.deleteCookie | coreDeleteCookie La referencia hace que se haga referencia a CoreUtils por motivos de compatibilidad con versiones anteriores. Refactorice el control de cookies para usar appInsights.getCookieMgr().del(name: string, path?: string) . |
Util.trim | strTrim |
Util.newId | newId |
Util.random32 | --- Sin reemplazo, refactorice el código para usar 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 |
Notificaciones de servicio
Las notificaciones de servicio son una característica integrada en el SDK para proporcionar recomendaciones de gran utilidad para ayudar a garantizar que la telemetría fluya sin interrupciones a Application Insights. Verá las notificaciones como un mensaje de excepción en Application Insights. Garantizamos que las notificaciones son pertinentes según la configuración del SDK y ajustamos el nivel de detalle en función de la urgencia de la recomendación. Se recomienda dejar las notificaciones de servicio activadas, pero puede optar por no participar en la configuración de featureOptIn
. Consulte a continuación una lista de notificaciones activas.
Actualmente, no se están enviando notificaciones activas.
Solución de problemas
Consulte el artículo de solución de problemas dedicado.
Preguntas más frecuentes
Esta sección proporciona respuestas a preguntas comunes.
¿Cómo puedo actualizar la configuración del servidor de terceros para el SDK de JavaScript?
El lado servidor debe ser capaz de aceptar conexiones que tengan esos encabezados. En función de la configuración de Access-Control-Allow-Headers
en el lado servidor, a menudo es necesario ampliar la lista del lado servidor mediante la adición manual de Request-Id
, Request-Context
y traceparent
(encabezado distribuido de W3C).
Access-Control-Allow-Headers: Request-Id
, traceparent
, Request-Context
, <your header>
¿Cómo puedo deshabilitar el seguimiento distribuido para el SDK de JavaScript?
El seguimiento distribuido se puede deshabilitar en la configuración.
¿Application Insights captura siempre las respuestas HTTP 502 y 503?
No. Application Insights no siempre captura los errores "502 Puerta de enlace no válida" y "503 Servicio no disponible". Si solo se usa JavaScript del lado cliente para la supervisión, este comportamiento sería el esperado, ya que la respuesta de error se devuelve antes que la página que contiene el encabezado HTML con el fragmento de código de JavaScript de supervisión que se está representando.
Si la respuesta 502 o 503 se ha enviado desde un servidor con la supervisión del lado servidor habilitada, el SDK de Application Insights recopila los errores.
Incluso con la supervisión del lado servidor habilitada en el servidor web de una aplicación, a veces Application Insights no captura un error 502 o 503. Muchos servidores web modernos no permiten que un cliente se comunique directamente. En lugar de ellos, emplean soluciones como los servidores proxy inversos para pasar información entre el cliente y los servidores web front-end.
En este escenario, se puede devolver una respuesta 502 o 503 a un cliente por una incidencia en la capa de proxy inverso, de modo que no sería capturado de inmediato por Application Insights. Para ayudar a detectar problemas en esta capa, es posible que tenga que reenviar registros desde el proxy inverso a Log Analytics y crear una regla personalizada para buscar respuestas 502 o 503. Para obtener más información sobre las causas comunes de los errores 502 y 503, consulte Solución de errores de HTTP de "502 Puerta de enlace no válida" y "503 Servicio no disponible" en Azure App Service.