Condividi tramite


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.