Eventi di telemetria per le azioni e la sincronizzazione delle app
I dati delle applicazioni Power Apps per dispositivi mobili relativi agli eventi di sincronizzazione offline sono disponibili per le app basate su modelli e canvas. Questi dati possono essere utilizzati per valutare il funzionamento e le prestazioni degli eventi di sincronizzazione offline per la tua organizzazione.
Questi dati vengono inseriti nella tabella Power Apps>Azioni e sincronizzazione app per dispositivi mobili in Application Insights. Una voce viene registrata quando un utente accede a un'app per dispositivi mobili Power Apps configurata per la modalità offline. Ulteriori dati relativi agli eventi di errore nelle app basate su modelli sono disponibili tramite l'UCI Power Apps>.
Sincronizzazione delle app per dispositivi mobili e definizioni degli eventi di azione
- id: ID evento.
- obiettivo: nome dello scenario tracciato dall'evento.
- tipo: tabella di origine dell'evento.
- name: nome dello scenario tracciato dall'evento.
- durata: durata dello scenario in millisecondi.. La durata può includere lunghi periodi di tempo in cui l'app è inattiva.
- operation_Id: identificatore univoco per la sessione.
- operation_ParentId: identificatore univoco per lo scenario tracciato dall'evento.
- user_Id: ID utente di Microsoft Entra.
- application_Version: versione dell'app.
- customDimensions: include i seguenti attributi:
- "EventName": riepilogo dello scenario tracciato dall'evento (ScenarioEnd).
- "ScenarioResult": OPERAZIONE RIUSCITA o NON RIUSCITA.
- ErrorCode: codice di errore generato in caso di errore di sincronizzazione. Ulteriori informazioni in Tabella di mapping dei codici di errore.
- ErrorMessage: vuoto in caso di esito positivo o stringa che descrive l'errore.
- FailureType: definisce il tipo di errore di sincronizzazione.
- LogLevel: gravità o livello di segnalazione dell'evento. I valori validi sono info, errore, avviso errore o dettagliato.
- DataSyncMode: il tipo di sincronizzazione offline riscontrata dall'utente.
- DELTA_SYNC: sincronizzazione incrementale automatica.
- GRID_SYNC: attivato da un aggiornamento in una visualizzazione griglia.
- FIRST_SYNC: sincronizzazione iniziale in un dispositivo (o dopo una disconnessione/riconfigurazione).
- FORCED_SYNC: attivato dal pulsante della pagina Stato dispositivo.
- SINGLE_RECORD_SYNC: attivato da notifica Push.
- AppFlavor: app nativa installata nei dispositivi. I valori validi sono FieldService e PowerApps.
- AppInfo_Version: versione dell'app nativa, come visualizzata nell'app store.
- ActiveDuration: durata dello scenario in millisecondi, incluso solo il tempo in cui l'app è attiva.
- DeviceInfo_Id: identificatore univoco del dispositivo.
- DeviceInfo_model: modello del dispositivo (ad esempio iPhone 13).
- DeviceInfo_make: marca del dispositivo (ad esempio Apple).
- DeviceInfo_OsName: sistema operativo del dispositivo (ad esempio Android).
- DeviceInfo_OsVersion: versione del sistema operativo (ad esempio Android 13).
- Loc_country: origine del dispositivo di telemetria.
- eventContext: contiene le seguenti proprietà:
- CurrentSyncId: ID di un passaggio di sincronizzazione riuscito. Reimposta dopo ogni sincronizzazione riuscita. Non si reimposta dopo un errore.
- CurrentActivityId: ID del passaggio di sincronizzazione. Reimposta dopo ogni sincronizzazione.
- entityName: nome della tabella negli eventi di download dei dati.
- ProfileId: ID del profilo offline configurato per l'app e l'utente.
- RecordCount: numero di record scaricati.
- ResponseSize: dimensioni dei dati del payload in arrivo come riportato da HTTPClient (dimensioni compresse).
- ContentLength: dimensioni dei dati del payload in arrivo come riportato da HTTPClient (dimensioni compresse).
Eventi di errore dell'interfaccia client unificata
- timestamp [UTC]: quando si è verificato l'evento.
- problemId: "uci_trace" o "uciMonitorFailure" (da dove provengono i dati.)
- type: "uci_trace" o "uciMonitorFailure" (da dove provengono i dati.)
- outType: "uci_trace" o "uciMonitorFailure" (da dove provengono i dati.)
- outerMessage: messaggio di errore.
- itemType: "eccezione"
- CustomDimensions:
- eventContext: ulteriori dettagli relativi all'errore.
- ServerConnectivityState: l'utente è in modalità offline? (Offline/Online)
- NetworkConnectivityState: l'utente ha una connessione Internet? Tieni presente che un utente può trovarsi in modalità offline, ma avere una connessione Internet.
- IsOfflineByDefaultApp: se impostato su false, significa che la funzionalità Lavora in modalità offline è attiva. Se è vero, significa che la funzione Offline prima è attivata.
- callStack: codice di programmazione in cui si è verificato l'errore.
- hostSubType: "PowerApps-Player-iOS-fieldservice"
- hostType: "MobileApplication"
- Operation_ID: una concatenazione di stringhe composta da sessionID seguito da "_" e dall'ID correlazione esterno, ad esempio, e11e8465-bc8f-4319-b64a-9c1e42453148_0da90a33-ad68-4a4e-bd45-5728d5da719a.
- Operation_ParentID: ID attività correlata all'errore.
- SessionId: ID sessione dell'errore.
- UserId: ID utente di Dynamics 365.
- User_authenticatedID: ID utente di Dynamics 365.
- Application_version: versione dell'app, ad esempio, 9.2.24045.00212.
- Client_Type: versione del sistema operativo, ad esempio iOS o Android.
Scenari di esempio
Errori di sincronizzazione offline tramite codice di errore
Questa query consente di vedere quali tipi di errori riscontrano i lavoratori in prima linea quando una sincronizzazione non riesce. Sono previsti alcuni errori, ad esempio se l'applicazione per dispositivi mobili viene chiusa durante la sincronizzazione o se la rete si disconnette durante la sincronizzazione, impedendone il completamento. La definizione dei codici di errore è riportata nella tabella di mapping dei codici di errore.
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)
Record medi sincronizzati per tabella
Questa query ti consente di valutare quali tabelle contribuiscono con la maggior parte dei record a una sincronizzazione. Utilizzando questi dati, puoi provare a ottimizzare ulteriormente il tuo profilo offline per ridurre i record o i dati in ogni tabella.
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
Durata media della sincronizzazione per modalità di sincronizzazione
Questa query consente di valutare la durata media della sincronizzazione per gli utenti della tua organizzazione.
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
Sincronizza i dettagli per utente
Questa query fornisce una visualizzazione della sincronizzazione per utente, inclusa la data dell'ultima sincronizzazione, l'ultimo errore, la durata della sincronizzazione e i record sincronizzati.
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
Utenti per tipo di dispositivo e versione dell'app
Questa query fornisce maggiori informazioni sugli utenti della tua organizzazione che accedono all'applicazione per dispositivi mobili nel loro modello di 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
Mapping dei codici di errore
Codice errore | Tipo di errore | Definizione |
---|---|---|
-2146864604 | CONFIG_ERROR | Errore di configurazione dell'app o dell'utente. Vedi Codici di errore del servizio Web. |
-2146864606 | CONFIG_ERROR | Errore di configurazione dell'app o dell'utente. Vedi Codici di errore del servizio Web. |
-2146864607 | CONFIG_ERROR | Errore di configurazione dell'app o dell'utente. Vedi Codici di errore del servizio Web. |
-2146864608 | CONFIG_ERROR | Errore di configurazione dell'app o dell'utente. Vedi Codici di errore del servizio Web. |
-2146869250 | CONFIG_ERROR | Errore di configurazione dell'app o dell'utente. Vedi Codici di errore del servizio Web. |
-2147015328 | ACCESS_ERROR | Errore di configurazione dell'app o dell'utente. Vedi Codici di errore del servizio Web. |
-2147088248 | CONFIG_ERROR | Errore di configurazione dell'app o dell'utente. Vedi Codici di errore del servizio Web. |
-2147155198 | ERRORE | Per i codici di errore che iniziano con –214, vedi Codici di errore del servizio Web. |
-2147155198 | ACCESS_ERROR | Errore di configurazione dell'app o dell'utente. Vedi Codici di errore del servizio Web. |
-2147167669 | ACCESS_ERROR | Errore di configurazione dell'app o dell'utente. Vedi Codici di errore del servizio Web. |
-2147180269 | ACCESS_ERROR | Errore di configurazione dell'app o dell'utente. Vedi Codici di errore del servizio Web. |
-2147180284 | ACCESS_ERROR | Errore di configurazione dell'app o dell'utente. Vedi Codici di errore del servizio Web. |
-2147187375 | ERRORE | Errore di configurazione dell'app o dell'utente. Vedi Codici di errore del servizio Web. |
-2147187388 | ERRORE | Errore di configurazione dell'app o dell'utente. Vedi Codici di errore del servizio Web. |
-2147187389 | ERRORE | Errore di configurazione dell'app o dell'utente. Vedi Codici di errore del servizio Web. |
-2147204270 | ERRORE | Errore di configurazione dell'app o dell'utente. Vedi Codici di errore del servizio Web. |
-2147204339 | ERRORE | Errore di configurazione dell'app o dell'utente. Vedi Codici di errore del servizio Web. |
-2147204784 | ERRORE | Errore di configurazione dell'app o dell'utente. Vedi Codici di errore del servizio Web. |
-2147209463 | ACCESS_ERROR | Errore di configurazione dell'app o dell'utente. Vedi Codici di errore del servizio Web. |
-2147217124 | ERRORE | Per i codici di errore che iniziano con –214, vedi Codici di errore del servizio Web. |
-2147220884 | ERRORE | Per i codici di errore che iniziano con –214, vedi Codici di errore del servizio Web. |
-2147220955 | ACCESS_ERROR | Errore di configurazione dell'app o dell'utente. Vedi Codici di errore del servizio Web. |
-2147220956 | EXTERNAL_ERROR | Per i codici di errore che iniziano con –214, vedi Codici di errore del servizio Web. |
-2147220960 | ACCESS_ERROR | Errore di configurazione dell'app o dell'utente. Vedi Codici di errore del servizio Web. |
-2147220970 | ERRORE | Per i codici di errore che iniziano con –214, vedi Codici di errore del servizio Web. |
-2147220989 | ERRORE | Per i codici di errore che iniziano con –214, vedi Codici di errore del servizio Web. |
-50 | ERRORE | Errore interno. |
0 | ERRORE | Errore sconosciuto. |
2000 | ERRORE | Errore non mappato. |
2002 | ERRORE | Timeout SQL Dataverse. |
2003 | DATABASE_ERROR | Errore di database |
2004 | NETWORK_ERROR | Errore di rete. |
2005 | SERVER_ERROR | Errore del server. |
2006 | AUTH_ERROR | Errore di autenticazione. |
2007 | DEVICE_ERROR | Errore disco pieno. |
2008 | ERRORE | Errore interno. |
2009 | AUTH_ERROR | Errore di autenticazione. |
2011 | CONFIG_ERROR | Errore di privilegio del modulo app. |
2016 | CONFIG_ERROR | Errore di configurazione offline |
2017 | CONFIG_ERROR | Errore di configurazione del profilo offline. |
3000 | EXPECTED_ERROR | Evento interno di sincronizzazione. |
3003 | CONFIG_ERROR | Errore di configurazione del profilo offline. |