La instrumentación automática de RUM no está disponible para el sitio seleccionado (). En su lugar, utiliza la instrumentación del lado del cliente.

Información general

La instrumentación automática de RUM añade automáticamente la monitorización de RUM a tu servidor de aplicaciones web, por lo que puedes empezar a recopilar datos de RUM editando un archivo de configuración en lugar de tener que modificar tu código de frontend directamente. Sin embargo, si deseas rastrear acciones de usuario específicas (acciones personalizadas) o añadir detalles de eventos personalizados (atributos de eventos), todavía tendrás que añadir algún código a tu aplicación.

Cómo funciona

El kit de desarrollo de software (SDK) de Java funciona monitorizando tu API de servlet (que gestiona las solicitudes y respuestas web) y hacer un check automáticamente de cada respuesta HTTP que envía tu servidor. Cuando detecta una respuesta HTML, busca la sección <head> y añade allí automáticamente el código JavaScript RUM. El resto del contenido HTML permanece inalterado. Este enfoque añade una sobrecarga mínima, por lo que funciona bien incluso con respuestas de streaming (donde el contenido se envía en tiempo real).

Requisitos previos

Requisitos del servidor

  • Servidor de aplicaciones web Java compatible con Servlet API 3.0 o superior:
    • Jetty 7+
    • Tomcat 7+
    • GlassFish 3+ / Payara 4.1+
    • JBoss AS 6+ / Wildfly 8+
    • Undertow 1+
    • WebLogic 12+
    • WebSphere AS 8+ / Open Liberty 17+

Instalación

Selecciona el método de configuración que prefieras:

Activa la monitorización del navegador de RUM con la Instrumentación de un solo step (UI) / paso (generic) (SSI). Al ejecutar la instalación del Agent con RUM activado, Datadog:

  • Carga el kit de desarrollo de software de (SDK) Java en tus aplicaciones Java a través de la SSI
  • Crea una aplicación RUM para ti
  • Configura el kit de desarrollo de software (SDK) de Java con las variables de entorno necesarias de RUM.

Este método no requiere cambios en el código ni la configuración manual del servidor web.

  1. Ve a la page (página) de Agent Installation (Instalación del Agent).

  2. Selecciona tu plataforma (por ejemplo, Linux).

  3. En la sección Customize your observability coverage (Personaliza tu cobertura de observabilidad), activa Real User Monitoring en Application Observability (Observabilidad de la aplicación).

    Al activar esta opción, se crea automáticamente una aplicación RUM.

  4. Copia el comando de instalación generado y ejecútalo en tu host.

  5. Reinicia tu aplicación Java basada en servlets.

Utiliza la configuración manual si prefieres configurar la monitorización del navegador de RUM de forma independiente o si la SSI no está disponible para tu entorno.

Requisitos previos

Activar la instrumentación de RUM en el kit de desarrollo de software (SDK) de Java

La instrumentación de RUM para servidores de aplicaciones web de Java puede configurarse utilizando los métodos de configuración habituales del kit de desarrollo de software (SDK) de Java. Para obtener más información, consulta Configuración de la biblioteca del kit de desarrollo de software (SDK) de Java.

La inserción del kit de desarrollo de software (SDK) de RUM está desactivada en forma predeterminada. Actívala exportando las siguientes variables de entorno:

export DD_RUM_ENABLED=true
export DD_RUM_APPLICATION_ID=<your-application-id>
export DD_RUM_CLIENT_TOKEN=<your-client-token>
export DD_RUM_REMOTE_CONFIGURATION_ID=<your-remote-config-id>
export DD_RUM_SITE=datadoghq.com # or datadoghq.eu / us3.datadoghq.com / us5.datadoghq.com / ap1.datadoghq.com / ap2.datadoghq.eu

O utiliza las siguientes propiedades del sistema de Java:

java -Ddd.rum.enabled=true \
  -Ddd.rum.application.id=<your-application-id> \
  -Ddd.rum.client.token=<your-client-token> \
  -Ddd.rum.remote.configuration.id=<your-remote-configuration-id> \
  -Ddd.rum.site=datadoghq.com # or datadoghq.eu / us3.datadoghq.com / us5.datadoghq.com / ap1.datadoghq.com / ap2.datadoghq.eu

Reinicia el servidor de aplicaciones web de Java para aplicar los cambios.

Los documentos HTML deben contener la tag (etiqueta) Datadog RUM JavaScript justo antes del </head> de cierre. Es posible que tengas que borrar la caché de tu navegador. Deberías empezar a recibir datos para tu aplicación Datadog RUM.

Opciones de configuración

