Información general

El SDK de RUM iOS genera eventos que tienen métricas y atributos asociados. Las métricas son valores cuantificables que pueden utilizarse para mediciones relacionadas con el evento. Los atributos son valores no cuantificables que se utilizan para dividir los datos de métricas (agrupar por) en el análisis.

Cada evento de RUM tiene todos los atributos por defecto, por ejemplo, el tipo de dispositivo (device.type) e información del usuario como su nombre (usr.name) y su país (geo.country).

Existen métricas y atributos adicionales que son específicos de un determinado tipo de evento. Por ejemplo, la métrica view.time_spent está asociada a eventos de “vista” y el atributo resource.method está asociado a eventos de “recurso”.

Tipo de eventoRetenciónDescripción
Sesión30 díasUna sesión representa un recorrido real del usuario en tu aplicación móvil. Comienza cuando el usuario inicia la aplicación y permanece abierta mientras el usuario permanezca activo. Durante el recorrido del usuario, todos los eventos de RUM generados como parte de la sesión compartirán el mismo atributo session.id. Nota: La sesión se reinicia tras 15 minutos de inactividad. Si el sistema operativo desactiva la aplicación, puedes restablecer la sesión mientras la aplicación está en segundo plano.
Vista30 díasUna vista representa una única pantalla (o segmento de pantalla) en tu aplicación móvil. Una vista se inicia y se detiene cuando se notifican las devoluciones de llamada de viewDidAppear(animated:) y viewDidDisappear(animated:) en la clase UIViewController. Las UIViewControllers individuales se clasifican como vistas distintas. Mientras un usuario permanece en una vista, los atributos de eventos de RUM (Errores, Recursos, Acciones) se adjuntan a la vista con un view.id único.
Recurso15 díasUn recurso representa solicitudes de red a hosts de origen, APIs y otros proveedores en tu aplicación móvil. Todas las solicitudes generadas durante una sesión de usuario se adjuntan a la vista con un único resource.id.
Error30 díasUn error representa una excepción o un fallo emitido por la aplicación móvil asociado a la vista en la que se ha generado.
Acción30 díasUna acción representa la actividad del usuario en tu aplicación móvil (por ejemplo, iniciar la aplicación, tocar, deslizar o retroceder). Cada acción está asociada a un único action.id asociado a la vista en la que se genera.
Tarea larga15 díasSe genera un evento de tarea larga para cualquier tarea de la aplicación que bloquee el hilo principal durante más tiempo del umbral de duración especificado.

El siguiente diagrama ilustra la jerarquía de eventos de RUM:

Jerarquía de eventos de RUM

Lanzamiento de la aplicación

Durante la inicialización, el SDK de RUM iOS crea una vista llamada “ApplicationLaunch”. La hora de inicio de esta vista coincide con el inicio del proceso de iOS, y se puede utilizar para realizar un seguimiento de la hora de lanzamiento de tu aplicación.

La vista ApplicationLaunch incluye logs, acciones y recursos creados antes de tu primera llamada a startView. Utiliza la duración de esta vista para determinar el tiempo hasta la primera vista. Esta vista tiene una acción, application_start, con una duración igual a la cantidad de tiempo desde el inicio de proceso hasta la llamada a applicationDidBecomeActive.

En los casos en que iOS decide preparar tu aplicación, la vista ApplicationLaunch en su lugar se inicia cuando se inicializa el SDK de RUM iOS, y el evento application_start no tiene una duración.

Atributos predeterminados

RUM recopila atributos comunes para todos los eventos y atributos específicos para cada evento por defecto enumerados a continuación. También puedes optar por mejorar los datos de sesión de usuario con eventos adicionales, por defecto eventos específicos para la monitorización de tu aplicación y tus necesidades de análisis empresarial.

Atributos esenciales comunes

Nombre del atributoTipoDescripción
dateenteroInicio del evento en milisegundos desde epoch.
typecadenaEl tipo de evento (por ejemplo, view o resource).
servicecadenaEl nombre unificado de servicio para esta aplicación utilizada para correlacionar las sesiones de usuario.
application.idcadenaEl ID de la aplicación de Datadog.
application.namecadenaEl nombre de la aplicación de Datadog.

Dispositivo

Los siguientes atributos relacionados con dispositivos se adjuntan automáticamente a todos los eventos recopilados por Datadog:

