Remote Configuration de RUM
Este producto no es compatible con el
sitio Datadog seleccionado. (
).
Descripción general
A medida que su aplicación evoluciona, es posible que necesite ajustar los datos que recopila el SDK de RUM y su frecuencia de recopilación. La configuración remota de RUM le permite actualizar los ajustes compatibles del SDK para navegador, iOS y Android desde Datadog sin necesidad de implementar una nueva versión de su aplicación.
Requisitos previos
Remote Configuration debe estar habilitada en su organización y requiere las siguientes versiones del SDK de RUM:
- Versión 7.13.0+ del SDK para navegador
- Versión 3.17.0+ del SDK para iOS
- Versión 3.14.1+ del SDK para Android
Si su red o proxy utiliza una lista de permitidos, añada *.browser-intake-<DC_REGION>-datadoghq.com para su aplicación. Esta entrada cubre tanto la ingesta de datos de RUM como las solicitudes de Remote Configuration del SDK, que utilizan el sdk-configuration. subdominio. Para aplicaciones de navegador, añada también este dominio a su Política de Seguridad de Contenido.
Si este dominio está bloqueado, el SDK no puede recuperar los ajustes remotos y, en su lugar, continúa utilizando su configuración local, sin ningún error visible.
Cómo funciona
Cada aplicación de RUM tiene un ID de Remote Configuration que el SDK utiliza para recuperar sus ajustes remotos.
Cuando el SDK se inicializa, aplica los ajustes remotos almacenados en caché. Si no hay ajustes almacenados en caché disponibles, utiliza los ajustes definidos en su aplicación. El SDK verifica actualizaciones en segundo plano y almacena los cambios para la siguiente inicialización. Si la verificación falla, el SDK conserva su caché existente o continúa utilizando sus ajustes locales. La verificación no retrasa la inicialización del SDK ni interrumpe la recopilación de eventos de RUM.
Los ajustes remotos publicados anulan los ajustes correspondientes en su aplicación. Los ajustes que no habilite de forma remota seguirán utilizando sus valores locales. Habilite solo los ajustes que desee gestionar desde Datadog.
Una Remote Configuration se aplica a todos los usuarios y sesiones inicializados con su ID. No puede dirigirse a usuarios o sesiones individuales. Si cambia el ID, el SDK lo trata como una nueva Remote Configuration y no utiliza los ajustes almacenados en caché con el ID anterior.
El SDK recupera los ajustes de Remote Configuration desde un punto de conexión (CDN) público. No incluya secretos ni información personal en los valores de configuración.
Permisos
La configuración remota utiliza los mismos permisos que las aplicaciones de RUM. Para habilitar, editar o publicar una configuración, necesita el permiso RUM Apps Write. Para obtener más información, consulte Real User Monitoring permissions.
Configuración
Para configurar los ajustes remotos de una aplicación:
Instale un SDK de RUM compatible en una aplicación nueva o actualice el SDK en una aplicación existente.
Vaya a RUM > Manage Applications, seleccione una aplicación y haga clic en SDK Configuration.
Habilite la configuración remota para generar un ID de configuración remota.
Nota: Datadog guarda la configuración como borrador, por lo que sus valores no anulan los ajustes existentes del SDK antes de que usted la publique.
Agregue el ID de Remote Configuration a la inicialización de su SDK.
Agregue un objeto remoteConfiguration a su llamada datadogRum.init() existente:
remoteConfiguration: {
id: '<REMOTE_CONFIGURATION_ID>',
},
Agregue remoteConfiguration a su Datadog.Configuration:
remoteConfiguration: .init(id: "<REMOTE_CONFIGURATION_ID>")
Llame a setRemoteConfigurationId() en su Configuration.Builder:
.setRemoteConfigurationId("<REMOTE_CONFIGURATION_ID>")
Actualice la configuración como se describe en la sección Cambiar la configuración del SDK con Remote Configuration.
Publique la configuración para aplicar sus ajustes habilitados.
Cambiar la configuración del SDK con Remote Configuration
La Remote Configuration no anula ninguna configuración del SDK de forma predeterminada. Para administrar una configuración de forma remota, habilite explícitamente su anulación en Datadog y luego configure su valor. Las configuraciones sin una anulación habilitada continúan usando los valores configurados en el SDK.
Habilite la anulación para una configuración que desee administrar de forma remota. Elija entre las configuraciones enumeradas en la sección Configuraciones configurables para su plataforma.
Ciertas configuraciones requieren las importaciones de módulos correspondientes en los SDK de iOS y Android. Si su aplicación no importa estos módulos, Remote Configuration no funcionará para Session Replay, la traza distribuida o la generación de perfiles.
Configure el ajuste seleccionando un estado, cambiando su tasa de muestreo o agregando datos.
Guarde sus cambios.
Configuraciones configurables
Tasas de muestreo
| Etiqueta de la interfaz de usuario | Nombre del parámetro |
|---|
| Tasa de muestreo de Session Replay | rum.sessionReplaySampleRate |
| Tasa de muestreo de traza | rum.traceSampleRate |
| Tasa de muestreo de generación de perfiles | profiling.sampleRate |
Privacidad
| Etiqueta de la interfaz de usuario | Nombre del parámetro |
|---|
| Nivel de privacidad predeterminado | rum.defaultPrivacyLevel |
| Privacidad para nombres de acción | rum.enablePrivacyForActionName |
Seguimiento de eventos
| Etiqueta de la interfaz de usuario | Nombre del parámetro |
|---|
| Rastrear usuarios anónimos | rum.trackAnonymousUser |
| Rastrear interacciones de usuario | rum.trackUserInteractions |
| Rastrear recursos | rum.trackResources |
| Rastrear tareas largas | rum.trackLongTasks |
| Rastrear sesiones en subdominios | rum.trackSessionAcrossSubdomains |
Atributos de la aplicación
| Etiqueta de la interfaz de usuario | Nombre del parámetro |
|---|
| Atributo de nombre de acción | rum.actionNameAttribute |
| Inyección de contexto de traza | rum.traceContextInjection |
| URL de traza permitidas | rum.allowedTracingUrls |
| Orígenes de seguimiento permitidos | rum.allowedTrackingOrigins |
Tasas de muestreo
| Etiqueta de la interfaz de usuario | Nombre del parámetro |
|---|
| Tasa de muestreo de Session Replay | sessionReplay.sampleRate |
| Tasa de muestreo de perfilado continuo | profiling.continuousSampleRate |
| Tasa de muestreo de perfilado de inicio de aplicación | profiling.applicationLaunchSampleRate |
| Frecuencia de muestreo de trazas | trace.sampleRate |
Privacidad
| Etiqueta de la interfaz de usuario | Nombre del parámetro |
|---|
| Privacidad de texto y entrada | sessionReplay.textAndInputPrivacy |
| Privacidad de imágenes | sessionReplay.imagePrivacy |
| Privacidad táctil | sessionReplay.touchPrivacy |
Seguimiento de eventos
| Etiqueta de la interfaz de usuario | Nombre del parámetro |
|---|
| Rastrear usuarios anónimos | rum.trackAnonymousUser |
| Rastrear interacciones de usuario | rum.trackUserInteractions |
| Rastrear recursos | rum.trackResources |
| Rastrear eventos en segundo plano | rum.trackBackgroundEvents |
| Rastrear señales de frustración | rum.trackFrustrations |
| Rastrear tareas largas | rum.longTask.enabled |
| Umbral de tarea larga | rum.longTask.threshold |
| Frecuencia de actualización de indicadores vitales | rum.vitalsUpdateFrequency |
| Rastrear fotogramas lentos | rum.trackSlowFrames |
| Rastrear bloqueos de la aplicación | rum.appHang.enabled |
| Umbral de bloqueo de la aplicación | rum.appHang.threshold |
| Rastrear terminaciones del watchdog | rum.trackWatchdogTerminations |
| Rastrear advertencias de memoria | rum.trackMemoryWarnings |
Atributos de la aplicación
| Etiqueta de la interfaz de usuario | Nombre del parámetro |
|---|
| Inyección de contexto de traza | trace.traceContextInjection |
| URL de traza permitidas | trace.tracedHosts |
Tasas de muestreo
| Etiqueta de la interfaz de usuario | Nombre del parámetro |
|---|
| Tasa de muestreo de perfilado | rum.profilingSampleRate |
| Tasa de muestreo de Session Replay | sessionReplay.sampleRate |
| Tasa de muestreo de perfilado continuo | profiling.continuousSampleRate |
| Tasa de muestreo de perfilado de inicio de aplicación | profiling.applicationLaunchSampleRate |
| Frecuencia de muestreo de trazas | trace.sampleRate |
Privacidad
| Etiqueta de la interfaz de usuario | Nombre del parámetro |
|---|
| Privacidad de texto y entrada | sessionReplay.textAndInputPrivacy |
| Privacidad de imágenes | sessionReplay.imagePrivacy |
| Privacidad táctil | sessionReplay.touchPrivacy |
Seguimiento de eventos
| Etiqueta de la interfaz de usuario | Nombre del parámetro |
|---|
| Rastrear usuarios anónimos | rum.trackAnonymousUser |
| Rastrear interacciones de usuario | rum.trackUserInteractions |
| Rastrear eventos en segundo plano | rum.trackBackgroundEvents |
| Rastrear señales de frustración | rum.trackFrustrations |
| Rastrear tareas largas | rum.longTask.enabled |
| Umbral de tarea larga | rum.longTask.threshold |
| Frecuencia de actualización de indicadores vitales | rum.vitalsUpdateFrequency |
| Rastrear fotogramas lentos | rum.trackSlowFrames |
| Reporte de fallo | rum.crashReportsEnabled |
| Rastrear ANR no fatales | rum.trackNonFatalAnrs |
Atributos de la aplicación
| Etiqueta de la interfaz de usuario | Nombre del parámetro |
|---|
| Inyección de contexto de traza | trace.traceContextInjection |
| URL de traza permitidas | trace.tracedHosts |
Lecturas adicionales
Documentación, enlaces y artículos útiles adicionales: