Eventos de telemetria para sincronização e ações de aplicações móveis
Os dados da aplicação Power Apps Mobile relacionados com eventos de sincronização offline estão disponíveis para aplicações condicionadas por modelo e de tela. Estes dados podem ser utilizados para avaliar a integridade e o desempenho dos eventos de sincronização offline da sua organização.
Estes dados entram na tabela Power Apps>Sincronização e ações da aplicação móvel no Application Insights. Uma entrada é registada quando um utilizador acede a uma aplicação móvel do Power Apps, a qual está configurada para o modo offline. Mais dados, relacionados a eventos de falha em aplicativos orientados por modelo, estão disponíveis através da Power Apps>UCI.
Sincronização de aplicações móveis e definições de eventos de ação
- id: ID do evento.
- destino: Nome do cenário rastreado pelo evento.
- tipo: Tabela de origem do evento.
- name: Nome do cenário controlado pelo evento.
- duração: Duração do cenário em milissegundos. A duração pode incluir longos períodos de tempo quando a aplicação está inativa.
- operation_Id: Identificador exclusivo da sessão.
- operation_ParentId: Identificador exclusivo do cenário rastreado pelo evento.
- user_Id: ID de utilizador do Microsoft Entra.
- application_Version: Versão da aplicação.
- customDimensions: contém os seguintes atributos:
- "EventName": Resumo do cenário rastreado pelo evento (ScenarioEnd).
- "ScenarioResult": SUCESSO ou FALHA.
- ErrorCode: Código de erro gerado após falha da sincronização. Mais informações em Tabela de mapeamento de códigos de erro.
- ErrorMessage: Vazio se sucesso ou cadeia de carateres a descrever o erro.
- FailureType: Define o tipo de falha de sincronização.
- LogLevel: O nível de gravidade ou de reporte do evento. Os valores válidos são info, erro, aviso, erro ou verboso.
- DataSyncMode: O tipo de sincronização offline que o utilizador experimentou.
- DELTA_SYNC: Sincronização incremental automática.
- GRID_SYNC: Acionado por uma atualização numa vista de grelha.
- FIRST_SYNC: Sincronização inicial num dispositivo (ou após uma saída/reconfiguração).
- FORCED_SYNC: Acionado a partir do botão da página Estado do Dispositivo.
- SINGLE_RECORD_SYNC: Acionado por Notificação push.
- AppFlavor: Aplicação nativa instalada nos dispositivos. Valores válidos são FieldService e PowerApps.
- AppInfo_Version: Versão da aplicação nativa, conforme visto na loja de aplicações.
- ActiveDuration: Duração do cenário em milissegundos, incluindo apenas o tempo enquanto a aplicação está ativa.
- DeviceInfo_Id: Identificador exclusivo do dispositivo.
- DeviceInfo_model: Modelo do dispositivo (como o iPhone 13).
- DeviceInfo_make: Marca do dispositivo (como Apple).
- DeviceInfo_OsName: Sistema operativo do dispositivo (como Android).
- DeviceInfo_OsVersion: Versão do sistema operativo (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. Repor após cada sincronização bem-sucedida. (Não é reposto após um erro.)
- CurrentActivityId: ID do passo de sincronização. Repor após cada sincronização.
- entityName: Nome da tabela em eventos de transferência de dados.
- ProfileId: ID do perfil offline configurado para a aplicação e utilizador.
- RecordCount: Número de registos transferidos.
- ResponseSize: Tamanho dos dados de payload de entrada conforme comunicado pelo HTTPClient (tamanho compactado).
- ContentLength: Tamanho dos dados de payload de entrada conforme comunicado pelo HTTPClient (tamanho compactado).
Eventos de falha da Interface de Cliente Unificada
- carimbo de data/hora [UTC]: Quando o evento aconteceu.
- problemId: "uci_trace" ou "uciMonitorFailure" (De onde vieram os dados.)
- tipo: "uci_trace" ou "uciMonitorFailure" (De onde vieram os dados.)
- outType: "uci_trace" ou "uciMonitorFailure" (De onde vieram os dados.)
- outerMessage: Mensagem de erro.
- itemType: "exceção"
- CustomDimensions:
- eventContext: Mais detalhes relacionados com o erro.
- ServerConnectivityState: O utilizador está no modo offline? (Offline/Online)
- NetworkConnectivityState: O utilizador tem ligação à Internet? Note que um utilizador pode estar no modo offline, mas ter uma ligação à Internet.
- IsOfflineByDefaultApp: Quando false, significa que a caraterística Trabalhar em modo offline está ativada. Quando true, significa que primeiro offline está ativado.
- callStack: O código de programação onde o erro ocorreu.
- hostSubType: "PowerApps-Player-iOS-fieldservice"
- hostType: "MobileApplication"
- Operation_ID: Uma concatenação de cadeia de sessionID seguida por "_" e ID de correlação Externa, por exemplo, e11e8465-bc8f-4319-b64a-9c1e42453148_0da90a33-ad68-4a4e-bd45-5728d5da719a.
- Operation_ParentID: ID da atividade relacionada com o erro.
- SessionId: ID da sessão do erro.
- UserId: ID de utilizador do Dynamics 365.
- User_authenticatedID: ID de utilizador do Dynamics 365.
- Application_version: Versão da aplicação, por exemplo, 9.2.24045.00212.
- Client_Type: Versão do sistema operativo, como iOS ou Android.
Cenários de exemplo
Falhas de sincronização offline por código de erro
Esta consulta permite que veja os tipos de falhas que os trabalhadores de primeira linha estão a encontrar quando uma sincronização falha. Algumas falhas são esperadas, como se a aplicação móvel for fechada durante a sincronização ou se a rede se desligar 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ódigos 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
Esta consulta permite-lhe avaliar que tabelas estão a contribuir com a maioria dos registos para uma sincronização. Com estes dados, pode tentar otimizar o seu perfil offline ainda mais para reduzir registos ou dados dentro de 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 da sincronização por modo de sincronização
Esta consulta permite-lhe avaliar a duração média da sincronização para os utilizadores na 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 de sincronização por utilizador
Esta consulta fornece uma vista da sincronização por utilizador, incluindo a data da última sincronização, o último erro, a duração da sincronização e os registos 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
Utilizadores por tipo de dispositivo e versão da aplicação
Esta consulta fornece mais informações sobre os utilizadores na sua organização que estão a aceder à aplicação móvel no respetivo 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 da aplicação ou do utilizador. Consulte Códigos de erro do serviço Web. |
-2146864606 | CONFIG_ERROR | Erro de configuração da aplicação ou do utilizador. Consulte Códigos de erro do serviço Web. |
-2146864607 | CONFIG_ERROR | Erro de configuração da aplicação ou do utilizador. Consulte Códigos de erro do serviço Web. |
-2146864608 | CONFIG_ERROR | Erro de configuração da aplicação ou do utilizador. Consulte Códigos de erro do serviço Web. |
-2146869250 | CONFIG_ERROR | Erro de configuração da aplicação ou do utilizador. Consulte Códigos de erro do serviço Web. |
-2147015328 | ACCESS_ERROR | Erro de configuração da aplicação ou do utilizador. Consulte Códigos de erro do serviço Web. |
-2147088248 | CONFIG_ERROR | Erro de configuração da aplicação ou do utilizador. 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 da aplicação ou do utilizador. Consulte Códigos de erro do serviço Web. |
-2147167669 | ACCESS_ERROR | Erro de configuração da aplicação ou do utilizador. Consulte Códigos de erro do serviço Web. |
-2147180269 | ACCESS_ERROR | Erro de configuração da aplicação ou do utilizador. Consulte Códigos de erro do serviço Web. |
-2147180284 | ACCESS_ERROR | Erro de configuração da aplicação ou do utilizador. Consulte Códigos de erro do serviço Web. |
-2147187375 | ERRO | Erro de configuração da aplicação ou do utilizador. Consulte Códigos de erro do serviço Web. |
-2147187388 | ERRO | Erro de configuração da aplicação ou do utilizador. Consulte Códigos de erro do serviço Web. |
-2147187389 | ERRO | Erro de configuração da aplicação ou do utilizador. Consulte Códigos de erro do serviço Web. |
-2147204270 | ERRO | Erro de configuração da aplicação ou do utilizador. Consulte Códigos de erro do serviço Web. |
-2147204339 | ERRO | Erro de configuração da aplicação ou do utilizador. Consulte Códigos de erro do serviço Web. |
-2147204784 | ERRO | Erro de configuração da aplicação ou do utilizador. Consulte Códigos de erro do serviço Web. |
-2147209463 | ACCESS_ERROR | Erro de configuração da aplicação ou do utilizador. 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 da aplicação ou do utilizador. 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 da aplicação ou do utilizador. 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 | Tempo limite do SQL do Dataverse. |
2003 | DATABASE_ERROR | Erro na base de dados. |
2004 | NETWORK_ERROR | Erro de rede. |
2005 | SERVER_ERROR | Erro de 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 da aplicação. |
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. |