Si experimentas algún comportamiento inesperado con Datadog Browser RUM, utiliza esta guía para resolver los problemas rápidamente. Si sigues teniendo problemas, contacta con el equipo de asistencia de Datadog para obtener más ayuda. Actualiza con regularidad el RUM Browser SDK a la última versión, ya que cada nueva versión contiene mejoras y correcciones.

Datos faltantes

Si no puedes ver ningún dato en RUM o si faltan datos de algún usuario:

Causas más frecuentesSolución recomendada
Los bloqueadores de anuncios impiden que el SDK del RUM Browser se descargue o envíe datos a Datadog.Algunos bloqueadores de anuncios amplían sus restricciones a las herramientas de rastreo de rendimiento y marketing. Consulta los documentos Instalar el SDK del RUM Browser con npm y reenviar los datos recopilados a través de un proxy.
Las reglas de red, las VPN o el software antivirus pueden impedir que se descargue el SDK del RUM Browser o que se envíen datos a Datadog.Permite el acceso a los endpoints necesarios para descargar el SDK del RUM Browser o para enviar datos. La lista de endpoints está disponible en la documentación sobre la Política de seguridad de contenido.
Los scripts, paquetes y clientes inicializados antes del SDK del RUM Browser pueden provocar que se pierdan logs, recursos y acciones del usuario. Por ejemplo, inicializar ApolloClient antes que el SDK del RUM Browser puede provocar que las solicitudes graphql no se registren como recursos XHR en el navegador RUM.Check dónde se inicializa el SDK de RUM Browser y plantéate adelantar este paso en la ejecución del código de tu aplicación.
Si has configurado trackViewsManually: true y observas que no hay sesiones, es posible que la aplicación haya dejado de enviar información RUM repentinamente aunque no haya errores red.Asegúrate de iniciar una vista inicial una vez que hayas inicializado RUM para evitar cualquier pérdida de datos. Consulta Configuración avanzada para obtener más información.

Lee las directrices de la política de seguridad de contenidos y asegúrate de que tu sitio web permita el acceso al CDN del SDK del RUM Browser y al endpoint de ingesta.

Inicialización del SDK del RUM Browser

Check si el SDK del RUM Browser se inicializa ejecutando window.DD_RUM.getInternalContext() en la consola de tu navegador y verifica que se devuelvan application_id, session_id y el objeto de vista:

Comando de obtención de contexto interno ejecutado correctamente

Si el SDK del RUM Browser no está instalado o si no se inicializa correctamente, puedes ver el error ReferenceError: DD_RUM is not defined como el que se muestra a continuación:

Error al obtener el comando de contexto interno

También puedes check la consola de herramientas de desarrollo de tu navegador o la pestaña de red si observas algún error relacionado con la carga del SDK del RUM Browser.

Nota: Para garantizar resultados precisos, configura sessionSampleRate en 100. Para obtener más información, consulta Configurar la configuración de Browser RUM y Browser RUM & Session Replay Sampling.

Datos a la ingesta de Datadog

El SDK de RUM envía lotes de datos de eventos a la ingesta de Datadog cada vez que se cumple una de estas condiciones:

  • Cada 30 segundos
  • Cuando se hayan alcanzado 50 eventos
  • Cuando la carga útil sea >16 kB
  • En visibility:hidden o beforeUnload

Si se están enviando datos, deberías ver solicitudes de redes dirigidas a /v1/input (la parte del origen de la URL puede diferir debido a la configuración de RUM) en la sección de red de las herramientas de desarrollo del navegador:

Solicitudes de RUM a la ingesta de Datadog

Cookies de RUM

El SDK del RUM Browser utiliza cookies para almacenar información de sesiones y seguir una sesión de usuario a través de diferentes páginas. Las cookies son de origen (se configuran en tu dominio) y no se utilizan para el rastreo entre sitios. Estas son las cookies configuradas por el SDK del RUM Browser.

Nombre de la cookieInformación
_dd_sCookie utilizada para agrupar todos los eventos generados a partir de una única sesión de usuario a través de múltiples páginas. Contiene el ID de sesión actual, si la sesión está excluida debido al muestreo y la fecha de expiración de la sesión. La cookie se prolonga 15 minutos más cada vez que el usuario interactúa con el sitio web, hasta la duración máxima de la sesión de usuario (4 horas).
dd_site_test_*Cookie temporal utilizada para realizar un test de la compatibilidad con cookies. Caduca al instante.
dd_cookie_test_*Cookie temporal utilizada para realizar un test de la compatibilidad con cookies. Caduca al instante.

Nota: Las cookies _dd_l, _dd_r y _dd se han sustituido con la _dd_s en versiones recientes del SDK del RUM Browser.

Identificadores de sesiones, cookies y aplicaciones RUM

Existe una relación de uno a uno entre una sesión RUM y la aplicación RUM a la que pertenece. Por lo tanto, el dominio configurado para la cookie _dd_s está totalmente dedicado a la aplicación RUM que está monitorizando y no puede monitorizar ninguna aplicación adicional.

Limitaciones técnicas

Cada evento enviado por el SDK del RUM Browser se crea con lo siguiente:

  • Contexto global del RUM
  • Contexto del evento (si lo hay)
  • Atributos específicos del evento

Ejemplo:

window.DD_RUM && window.DD_RUM.setGlobalContextProperty('global', {'foo': 'bar'})
window.DD_RUM && window.DD_RUM.addAction('hello', {'action': 'qux'})

El código del ejemplo crea el siguiente evento de acción:

{
  "type": "action",
  "context": {
    "global": {
      "foo": "bar"
    },
    "action": "qux"
  },
  "action": {
    "id": "xxx",
    "target": {
      "name": "hello"
    },
    "type": "custom"
  },
  ...
}

Si un evento o una solicitud supera alguna de las siguientes limitaciones, la ingesta de Datadog lo rechaza.

PropiedadLimitación
Número máximo de atributos por evento256
Profundidad máxima de atributos por evento20
Tamaño máximo del evento256 KB
Tamaño máximo de la carga útil de ingesta5 MB

El SDK del navegador RUM permite configurar el contexto global, la información del usuario y las marcas de funciones que luego se incluyen con los eventos recopilados.

Para minimizar el impacto en el ancho de banda del usuario, el SDK del navegador RUM limita los datos enviados a la ingesta de Datadog. Sin embargo, el envío de grandes volúmenes de datos puede afectar al rendimiento de los usuarios con conexiones a Internet lentas.

Para una mejor experiencia de usuario, Datadog recomienda mantener el tamaño del contexto global, la información del usuario y las marcas de funciones por debajo de 3 KiB. Si los datos superan este límite, se muestra una advertencia: The data exceeds the recommended 3KiB threshold.

Desde v5.3.0, el SDK del RUM Browser admite la compresión de datos a través de compressIntakeRequest parámetro de inicialización. Cuando está activado, este límite recomendado se amplía de 3 KiB a 16 KiB.

Advertencia de bloqueo de lectura de origen cruzado

En los navegadores basados en Chromium, cuando el SDK del RUM Browser envía datos a la ingesta de Datadog, se muestra una advertencia CORB en la consola: Cross-Origin Read Blocking (CORB) blocked cross-origin response.

La advertencia se muestra porque la ingesta devuelve un objeto JSON no vacío. Este comportamiento es un problema reportado de Chromium. No afecta al SDK del RUM Browser y se lo puede ignorar en forma segura.

Referencias adicionales