Événements de télémétrie pour la synchronisation et les actions des applications mobiles
Les données d’application mobile Power Apps associées aux événements de synchronisation hors connexion sont disponibles pour les applications pilotées par modèle et canevas. Ces données peuvent être utilisées pour évaluer l’état de santé et les performances des événements de synchronisation hors connexion pour votre organisation.
Ces données sont placées dans la table Power Apps>Synchronisation et actions de l’application mobile dans Application Insights. Une entrée est consignée lorsqu’un utilisateur accède à une application mobile Power Apps, qui est configurée pour le mode hors connexion. Des données supplémentaires, liées aux événements d’échec dans les applications pilotées par modèle, sont disponibles via l’UCI Power Apps>.
Synchronisation de l’application mobile et définitions d’événements d’action
- id : ID d’événement.
- cible : nom du scénario suivi par l’événement.
- type : table de la source de l’événement.
- nom : nom du scénario suivi par l’événement.
- durée : durée du scénario en millisecondes. La durée peut inclure de longues périodes pendant lesquelles l’application est inactive.
- operation_Id : identificateur unique de la session.
- operation_ParentId : identificateur unique du scénario suivi par l’événement.
- user_Id : ID utilisateur Microsoft Entra.
- application_Version : version de l’application.
- customDimensions : contient les attributs suivants :
- « EventName » : résumé du scénario suivi par l’événement (ScenarioEnd).
- « ScenarioResult » : SUCCÈS ou ÉCHEC.
- ErrorCode : code d’erreur généré en cas d’échec de la synchronisation. En savoir plus dans Table de mappage des codes d’erreur.
- ErrorMessage : vide en cas de réussite, ou contient une chaîne de caractères décrivant l’erreur.
- FailureType : définit le type d’échec de la synchronisation.
- LogLevel : la gravité ou le niveau de rapport de l’événement. Les valeurs valides sont info, erreur, avertissement, erreur ou commentaire.
- DataSyncMode : type de synchronisation hors connexion que l’utilisateur a connu.
- DELTA_SYNC : Synchronisation incrémentielle automatique.
- GRID_SYNC : déclenché par une actualisation d’une vue de grille.
- FIRST_SYNC : synchronisation initiale sur un appareil (ou après une déconnexion/une reconfiguration).
- FORCED_SYNC : Déclenché à partir du bouton de la page Statut de l’appareil.
- SINGLE_RECORD_SYNC: Déclenché par notification Push.
- AppFlavor : application native installée sur les appareils. Les valeurs valides sont FieldService et PowerApps.
- AppInfo_Version : Version de l’application native, telle qu’elle apparaît dans l’App Store.
- ActiveDuration : durée du scénario en millisecondes, y compris uniquement le temps pendant lequel l’application est active.
- DeviceInfo_Id : Identificateur unique de l’appareil.
- DeviceInfo_model : Modèle d’appareil (par exemple, iPhone 13).
- DeviceInfo_make : marque de l’appareil (par exemple, Apple).
- DeviceInfo_OsName : système d’exploitation de l’appareil (par exemple, Android).
- DeviceInfo_OsVersion : version du système d’exploitation (par exemple, Android 13).
- Loc_country : Origine de l’appareil de télémétrie.
- eventContext : contient les propriétés suivantes :
- CurrentSyncId : ID d’une passe de synchronisation réussie. Réinitialisé après chaque synchronisation réussie. (Il n’est pas réinitialisé après une erreur.)
- CurrentActivityId : ID de la passe de synchronisation. Réinitialisé après chaque synchronisation.
- entityName : nom de la table dans les événements de téléchargement de données.
- ProfileId : ID du profil hors connexion configuré pour l’application et l’utilisateur.
- RecordCount : nombre d’enregistrements téléchargés.
- ResponseSize : taille des données de la charge utile entrante telle que signalée par HTTPClient (taille compressée).
- ContentLength : longueur du contenu des données de la charge utile entrante telle que signalée par HTTPClient (taille compressée).
Événements de défaillance de l’interface client unifiée
- timestamp [UTC] : lorsque l’événement s’est produit.
- problemId : « uci_trace » ou « uciMonitorFailure » (d’où proviennent les données.)
- type : « uci_trace » ou « uciMonitorFailure » (d’où proviennent les données.)
- outType : « uci_trace » ou « uciMonitorFailure » (d’où proviennent les données.)
- outerMessage : message d’erreur.
- itemType : « exception »
- CustomDimensions :
- eventContext : plus de détails relatifs à l’erreur.
- ServerConnectivityState : l’utilisateur est-il en mode hors connexion ? (hors ligne/en ligne)
- NetworkConnectivityState : l’utilisateur dispose-t-il d’une connexion Internet ? Notez qu’un utilisateur peut être en mode hors connexion, mais disposer d’une connexion Internet.
- IsOfflineByDefaultApp : lorsque défini sur false, cela signifie que la fonctionnalité Travailler en mode hors connexion est activée. Lorsque true, cela signifie que l’option Offline First est activée.
- callStack : code de programmation où l’erreur s’est produite.
- hostSubType: « PowerApps-Player-iOS-fieldservice »
- hostType : « MobileApplication »
- Operation_ID : concaténation de la chaîne de sessionID suivie par ’_’ et ID de corrélation externe, par exemple, e11e8465-bc8f-4319-b64a-9c1e42453148_0da90a33-ad68-4a4e-bd45-5728d5da719a.
- Operation_ParentID : ID d’activité lié à l’erreur.
- SessionId : ID de session de l’erreur.
- UserId : identifiant utilisateur Dynamics 365.
- User_authenticatedID : identifiant utilisateur Dynamics 365.
- Application_version : version de l’application, par exemple, 9.2.24045.00212.
- Client_Type : version du système d’exploitation, telle que iOS ou Android.
Exemples de scénarios
Échecs de la synchronisation hors connexion par code d’erreur
Cette requête vous permet de voir quels types de défaillances les collaborateurs de première ligne rencontrent lorsqu’une synchronisation échoue. Certains échecs sont attendus, par exemple si l’application mobile est fermée pendant la synchronisation ou si le réseau se déconnecte pendant la synchronisation et empêche la synchronisation de se terminer. La définition des codes d’erreur est affichée dans la Table de mappage des codes d’erreur.
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)
Nombre moyen d’enregistrements synchronisés par table
Cette requête vous permet d’évaluer les tables qui contribuent le plus à une synchronisation des enregistrements. Avec ces données, essayez d’optimiser davantage votre profil hors connexion pour réduire les enregistrements ou les données dans chaque table.
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
Durée moyenne de synchronisation par mode de synchronisation
Cette requête vous permet d’évaluer la durée moyenne de synchronisation des utilisateurs de votre organisation.
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
Synchroniser les détails par utilisateur
Cette requête fournit une vue par utilisateur de la synchronisation, y compris la date de la dernière synchronisation, la dernière erreur, la durée de la synchronisation et les enregistrements synchronisés.
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
Utilisateurs par type d’appareil et version de l’application
Cette requête donne plus d’informations sur les utilisateurs de votre organisation qui accèdent à l’application mobile sur leur modèle d’appareil.
dependencies
| where name == "Offline.SyncDatabase"
| extend cd = parse_json(customDimensions)
| extend AppVersion = tostring(cd.AppInfo_Version)
| summarize dcount(user_Id) by AppVersion, client_Type
Mappage des codes d’erreur
Code d’erreur | Type d’échec | Définition |
---|---|---|
-2146864604 | CONFIG_ERROR | Erreur de configuration de l’application ou de l’utilisateur. Voir Codes d’erreur du service Web. |
-2146864606 | CONFIG_ERROR | Erreur de configuration de l’application ou de l’utilisateur. Voir Codes d’erreur du service Web. |
-2146864607 | CONFIG_ERROR | Erreur de configuration de l’application ou de l’utilisateur. Voir Codes d’erreur du service Web. |
-2146864608 | CONFIG_ERROR | Erreur de configuration de l’application ou de l’utilisateur. Voir Codes d’erreur du service Web. |
-2146869250 | CONFIG_ERROR | Erreur de configuration de l’application ou de l’utilisateur. Voir Codes d’erreur du service Web. |
-2147015328 | ACCESS_ERROR | Erreur de configuration de l’application ou de l’utilisateur. Voir Codes d’erreur du service Web. |
-2147088248 | CONFIG_ERROR | Erreur de configuration de l’application ou de l’utilisateur. Voir Codes d’erreur du service Web. |
-2147155198 | ERROR | Pour les codes d’erreur commençant par –214, voir Codes d’erreur du service Web. |
-2147155198 | ACCESS_ERROR | Erreur de configuration de l’application ou de l’utilisateur. Voir Codes d’erreur du service Web. |
-2147167669 | ACCESS_ERROR | Erreur de configuration de l’application ou de l’utilisateur. Voir Codes d’erreur du service Web. |
-2147180269 | ACCESS_ERROR | Erreur de configuration de l’application ou de l’utilisateur. Voir Codes d’erreur du service Web. |
-2147180284 | ACCESS_ERROR | Erreur de configuration de l’application ou de l’utilisateur. Voir Codes d’erreur du service Web. |
-2147187375 | ERROR | Erreur de configuration de l’application ou de l’utilisateur. Voir Codes d’erreur du service Web. |
-2147187388 | ERROR | Erreur de configuration de l’application ou de l’utilisateur. Voir Codes d’erreur du service Web. |
-2147187389 | ERROR | Erreur de configuration de l’application ou de l’utilisateur. Voir Codes d’erreur du service Web. |
-2147204270 | ERROR | Erreur de configuration de l’application ou de l’utilisateur. Voir Codes d’erreur du service Web. |
-2147204339 | ERROR | Erreur de configuration de l’application ou de l’utilisateur. Voir Codes d’erreur du service Web. |
-2147204784 | ERROR | Erreur de configuration de l’application ou de l’utilisateur. Voir Codes d’erreur du service Web. |
-2147209463 | ACCESS_ERROR | Erreur de configuration de l’application ou de l’utilisateur. Voir Codes d’erreur du service Web. |
-2147217124 | ERROR | Pour les codes d’erreur commençant par –214, voir Codes d’erreur du service Web. |
-2147220884 | ERROR | Pour les codes d’erreur commençant par –214, voir Codes d’erreur du service Web. |
-2147220955 | ACCESS_ERROR | Erreur de configuration de l’application ou de l’utilisateur. Voir Codes d’erreur du service Web. |
-2147220956 | EXTERNAL_ERROR | Pour les codes d’erreur commençant par –214, voir Codes d’erreur du service Web. |
-2147220960 | ACCESS_ERROR | Erreur de configuration de l’application ou de l’utilisateur. Voir Codes d’erreur du service Web. |
-2147220970 | ERROR | Pour les codes d’erreur commençant par –214, voir Codes d’erreur du service Web. |
-2147220989 | ERROR | Pour les codes d’erreur commençant par –214, voir Codes d’erreur du service Web. |
-50 | ERROR | Erreur interne. |
0 | ERROR | Erreur inconnue. |
2000 | ERROR | Erreur non mappée. |
2002 | ERROR | Délai d’expiration SQL Dataverse. |
2003 | DATABASE_ERROR | Erreur de la base de données. |
2004 | NETWORK_ERROR | Erreur réseau. |
2005 | SERVER_ERROR | Erreur serveur. |
2006 | AUTH_ERROR | Erreur d’authentification. |
2007 | DEVICE_ERROR | Erreur Disque plein. |
2008 | ERROR | Erreur interne. |
2009 | AUTH_ERROR | Erreur d’authentification. |
2011 | CONFIG_ERROR | Erreur de privilège du module d’application. |
2016 | CONFIG_ERROR | Erreur de configuration hors connexion. |
2017 | CONFIG_ERROR | Erreur de configuration du profil hors connexion. |
3000 | EXPECTED_ERROR | Événement interne de synchronisation. |
3003 | CONFIG_ERROR | Erreur de configuration du profil hors connexion. |