Nombre del atributoTipoDescripción
device.typecadenaEl tipo de dispositivo informado por el dispositivo (Sistema de usuario-agente).
device.brandcadenaLa marca del dispositivo informada por el dispositivo (Sistema de usuario-agente).
device.modelcadenaEl modelo del dispositivo informado por el dispositivo (Sistema usuario-agente).
device.namecadenaEl nombre del dispositivo informado por el dispositivo (Sistema usuario-agente).

Conectividad

Los siguientes atributos relacionados con la red se adjuntan automáticamente a los eventos de Recursos y Errores recopilados por Datadog:

Nombre del atributoTipoDescripción
connectivity.statuscadenaEstado del alcance de la red del dispositivo (connected, not connected, maybe).
connectivity.interfacescadenaLa lista de interfaces de red disponibles (por ejemplo, bluetooth, cellular, ethernet o wifi).
connectivity.cellular.technologycadenaEl tipo de tecnología de radio utilizada para la conexión celular.
connectivity.cellular.carrier_namecadenaEl nombre del operador de SIM.

Sistema operativo

Los siguientes atributos relacionados con el sistema operativo se asocian automáticamente a todos los eventos recopilados por Datadog:

Nombre del atributoTipoDescripción
os.namecadenaEl nombre del sistema operativo informado por el dispositivo (Sistema usuario-agente).
os.versioncadenaLa versión del sistema operativo informada por el dispositivo (Sistema usuario-agente).
os.version_majorcadenaLa versión principal del sistema operativo informada por el dispositivo (Sistema usuario-agente).

Geolocalización

Los siguientes atributos están relacionados con la geolocalización de las direcciones IP.

Nota: Si deseas dejar de recopilar atributos de geolocalización, cambia la configuración en tus detalles de la aplicación.

Nombre del atributoTipoDescripción
geo.countrycadenaNombre del país
geo.country_iso_codecadenaCódigo ISO del país (por ejemplo, US para Estados Unidos o FR para Francia).
geo.country_subdivisioncadenaNombre del primer nivel de subdivisión del país (por ejemplo, California en Estados Unidos o el departamento Sarthe en Francia).
geo.continent_codecadenaCódigo ISO del continente (EU, AS, NA, AF, AN, SA, OC).
geo.continentcadenaNombre del continente (Europe, Australia, North America, Africa, Antarctica, South America, Oceania).
geo.citycadenaEl nombre de la ciudad (por ejemplo, San Francisco, Paris o New York).

Atributos globales del usuario

Puedes activar el rastreo de información del usuario globalmente para recopilar y aplicar atributos de usuario a todos los eventos de RUM.

Nombre del atributoTipoDescripción
usr.idcadenaIdentificador del usuario.
usr.namecadenaNombre del usuario.
usr.emailcadenaCorreo electrónico del usuario.

Métricas y atributos específicos de un evento

Métricas de sesión

MétricaTipoDescripción
session.time_spentnúmero (ns)Tiempo empleado en una sesión.
session.view.countnúmeroTotal de vistas recopiladas para esta sesión.
session.error.countnúmeroTotal de errores recopilados para esta sesión.
session.resource.countnúmeroTotal de recursos recopilados para esta sesión.
session.action.countnúmeroTotal de acciones recopiladas para esta sesión.
session.long_task.countnúmeroTotal de tareas largas recopiladas para esta sesión.

Atributos de la sesión

Nombre del atributoTipoDescripción
session.idcadenaID único de la sesión.
session.typecadenaTipo de sesión (user).
session.is_activebooleanoIndica si la sesión está actualmente activa. La sesión finaliza si un usuario sale de la aplicación o cierra la ventana del navegador y expira tras 4 horas de actividad o 15 minutos de inactividad.
session.initial_view.urlcadenaURL de la vista inicial de la sesión.
session.initial_view.namecadenaNombre de la vista inicial de la sesión.
session.last_view.urlcadenaURL de la última vista de la sesión.
session.last_view.namecadenaNombre de la última vista de la sesión.
session.ipcadenaDirección IP de la sesión extraída de la conexión TCP de la entrada. Si deseas dejar de recopilar este atributo, cambia la configuración en tus detalles de la aplicación.
session.useragentcadenaInformación del Agent de usuario del sistema para interpretar la información del dispositivo.

Ver métricas

Los eventos de acción, error, recurso y tarea larga de RUM contienen información sobre el evento de vista de RUM activo en el momento de la recopilación.

