Eventos de telemetria para sincronização e ações de aplicativos móveis
Os dados do aplicativo móvel do Power Apps relacionados a eventos de sincronização offline estão disponíveis para aplicativos baseados em modelo e de tela. Esses dados podem ser usados para avaliar a integridade e o desempenho de eventos de sincronização offline para sua organização.
Esses dados vão para a tabela Power Apps>Sincronização do aplicativo móvel e ações no Application Insights. Uma entrada é registrada quando um usuário acessa um aplicativo móvel do Power Apps, que está configurado para o modo offline. Mais dados relacionados a eventos de falha em aplicativos baseados em modelo estão disponíveis por meio do Power Apps>UCI.
Definições de evento de ação e sincronização do aplicativo móvel
- id: ID do Evento.
- destino: nome do cenário rastreado pelo evento.
- type: tabela de origem do evento.
- nome: nome do cenário rastreado pelo evento.
- duração: duração do cenário em milissegundos. A duração pode incluir longos períodos quando o aplicativo está inativo.
- operation_Id: identificador exclusivo da sessão.
- operation_ParentId: identificador exclusivo do cenário rastreado pelo evento.
- user_Id: ID do usuário do Microsoft Entra.
- application_Version: versão do aplicativo.
- customDimensions: contém os seguintes atributos:
- "EventName": resumo do cenário rastreado pelo evento (ScenarioEnd).
- "ScenarioResult": ÊXITO ou FALHA.
- ErrorCode: código de erro gerado em caso de falha de sincronização. Saiba mais em Tabela de mapeamento de código de erro.
- ErrorMessage: vazio em caso de êxito ou cadeia de caracteres que descreve o erro.
- FailureType: define o tipo de falha de sincronização.
- LogLevel: a gravidade ou o nível de relatório do evento. Os valores válidos são informações, erro, aviso, erro ou detalhado.
- DataSyncMode: que tipo de sincronização offline o usuário experimentou.
- DELTA_SYNC: sincronização incremental automática.
- GRID_SYNC: disparado por uma atualização em uma exibição de grade.
- FIRST_SYNC: sincronização inicial em um dispositivo (ou após uma saída/reconfiguração).
- FORCED_SYNC: disparado a partir do botão da página Status do Dispositivo.
- SINGLE_RECORD_SYNC: acionado por notificação por push.
- AppFlavor: aplicativo nativo instalado nos dispositivos. Os valores válidos são FieldService e PowerApps.
- AppInfo_Version: versão do aplicativo nativo, conforme visto na loja de aplicativos.
- ActiveDuration: duração do cenário em milissegundos, incluindo apenas o tempo enquanto o aplicativo está ativo.
- DeviceInfo_Id: identificador exclusivo do dispositivo.
- DeviceInfo_model: modelo do dispositivo (como iPhone 13).
- DeviceInfo_make: marca do dispositivo (como a Apple).
- DeviceInfo_OsName: sistema operacional do dispositivo (por exemplo Android).
- DeviceInfo_OsVersion: versão do sistema operacional (como Android 13).
- Loc_country: origem do dispositivo de telemetria.
- eventContext: contém as seguintes propriedades:
- CurrentSyncId: ID de uma passagem de sincronização bem-sucedida. Redefina após cada sincronização bem-sucedida. (Não é redefinido após um erro.)
- CurrentActivityId: ID da passagem de sincronização. Redefina após cada sincronização.
- entityName: nome da tabela em eventos de download de dados.
- ProfileId: ID do perfil offline configurado para o aplicativo e o usuário.
- RecordCount: número de registros baixados.
- ResponseSize: tamanho dos dados de payload de entrada conforme relatado pelo HTTPClient (tamanho compactado).
- ContentLength: tamanho dos dados de payload, conforme relatado pelo HTTPClient (tamanho compactado).
Eventos de falha da Interface de Cliente Unificada
- timestamp [UTC]: quando o evento ocorreu.
- problemId: "uci_trace" ou "uciMonitorFailure" (de onde os dados vieram.)
- type: "uci_trace" ou "uciMonitorFailure" (de onde os dados vieram).
- outType: "uci_trace" ou "uciMonitorFailure" (de onde os dados vieram).
- outerMessage: mensagem de erro.
- itemType: "exceção"
- CustomDimensions:
- eventContext: mais detalhes relacionados ao erro.
- ServerConnectivityState: o usuário está no modo offline? (Offline/Online)
- NetworkConnectivityState: o usuário tem conexão com a Internet? Observe que um usuário pode estar no modo offline, mas ter uma conexão com a Internet.
- IsOfflineByDefaultApp: quando falso, significa que o recurso Trabalhar no modo offline está ativado. Quando verdadeiro, isso significa que a priorização do offline está ativada.
- callStack: o código de programação onde ocorreu o erro.
- hostSubType: "PowerApps-Player-iOS-fieldservice"
- hostType: "MobileApplication"
- Operation_ID: uma concatenação de cadeia de caracteres de sessionID seguida por um '_' e ID de correlação externa, por exemplo, e11e8465-bc8f-4319-b64a-9c1e42453148_0da90a33-ad68-4a4e-bd45-5728d5da719a.
- Operation_ParentID: ID da atividade relacionada ao erro.
- SessionId: ID da sessão do erro.
- UserId: ID do usuário do Dynamics 365
- User_authenticatedID: ID do usuário do Dynamics 365.
- Application_version: versão do aplicativo, por exemplo, 9.2.24045.00212.
- Client_Type: versão do sistema operacional, como iOS ou Android.
Cenários de exemplo
Falhas de sincronização offline por código de erro
Essa consulta permite ver que tipos de falhas os trabalhadores da linha de frente estão encontrando quando ocorre falha na sincronização. Algumas falhas são exceções, como se o aplicativo móvel for fechado durante a sincronização ou se a rede se desconectar durante a sincronização e impedir que a sincronização seja concluída. A definição de códigos de falha é mostrada na Tabela de mapeamento de código de erro.
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)
Média de registros sincronizados por tabela
Essa consulta permite avaliar quais tabelas estão contribuindo com mais registros para uma sincronização. Usando esses dados, você pode tentar otimizar ainda mais seu perfil offline para reduzir registros ou dados em cada tabela.
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
Duração média de sincronização por modo de sincronização
Esta consulta permite avaliar a duração média de sincronização dos usuários em sua organização.
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
Detalhes da sincronização por usuário
Esta consulta fornece uma exibição por usuário da sincronização, incluindo a data da última sincronização, o último erro, a duração da sincronização e os 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
Usuários por tipo de dispositivo e versão do aplicativo
Essa consulta fornece mais informações sobre os usuários da organização que estão acessando o aplicativo móvel no 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
Mapeamento de código de erro
Código de erro | Tipo de falha | Definição |
---|---|---|
-2146864604 | CONFIG_ERROR | Erro de configuração do aplicativo ou do usuário. Consulte Códigos de erro do serviço Web. |
-2146864606 | CONFIG_ERROR | Erro de configuração do aplicativo ou do usuário. Consulte Códigos de erro do serviço Web. |
-2146864607 | CONFIG_ERROR | Erro de configuração do aplicativo ou do usuário. Consulte Códigos de erro do serviço Web. |
-2146864608 | CONFIG_ERROR | Erro de configuração do aplicativo ou do usuário. Consulte Códigos de erro do serviço Web. |
-2146869250 | CONFIG_ERROR | Erro de configuração do aplicativo ou do usuário. Consulte Códigos de erro do serviço Web. |
-2147015328 | ACCESS_ERROR | Erro de configuração do aplicativo ou do usuário. Consulte Códigos de erro do serviço Web. |
-2147088248 | CONFIG_ERROR | Erro de configuração do aplicativo ou do usuário. Consulte Códigos de erro do serviço Web. |
-2147155198 | ERRO | Para códigos de erro que começam em –214, consulte Códigos de erro de serviço Web. |
-2147155198 | ACCESS_ERROR | Erro de configuração do aplicativo ou do usuário. Consulte Códigos de erro do serviço Web. |
-2147167669 | ACCESS_ERROR | Erro de configuração do aplicativo ou do usuário. Consulte Códigos de erro do serviço Web. |
-2147180269 | ACCESS_ERROR | Erro de configuração do aplicativo ou do usuário. Consulte Códigos de erro do serviço Web. |
-2147180284 | ACCESS_ERROR | Erro de configuração do aplicativo ou do usuário. Consulte Códigos de erro do serviço Web. |
-2147187375 | ERRO | Erro de configuração do aplicativo ou do usuário. Consulte Códigos de erro do serviço Web. |
-2147187388 | ERRO | Erro de configuração do aplicativo ou do usuário. Consulte Códigos de erro do serviço Web. |
-2147187389 | ERRO | Erro de configuração do aplicativo ou do usuário. Consulte Códigos de erro do serviço Web. |
-2147204270 | ERRO | Erro de configuração do aplicativo ou do usuário. Consulte Códigos de erro do serviço Web. |
-2147204339 | ERRO | Erro de configuração do aplicativo ou do usuário. Consulte Códigos de erro do serviço Web. |
-2147204784 | ERRO | Erro de configuração do aplicativo ou do usuário. Consulte Códigos de erro do serviço Web. |
-2147209463 | ACCESS_ERROR | Erro de configuração do aplicativo ou do usuário. Consulte Códigos de erro do serviço Web. |
-2147217124 | ERRO | Para códigos de erro que começam em –214, consulte Códigos de erro de serviço Web. |
-2147220884 | ERRO | Para códigos de erro que começam em –214, consulte Códigos de erro de serviço Web. |
-2147220955 | ACCESS_ERROR | Erro de configuração do aplicativo ou do usuário. Consulte Códigos de erro do serviço Web. |
-2147220956 | EXTERNAL_ERROR | Para códigos de erro que começam em –214, consulte Códigos de erro de serviço Web. |
-2147220960 | ACCESS_ERROR | Erro de configuração do aplicativo ou do usuário. Consulte Códigos de erro do serviço Web. |
-2147220970 | ERRO | Para códigos de erro que começam em –214, consulte Códigos de erro de serviço Web. |
-2147220989 | ERRO | Para códigos de erro que começam em –214, consulte Códigos de erro de serviço Web. |
-50 | ERRO | Erro interno. |
0 | ERRO | Erro desconhecido. |
2000 | ERRO | Erro não mapeado. |
2002 | ERRO | Timeout de SQL do Dataverse. |
2003 | DATABASE_ERROR | Erro do banco de dados. |
2004 | NETWORK_ERROR | Erro de rede. |
2005 | SERVER_ERROR | Erro do servidor. |
2006 | AUTH_ERROR | Erro de autenticação. |
2007 | DEVICE_ERROR | Erro de disco cheio. |
2008 | ERRO | Erro interno. |
2009 | AUTH_ERROR | Erro de autenticação. |
2011 | CONFIG_ERROR | Erro de privilégio do módulo do aplicativo. |
2016 | CONFIG_ERROR | Erro de configuração offline. |
2017 | CONFIG_ERROR | Erro de configuração de perfil offline. |
3000 | EXPECTED_ERROR | Evento interno de sincronização. |
3003 | CONFIG_ERROR | Erro de configuração de perfil offline. |