Estas son todas las opciones de configuración relacionadas con la activación de RUM en el kit de desarrollo de software (SDK) de Java:

PropiedadVariable de entornoValorRequisito
dd.rum.enabledDD_RUM_ENABLEDtrue / falseObligatorio
dd.rum.application.idDD_RUM_APPLICATION_ID<string>Obligatorio
dd.rum.client.tokenDD_RUM_CLIENT_TOKEN<string>Obligatorio
dd.rum.siteDD_RUM_SITEdatadoghq.com / us3.datadoghq.com / us5.datadoghq.com / datadoghq.eu / ap1.datadoghq.com / ap2.datadoghq.euOpcional, datadoghq.com en forma predeterminada
dd.rum.serviceDD_RUM_SERVICE<string>opcional
dd.rum.environmentDD_RUM_ENVIRONMENT<string>opcional
dd.rum.major.versionDD_RUM_MAJOR_VERSION5 / 6Opcional, 6 en forma predeterminada
dd.rum.versionDD_RUM_VERSION<string>opcional
dd.rum.track.user.interactionDD_RUM_TRACK_USER_INTERACTIONtrue / falseopcional
dd.rum.track.resourcesDD_RUM_TRACK_RESOURCEStrue / falseopcional
dd.rum.track.long.tasksDD_RUM_TRACK_LONG_TASKStrue / falseopcional
dd.rum.session.sample.rateDD_RUM_SESSION_SAMPLE_RATEPorcentaje, de 0 a 100Obligatorio si falta rum.remote.configuration.id
dd.rum.session.replay.sample.rateDD_RUM_SESSION_REPLAY_SAMPLE_RATEPorcentaje, de 0 a 100Obligatorio si falta rum.remote.configuration.id
dd.rum.remote.configuration.idDD_RUM_REMOTE_CONFIGURATION_ID<string>Obligatorio si falta rum.session.sample.rate o rum.session.replay.sample.rate

Advanced configuration

After you have RUM Auto-Instrumentation set up, configure User Attributes and Allowed Tracing URLs directly from the Datadog UI without modifying your application code.

User attributes

User Attributes allow you to associate RUM sessions with specific users, enabling you to:

  • Track individual user journeys across your application
  • Filter and search sessions by user details
  • Gain insights into user-specific issues and behaviors

Configure three user properties: User ID, User Name, and User Email.

Source types

For each user attribute, select how the RUM SDK should extract the value:

SourceDescriptionExample
JavaScriptRead from a JavaScript variable on the pagewindow.currentUser.id or dataLayer.user.email
CookieRead from a browser cookieCookie name: user_session
DOMRead from an HTML element’s text content or attributeCSS selector: #user-id or [data-user-email]

Regex extractor (optional)

Use a regex pattern to extract specific values when your source contains extra characters. For example:

  • Source value: user_id=12345;session=abc
  • Regex pattern: user_id=(\d+)
  • Extracted value: 12345

If your regex pattern includes a capture group (parentheses), the SDK extracts that value. Otherwise, it extracts the entire matched string.

Allowed tracing URLs

Configure allowed tracing URLs to connect your RUM sessions to backend APM traces. This provides end-to-end visibility from the browser to your backend services.

When a user’s browser makes a request to an allowed URL, the RUM SDK injects trace headers. Your backend APM agent reads these headers and links the backend trace to the RUM session.

Configuration

Add the URLs of your backend services that you want to connect to RUM:

FieldDescription
URLThe backend URL to trace. Use an exact URL (for example, https://api.example.com) or enable Regex for pattern matching (for example, https://.*\.example\.com).
Propagator TypeThe trace header format your backend expects. Options: datadog, tracecontext (W3C), b3, b3multi. Select multiple if needed.
Tracing requires a configured service name. Set this in the App Attributes section.

Learn more

See Connect RUM and Traces for detailed information about RUM and APM integration.

Solucionar problemas

Check los logs del servidor de aplicaciones web de Java si no ves la tag (etiqueta) RUM JavaScript insertada.

Busca el mensaje de error de análisis de configuración "Unable to configure RUM injection" en los logs. Si está presente, muestra un mensaje detallado sobre la causa.

Además, si se activan los logs de depuración mediante la propiedad del sistema dd.trace.debug=true o la variable de entorno DD_TRACE_DEBUG=true, se volcará la configuración de la biblioteca del cliente Java al iniciarse:

DEBUG datadog.trace.api.Config - New instance: Config{..., rumEnabled=true, rumInjectorConfig={"applicationId":"appid","clientToken":"token","site":"datadoghq.com","remoteConfigurationId":"remoteconfigid"}, ...}

Referencias adicionales