MétricaTipoDescripción
view.time_spentnúmero (ns)Tiempo empleado en esta vista.
view.long_task.countnúmeroTotal de tareas largas recopiladas para esta vista.
view.error.countnúmeroTotal de errores recopilados para esta vista.
view.resource.countnúmeroTotal de recursos recopilados para esta vista.
view.action.countnúmeroTotal de acciones recopiladas para esta vista.
view.is_activebooleanoIndica si la vista correspondiente a este evento se considera activa.

Ver atributos

Nombre del atributoTipoDescripción
view.idcadenaID único de la vista inicial correspondiente al evento.
view.urlcadenaURL de la clase UIViewController correspondiente a evento.
view.namecadenaNombre personalizable de la vista correspondiente al evento.

Métricas de recursos

MétricaTipoDescripción
resource.durationnúmeroTiempo total empleado en cargar el recurso.
resource.sizenúmero (bytes)Tamaño del recurso.
resource.connect.durationnúmero (ns)Tiempo empleado en establecer una conexión con el servidor (connectEnd - connectStart).
resource.ssl.durationnúmero (ns)Tiempo empleado para el TLS Handshake.
resource.dns.durationnúmero (ns)Tiempo empleado en resolver el nombre DNS de la última solicitud (domainLookupEnd - domainLookupStart).
resource.redirect.durationnúmero (ns)Tiempo empleado en las siguientes solicitudes HTTP (redirectEnd - redirectStart).
resource.first_byte.durationnúmero (ns)Tiempo de espera hasta recibir el primer byte de respuesta (responseStart - requestStart).
resource.download.durationnúmero (ns)Tiempo empleado para descargar la respuesta (responseEnd - responseStart).

Atributos del recurso

AtributoTipoDescripción
resource.idcadenaIdentificador único del recurso.
resource.typecadenaEl tipo de recurso que se recopila (por ejemplo, xhr, image, font, css o js).
resource.methodcadenaEl método HTTP (por ejemplo, POST, GET, PATCH o DELETE).
resource.status_codenúmeroEl código de estado de la respuesta.
resource.urlcadenaLa URL del recurso.
resource.provider.namecadenaEl nombre del proveedor de recursos. De forma predeterminada es unknown.
resource.provider.domaincadenaEl dominio del proveedor del recurso.
resource.provider.typecadenaEl tipo de proveedor del recurso (por ejemplo, first-party, cdn, ad o analytics).

Atributos de error

Los errores de frontend se recopilan con Real User Monitoring (RUM). El mensaje de error y el stack trace se incluyen cuando están disponibles.

AtributoTipoDescripción
error.sourcecadenaProcedencia del error (por ejemplo, webview, logger o network).
error.typecadenaEl tipo de error (o código de error en algunos casos).
error.messagecadenaUn mensaje conciso, legible, de una línea, que explique el evento.
error.stackcadenaEl stack trace o información complementaria sobre el error.
error.issue_idcadenaEl stack trace o información complementaria sobre el error.

Errores de red

Los errores de red incluyen información sobre solicitudes HTTP fallidas. También se recopilan las siguientes facetas:

AtributoTipoDescripción
error.resource.status_codenúmeroEl código de estado de la respuesta.
error.resource.methodcadenaEl método HTTP (por ejemplo, POST o GET).
error.resource.urlcadenaLa URL del recurso.
error.resource.provider.namecadenaEl nombre del proveedor de recursos. De forma predeterminada es unknown.
error.resource.provider.domaincadenaEl dominio del proveedor del recurso.
error.resource.provider.typecadenaEl tipo de proveedor del recurso (por ejemplo, first-party, cdn, ad o analytics).

Métricas de acción

MétricaTipoDescripción
action.loading_timenúmero (ns)El tiempo de carga de la acción.
action.long_task.countnúmeroTotal de tareas largas recopiladas para esta acción.
action.resource.countnúmeroTotal de recursos emitidos por esta acción.
action.error.countnúmeroTotal de errores emitidos por esta acción.

Atributos de la acción

AtributoTipoDescripción
action.idcadenaUUID de la acción del usuario.
action.typecadenaTipo de acción del usuario (por ejemplo, tap o application_start).
action.namecadenaNombre de la acción del usuario.
action.target.namecadenaElemento con el que ha interactuado el usuario. Solo para acciones recopiladas automáticamente.

Almacenamiento de datos

Antes de que los datos se suban a Datadog, se almacenan en texto claro en el directorio de caché (Library/Caches) de tu entorno de pruebas de la aplicación, que no puede ser leído por ninguna otra aplicación instalada en el dispositivo.

Referencias adicionales