Telemetriegebeurtenissen voor synchronisatie en acties van mobiele apps
Power Apps-gegevens van mobiele toepassingen met betrekking tot offline synchronisatiegebeurtenissen zijn beschikbaar voor modelgestuurde en canvas-apps. Deze gegevens kunnen worden gebruikt om de gezondheid en prestaties van offline synchronisatiegebeurtenissen voor uw organisatie te evalueren.
Deze gegevens worden in de tabel Power Apps>Mobiele app-synchronisatie en acties in Application Insights geplaatst. Er wordt een vermelding geregistreerd wanneer een gebruiker een mobiele app van Power Apps opent die is geconfigureerd voor de offline modus. Meer gegevens over foutgebeurtenissen in modelgestuurde apps zijn beschikbaar via de Power Apps>UCI.
Ga voor aanvullende queryvoorbeelden en een dashboardvoorbeeld naar Voorbeeld van een telemetriedashboard voor offline profielgebruik in de mobiele Field Service-app
Synchronisatie van mobiele apps en definities van actiegebeurtenissen
- id: gebeurtenis-id.
- doel: naam van het scenario dat door de gebeurtenis wordt gevolgd.
- type: brontabel van de gebeurtenis.
- naam: Naam van het scenario dat door de gebeurtenis wordt gevolgd.
- duur: scenarioduur in milliseconden. De duur kan ook langere periodes omvatten waarin de app inactief is.
- operation_Id: unieke id voor de sessie.
- operation_ParentId: unieke id voor het scenario dat door de gebeurtenis wordt bijgehouden.
- user_Id: Microsoft Entra gebruikers-ID.
- application_Version: Versie van de app.
-
customDimensions: bevat de volgende kenmerken:
- "EventName": overzicht van het scenario dat door de gebeurtenis wordt gevolgd (ScenarioEnd).
- "ScenarioResult": SUCCES of FOUT.
- ErrorCode: Foutcode gegenereerd bij mislukte synchronisatie. Meer informatie vindt u in de toewijzingstabel voor foutcodes.
- ErrorMessage: Leeg indien geslaagd of een tekenreeks die de fout beschrijft.
- FailureType: Definieert het type synchronisatiefout.
- LogLevel: De ernst of het rapportageniveau van de gebeurtenis. Geldige waarden zijn info, fout, waarschuwing, fout of uitgebreid.
-
DataSyncMode: Welk type offline synchronisatie de gebruiker heeft ervaren.
- DELTA_SYNC: Automatische incrementele synchronisatie.
- GRID_SYNC: Wordt geactiveerd door een vernieuwing van een rasterweergave.
- FIRST_SYNC: Eerste synchronisatie op een apparaat (of na afmelden/herconfigureren).
- FORCED_SYNC: Geactiveerd via de knop op de pagina Apparaatstatus.
- SINGLE_RECORD_SYNC: geactiveerd door pushmelding.
- AppFlavor: natvie app geïnstalleerd op de apparaten. Geldige waarden zijn FieldService en PowerApps.
- AppInfo_Version: versie van de native app, zoals weergegeven in de App Store.
- ActiveDuration: Scenarioduur in milliseconden, inclusief alleen de tijd dat de app actief is.
- DeviceInfo_Id: de unieke id van het apparaat.
- DeviceInfo_model: Apparaatmodel (zoals iPhone 13).
- DeviceInfo_make: fabrikant van het apparaat (zoals Apple).
- DeviceInfo_OsName: Besturingssysteem van het apparaat (zoals Android).
- DeviceInfo_OsVersion: Versie van het besturingssysteem (zoals Android 13).
- Loc_country: land van herkomst van het telemetrie-apparaat.
-
eventContext: bevat de volgende eigenschappen:
- CurrentSyncId: id van een succesvolle synchronisatiepoging. Opnieuw instellen na elke succesvolle synchronisatie. (Het wordt niet opnieuw ingesteld na een fout.)
- CurrentActivityId: Id van de synchronisatiepas. Resetten na elke synchronisatie.
- entityName: Naam van de tabel in gegevensdownloadgebeurtenissen.
- ProfileId: Id van het offline profiel dat is geconfigureerd voor de app en gebruiker.
- RecordCount: Aantal gedownloade records.
- ResponseSize: grootte van binnenkomende payloadgegevens zoals gerapporteerd door HTTPClient (gecomprimeerde grootte).
- ContentLength: grootte van binnenkomende payloadgegevens zoals gerapporteerd door HTTPClient (gecomprimeerde grootte).
Foutgebeurtenissen van de Unified Client Interface
- tijdstempel [UTC]: Wanneer de gebeurtenis plaatsvond.
- problemId: ′uci_trace′ of ′uciMonitorFailure′ (waar de data vandaan komt.)
- type: ′uci_trace′ of ′uciMonitorFailure′ (waar de data vandaan komt.)
- outType: ′uci_trace′ of ′uciMonitorFailure′ (waar de data vandaan komt.)
- outerMessage: Foutmelding.
- itemType: ′uitzondering′
-
CustomDimensions:
- eventContext: Meer details over de fout.
- ServerConnectivityState: Bevindt de gebruiker zich in de offline modus? (Offline/Online)
- NetworkConnectivityState: Heeft de gebruiker een internetverbinding? Houd er rekening mee dat een gebruiker offline kan zijn, maar wel een internetverbinding kan hebben.
- IsOfflineByDefaultApp: wanneer dit niet waar is, betekent dit dat de functie Werken in offline modus is ingeschakeld. Als dit waar is, betekent dit dat eerst offline is ingeschakeld.
- callStack: De programmeercode waarin de fout is opgetreden.
- hostSubType: ′PowerApps-Player-iOS-veldservice′
- hostType: ′MobileApplication′
- Operation_ID: een samenvoeging van tekenreeksen van sessionID gevolgd door een '_' en externe correlatie-id, bijvoorbeeld e11e8465-bc8f-4319-b64a-9c1e42453148_0da90a33-ad68-4a4e-bd45-5728d5da719a.
- Operation_ParentID: Activiteits-id gerelateerd aan de fout.
- SessionId: Sessie-id van de fout.
- UserId: Dynamics 365 gebruikers-id.
- User_authenticatedID: gebruikers-id van Dynamics 365.
- Application_version: App-versie, bijvoorbeeld 9.2.24045.00212.
- Client_Type: versie van het besturingssysteem, zoals iOS of Android.
Voorbeeldscenario's
Offline synchronisatiemislukkingen op foutcode
Met deze query kunt u zien welke soorten fouten frontliniemedewerkers tegenkomen wanneer een synchronisatie mislukt. Er zijn enkele fouten te verwachten, bijvoorbeeld als de mobiele applicatie wordt gesloten tijdens de synchronisatie, of als de netwerkverbinding tijdens de synchronisatie wordt verbroken en de synchronisatie niet kan worden voltooid. De definitie van foutcodes wordt weergegeven in de Toewijzingstabel voor foutcodes.
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)
Gemiddeld aantal records gesynchroniseerd per tabel
Met deze query kunt u evalueren welke tabellen de meeste records bijdragen aan een synchronisatie. Met behulp van deze gegevens kunt u proberen uw offline profiel verder te optimaliseren om het aantal records of de hoeveelheid gegevens in elke tabel te verminderen.
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
Gemiddelde synchronisatieduur per synchronisatiemodus
Met deze query kunt u de gemiddelde synchronisatieduur voor gebruikers in uw organisatie evalueren.
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
Synchronisatiedetails per gebruiker
Deze query biedt een per gebruiker weergegeven synchronisatieoverzicht, inclusief de datum van de laatste synchronisatie, de laatste fout, de duur van de synchronisatie en de gesynchroniseerde records.
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
Gebruikers per apparaattype en app-versie
Met deze query krijgt u meer informatie over gebruikers in uw organisatie die de mobiele toepassing op hun apparaatmodel gebruiken.
dependencies
| where name == "Offline.SyncDatabase"
| extend cd = parse_json(customDimensions)
| extend AppVersion = tostring(cd.AppInfo_Version)
| summarize dcount(user_Id) by AppVersion, client_Type
Toewijzing van foutcodes
Foutcode | Fouttype | Definitie |
---|---|---|
-2146864604 | CONFIG_ERROR | App- of gebruikersconfiguratiefout. Zie Foutcodes voor de webservice. |
-2146864606 | CONFIG_ERROR | App- of gebruikersconfiguratiefout. Zie Foutcodes voor de webservice. |
-2146864607 | CONFIG_ERROR | App- of gebruikersconfiguratiefout. Zie Foutcodes voor de webservice. |
-2146864608 | CONFIG_ERROR | App- of gebruikersconfiguratiefout. Zie Foutcodes voor de webservice. |
-2146869250 | CONFIG_ERROR | App- of gebruikersconfiguratiefout. Zie Foutcodes voor de webservice. |
-2147015328 | ACCESS_ERROR | App- of gebruikersconfiguratiefout. Zie Foutcodes voor de webservice. |
-2147088248 | CONFIG_ERROR | App- of gebruikersconfiguratiefout. Zie Foutcodes voor de webservice. |
-2147155198 | ERROR | Voor foutcodes die beginnen met –214, zie Foutcodes van webservices. |
-2147155198 | ACCESS_ERROR | App- of gebruikersconfiguratiefout. Zie Foutcodes voor de webservice. |
-2147167669 | ACCESS_ERROR | App- of gebruikersconfiguratiefout. Zie Foutcodes voor de webservice. |
-2147180269 | ACCESS_ERROR | App- of gebruikersconfiguratiefout. Zie Foutcodes voor de webservice. |
-2147180284 | ACCESS_ERROR | App- of gebruikersconfiguratiefout. Zie Foutcodes voor de webservice. |
-2147187375 | ERROR | App- of gebruikersconfiguratiefout. Zie Foutcodes voor de webservice. |
-2147187388 | ERROR | App- of gebruikersconfiguratiefout. Zie Foutcodes voor de webservice. |
-2147187389 | ERROR | App- of gebruikersconfiguratiefout. Zie Foutcodes voor de webservice. |
-2147204270 | ERROR | App- of gebruikersconfiguratiefout. Zie Foutcodes voor de webservice. |
-2147204339 | ERROR | App- of gebruikersconfiguratiefout. Zie Foutcodes voor de webservice. |
-2147204784 | ERROR | App- of gebruikersconfiguratiefout. Zie Foutcodes voor de webservice. |
-2147209463 | ACCESS_ERROR | App- of gebruikersconfiguratiefout. Zie Foutcodes voor de webservice. |
-2147217124 | ERROR | Voor foutcodes die beginnen met –214, zie Foutcodes van webservices. |
-2147220884 | ERROR | Voor foutcodes die beginnen met –214, zie Foutcodes van webservices. |
-2147220955 | ACCESS_ERROR | App- of gebruikersconfiguratiefout. Zie Foutcodes voor de webservice. |
-2147220956 | EXTERNAL_ERROR | Voor foutcodes die beginnen met –214, zie Foutcodes van webservices. |
-2147220960 | ACCESS_ERROR | App- of gebruikersconfiguratiefout. Zie Foutcodes voor de webservice. |
-2147220970 | ERROR | Voor foutcodes die beginnen met –214, zie Foutcodes van webservices. |
-2147220989 | ERROR | Voor foutcodes die beginnen met –214, zie Foutcodes van webservices. |
-50 | ERROR | Interne fout. |
0 | ERROR | Onbekende fout. |
2000 | ERROR | Niet in kaart gebrachte fout. |
2002 | ERROR | SQL-timeout van Dataverse. |
2003 | DATABASE_ERROR | Databasefout. |
2004 | NETWORK_ERROR | Netwerkfout. |
2005 | SERVER_ERROR | Serverfout. |
2006 | AUTH_ERROR | Verificatiefout. |
2007 | DEVICE_ERROR | Volle schijffout. |
2008 | ERROR | Interne fout. |
2009 | AUTH_ERROR | Verificatiefout. |
2011 | CONFIG_ERROR | Fout met app-modulebevoegdheden. |
2016 | CONFIG_ERROR | Offline configuratiefout. |
2017 | CONFIG_ERROR | Fout bij offline profielconfiguratie. |
3000 | EXPECTED_ERROR | Interne synchronisatiegebeurtenis. |
3003 | CONFIG_ERROR | Fout bij offline profielconfiguratie. |