Eventos de telemetría para sincronización y acciones de aplicaciones móviles
Los datos de aplicaciones móviles Power Apps relacionados con eventos de sincronización sin conexión están disponibles para aplicaciones basadas en modelo y de lienzo. Estos datos se pueden usar para evaluar el estado y el rendimiento de los eventos de sincronización sin conexión para su organización.
Estos datos se incluyen en la tabla Power Apps > Sincronización y acciones de aplicaciones móviles en Application Insights. Se registra una entrada cuando un usuario accede a una Power Apps aplicación móvil, que está configurada para el modo sin conexión. Hay más datos relacionados con eventos de error en aplicaciones basadas en modelos disponibles a través de la Power Apps> UCI .
Sincronización de aplicaciones móviles y definiciones de eventos de acción
- id: Id. de evento.
- target: Nombre del escenario seguido por el evento.
- type: Tabla de origen del evento.
- name: nombre del escenario seguido por el evento.
- duration: duración del escenario en milisegundos. La duración puede incluir largos períodos de tiempo cuando la aplicación está inactiva.
- operation_Id: Identificador único para la sesión.
- operation_ParentId: identificador único para el escenario seguido por el evento.
- user_Id: Microsoft Entra ID de usuario.
- application_Version: versión de la aplicación.
- customDimensions: Contiene los siguientes atributos:
- "EventName": Resumen del escenario seguido por el evento (ScenarioEnd).
- "ScenarioResult": SUCCESS o FAILURE.
- ErrorCode: código de error generado tras un error de sincronización. Obtenga más información en Tabla de código de error de asignación.
- ErrorMessage: En blanco en caso de éxito o cadena que describe el error.
- FailureType: define el tipo de error de sincronización.
- LogLevel: la gravedad o el nivel de notificación del evento. Los valores válidos son info, error, warning, error o verbose.
- DataSyncMode: qué tipo de sincronización sin conexión ha experimentado el usuario.
- DELTA_SYNC: Sincronización incremental automática.
- GRID_SYNC: se desencadena al actualizar una vista de cuadrícula.
- FIRST_SYNC: sincronización inicial en un dispositivo (o después de cerrar sesión o reconfigurar).
- FORCED_SYNC: Se activa desde el botón de la página Estado del dispositivo.
- SINGLE_RECORD_SYNC: activado por Notificación de inserción.
- AppFlavor: aplicación nativa instalada en los dispositivos. Los valores válidos son FieldService y PowerApps.
- AppInfo_Version: versión de la aplicación nativa, tal como se ve en la tienda de aplicaciones.
- ActiveDuration: duración del escenario en milisegundos, incluido solo el tiempo que la aplicación está activa.
- DeviceInfo_Id: Identificador único del dispositivo.
- DeviceInfo_model: modelo de dispositivo (como iPhone 13).
- DeviceInfo_make: marca del dispositivo (como Apple).
- DeviceInfo_OsName: sistema operativo del dispositivo (como por ejemplo Android).
- DeviceInfo_OsVersion: versión del sistema operativo (como por ejemplo Android 13).
- Loc_country: origen del dispositivo de telemetría.
- eventContext: Contiene las siguientes propiedades:
- CurrentSyncId: identificador de un paso de sincronización correcto. Se restablece después de cada sincronización correcta. (No se restablece después de un error).
- CurrentActivityId: identificador del paso de sincronización. Se restablece después de cada sincronización.
- entityName: Nombre de la tabla en los eventos de descarga de datos.
- ProfileId: ID del perfil sin conexión configurado para la aplicación y el usuario.
- RecordCount: número de registros descargados.
- ResponseSize: tamaño de los datos de carga útil entrante según lo informado por HTTPClient (tamaño comprimido).
- ContentLength: tamaño de los datos de carga útil entrante según lo informado por HTTPClient (tamaño comprimido).
Eventos de error de la Interfaz unificada de cliente
- timestamp [UTC]: Cuando ocurrió el evento.
- problemId: "uci_trace" o "uciMonitorFailure" (de dónde provienen los datos).
- type: "uci_trace" o "uciMonitorFailure" (de dónde provienen los datos).
- outType: "uci_trace" o "uciMonitorFailure" (origen de los datos).
- outerMessage: Mensaje de error.
- itemType: "exception"
- CustomDimensions:
- eventContext: más detalles relacionados con el error.
- ServerConnectivityState: ¿Está el usuario en modo sin conexión? (Fuera de línea/en línea)
- NetworkConnectivityState: ¿El usuario tiene conexión a Internet? Tenga en cuenta que un usuario puede estar en modo sin conexión, pero tener una conexión a Internet.
- IsOfflineByDefaultApp: Cuando es falso, significa que la característica Trabajar en modo sin conexión está activada. Cuando es verdadero, significa que el modo primero sin conexión está activado.
- callStack: el código de programación donde se produjo el error.
- hostSubType: "PowerApps-Player-iOS-fieldservice"
- hostType: "MobileApplication"
- Operation_ID: una concatenación de cadenas de sessionID seguida de un "_" y un ID de correlación externa, por ejemplo e11e8465-bc8f-4319-b64a-9c1e42453148_0da90a33-ad68-4a4e-bd45-5728d5da719a.
- Operation_ParentID: ID de actividad relacionada con el error.
- SessionId: ID de sesión del error.
- UserId: ID de usuario de Dynamics 365.
- User_authenticatedID: ID de usuario de Dynamics 365.
- Application_version: Versión de la aplicación, por ejemplo, 9.2.24045.00212.
- Client_Type: versión del sistema operativo, como iOS o Android.
Escenarios de ejemplo
Errores de sincronización sin conexión por código de error
Esta consulta le permite ver qué tipos de errores encuentran los trabajadores de primera línea cuando se produce un error en una sincronización. Se esperan algunos errores, como si la aplicación móvil se cierra durante la sincronización o si la red se desconecta durante la sincronización e impide que se complete la sincronización. La definición de los códigos de error se muestra en la Tabla de asignación de códigos de error.
dependencies
| where name == "Offline.SyncDatabase"
| where success == false
| extend cd = parse_json(customDimensions)
| extend AppVersion = tostring(cd.AppInfo_Version)
| extend ErrorCode = tostring(cd.ErrorCode)
| extend ErrorMessage = tostring(cd.ErrorMessage)
| extend FailureType = tostring(cd.FailureType)
| summarize dcount(user_Id), count() by ErrorCode, ErrorMessage, FailureType, bin(timestamp, 1d)
Promedio de registros sincronizados por tabla
Esta consulta le permite evaluar qué tablas contribuyen con la mayoría de los registros a una sincronización. Con estos datos, puede intentar optimizar aún más su perfil sin conexión para reducir los registros o los datos dentro de cada tabla.
dependencies
| where name endswith_cs "Offline.DdsClient.GetRecords"
| extend cd = parse_json(customDimensions)
| extend ec = parse_json(tostring(cd.eventContext))
| extend RecordCount = toint(ec.RecordCount)
| extend EntityName = tostring(ec.EntityName)
| extend syncid = tostring(ec.CurrentSyncId)
| extend DataSyncMode = tostring(cd.DataSyncMode)
//| where DataSyncMode == "FIRST_SYNC" //This is used to pivot on the type of sync being executed.
| summarize sum(RecordCount) by syncid, EntityName, DataSyncMode, user_Id
| summarize percentile(sum_RecordCount, 50), arg_max(sum_RecordCount, user_Id), count() by EntityName, DataSyncMode
Duración media de la sincronización por modo de sincronización
Esta consulta le permite evaluar la duración media de la sincronización de los usuarios de su organización.
dependencies
| where name == "Offline.SyncDatabase"
| extend cd = parse_json(customDimensions)
| extend ActiveDuration = toint(tostring(cd.ActiveDuration))
| extend WithBackgroundTime = duration
| extend DataSyncMode = tostring(cd.DataSyncMode)
| summarize percentile(ActiveDuration, 50), percentile(WithBackgroundTime, 50) by client_Type, DataSyncMode
Detalles de sincronización por usuario
Esta consulta proporciona una vista por usuario de la sincronización, incluida la fecha de la última sincronización, el último error, la duración de la sincronización y los registros sincronizados.
dependencies
| where name == "Offline.SyncDatabase"
| extend cd = parse_json(customDimensions)
| extend ActiveDuration = toint(tostring(cd.ActiveDuration))
| extend WithBackgroundTime = duration
| extend DataSyncMode = tostring(cd.DataSyncMode)
| extend ErrorMessage = tostring(cd.ErrorMessage)
| summarize percentile(ActiveDuration, 50), percentile(WithBackgroundTime, 50), arg_max(timestamp, ErrorMessage), countif(success == false) by user_Id, DataSyncMode
Usuarios por tipo de dispositivo y versión de la aplicación
Esta consulta proporciona más información sobre los usuarios de su organización que acceden a la aplicación móvil en su modelo de dispositivo.
dependencies
| where name == "Offline.SyncDatabase"
| extend cd = parse_json(customDimensions)
| extend AppVersion = tostring(cd.AppInfo_Version)
| summarize dcount(user_Id) by AppVersion, client_Type
Asignación de códigos de error
Código de error | Tipo del error | Definición |
---|---|---|
-2146864604 | CONFIG_ERROR | Error de configuración de la aplicación o del usuario. Consulte Códigos de error de servicio web. |
-2146864606 | CONFIG_ERROR | Error de configuración de la aplicación o del usuario. Consulte Códigos de error de servicio web. |
-2146864607 | CONFIG_ERROR | Error de configuración de la aplicación o del usuario. Consulte Códigos de error de servicio web. |
-2146864608 | CONFIG_ERROR | Error de configuración de la aplicación o del usuario. Consulte Códigos de error de servicio web. |
-2146869250 | CONFIG_ERROR | Error de configuración de la aplicación o del usuario. Consulte Códigos de error de servicio web. |
-2147015328 | ACCESS_ERROR | Error de configuración de la aplicación o del usuario. Consulte Códigos de error de servicio web. |
-2147088248 | CONFIG_ERROR | Error de configuración de la aplicación o del usuario. Consulte Códigos de error de servicio web. |
-2147155198 | ERROR | Para ver los códigos de error que empiezan por –214, consulte Códigos de error de servicios web. |
-2147155198 | ACCESS_ERROR | Error de configuración de la aplicación o del usuario. Consulte Códigos de error de servicio web. |
-2147167669 | ACCESS_ERROR | Error de configuración de la aplicación o del usuario. Consulte Códigos de error de servicio web. |
-2147180269 | ACCESS_ERROR | Error de configuración de la aplicación o del usuario. Consulte Códigos de error de servicio web. |
-2147180284 | ACCESS_ERROR | Error de configuración de la aplicación o del usuario. Consulte Códigos de error de servicio web. |
-2147187375 | ERROR | Error de configuración de la aplicación o del usuario. Consulte Códigos de error de servicio web. |
-2147187388 | ERROR | Error de configuración de la aplicación o del usuario. Consulte Códigos de error de servicio web. |
-2147187389 | ERROR | Error de configuración de la aplicación o del usuario. Consulte Códigos de error de servicio web. |
-2147204270 | ERROR | Error de configuración de la aplicación o del usuario. Consulte Códigos de error de servicio web. |
-2147204339 | ERROR | Error de configuración de la aplicación o del usuario. Consulte Códigos de error de servicio web. |
-2147204784 | ERROR | Error de configuración de la aplicación o del usuario. Consulte Códigos de error de servicio web. |
-2147209463 | ACCESS_ERROR | Error de configuración de la aplicación o del usuario. Consulte Códigos de error de servicio web. |
-2147217124 | ERROR | Para ver los códigos de error que empiezan por –214, consulte Códigos de error de servicios web. |
-2147220884 | ERROR | Para ver los códigos de error que empiezan por –214, consulte Códigos de error de servicios web. |
-2147220955 | ACCESS_ERROR | Error de configuración de la aplicación o del usuario. Consulte Códigos de error de servicio web. |
-2147220956 | EXTERNAL_ERROR | Para ver los códigos de error que empiezan por –214, consulte Códigos de error de servicios web. |
-2147220960 | ACCESS_ERROR | Error de configuración de la aplicación o del usuario. Consulte Códigos de error de servicio web. |
-2147220970 | ERROR | Para ver los códigos de error que empiezan por –214, consulte Códigos de error de servicios web. |
-2147220989 | ERROR | Para ver los códigos de error que empiezan por –214, consulte Códigos de error de servicios web. |
-50 | ERROR | Error interno. |
0 | ERROR | Error desconocido. |
2000 | ERROR | Error sin asignar. |
2002 | ERROR | Tiempo de espera de Dataverse SQL. |
2003 | DATABASE_ERROR | Error de base de datos. |
2004 | NETWORK_ERROR | Error de red. |
2005 | SERVER_ERROR | Error del servidor. |
2006 | AUTH_ERROR | Error de autenticación. |
2007 | DEVICE_ERROR | Error el disco está lleno. |
2008 | ERROR | Error interno. |
2009 | AUTH_ERROR | Error de autenticación. |
2011 | CONFIG_ERROR | Error de privilegio del módulo de la aplicación. |
2016 | CONFIG_ERROR | Error de configuración sin conexión. |
2017 | CONFIG_ERROR | Error de configuración del perfil sin conexión. |
3000 | EXPECTED_ERROR | Evento interno de sincronización. |
3003 | CONFIG_ERROR | Error de configuración del perfil sin conexión. |