移动应用同步和操作的遥测事件

Power Apps 与离线同步事件相关的移动应用数据可用于模型驱动和画布应用。 此数据可用于评估您的组织的脱机同步事件的运行状况和性能。

此数据将进入 Power Apps>Mobile app synchronization and actions 表中 Application Insights。 在用户访问 Power Apps 移动应用(配置为脱机模式)时将记录条目。 通过 Power Apps>UCI,可以获得与模型驱动应用中的故障事件相关的更多数据。

移动应用同步和操作事件定义

  • id:事件 ID。
  • 目标:事件跟踪的场景的名称。
  • 类型:事件的源表。
  • 名称:事件跟踪的场景的名称。
  • 持续时间:以毫秒为单位的场景持续时间。 持续时间可能包括应用处于非活动状态的长时间。
  • operation_Id:会话的唯一标识符。
  • operation_ParentId:事件跟踪的场景的唯一标识符。
  • user_Id:Microsoft Entra 用户 ID。
  • application_Version:应用程序的版本。
  • customDimensions:包含以下属性:
    • “EventName”:由事件跟踪的场景的摘要 (ScenarioEnd)。
    • "ScenarioResult":成功或失败。
    • ErrorCode:同步失败时生成的错误代码。 在错误代码映射表中了解更多信息。
    • ErrorMessage:成功时为空,否则为描述错误的字符串。
    • FailureType:定义同步失败的类型。
    • LogLevel:事件的严重性或报告级别。 有效值包括信息错误警告错误冗长
    • DataSyncMode:用户遇到哪种类型的脱机同步。
      • DELTA_SYNC:自动增量同步。
      • GRID_SYNC:由网格视图上的刷新触发。
      • FIRST_SYNC:设备上的初始同步(或在注销/重新配置后)。
      • FORCED_SYNC:从“设备状态”页面按钮触发。
      • SINGLE_RECORD_SYNC: 由推送通知触发。
    • AppFlavor:安装在移动设备上的本机应用。 有效值为 FieldService 和 PowerApps。
    • AppInfo_Version:本机应用的版本,在应用商店中可以看到。
    • ActiveDuration:以毫秒为单位的场景持续时间,仅包括应用程序处于活动状态的时间。
    • DeviceInfo_Id:设备的唯一标识符。
    • DeviceInfo_model:设备型号(如 iPhone 13)。
    • DeviceInfo_make:设备制造商(如 Apple)。
    • DeviceInfo_OsName:设备操作系统(如 Android)。
    • DeviceInfo_OsVersion:操作系统版本(如 Android 13)。
    • Loc_country:遥测设备来源。
    • eventContext:包含以下属性:
      • CurrentSyncId:成功同步传递的 ID。 每次成功同步后复位。(出错后不会重置。)
      • CurrentActivityId:同步传递的 ID。 每次同步后重置。
      • entityName:数据下载事件中表的名称。
      • ProfileId:为应用和用户配置的脱机配置文件的 ID。
      • RecordCount:下载的记录数。
      • ResponseSize:HTTPClient 报告的传入负载数据大小(压缩大小)。
      • ContentLength:HTTPClient 报告的传入负载数据大小(压缩大小)。

统一客户端接口失败事件

  • 时间戳 [UTC]:事件发生的时间。
  • problemId:"uci_trace" 或 "uciMonitorFailure"(数据来自何处。)
  • 类型:"uci_trace" or "uciMonitorFailure"(数据来自何处。)
  • outType:"uci_trace" or "uciMonitorFailure"(数据来自何处。)
  • outerMessage:错误消息。
  • itemType:“exception”
  • CustomDimensions
    • eventContext:与错误相关的更多详细信息。
    • ServerConnectivityState:用户是否处于脱机模式? (脱机/联机)
    • NetworkConnectivityState:用户是否有互联网连接? 请注意,用户可以处于脱机模式,但具有 Internet 连接。
    • IsOfflineByDefaultApp:如果为 false,则表示在脱机模式下工作功能已打开。 为 true 时,表示脱机优先已打开。
    • callStack:出现错误的编程代码。
    • hostSubType:"PowerApps-Player-iOS-fieldservice"
    • hostType:"MobileApplication"
  • Operation_ID:session ID 的字符串串联,后跟 '_' 和外部相关 ID,例如,e11e8465-bc8f-4319-b64a-9c1e42453148_0da90a33-ad68-4a4e-bd45-5728d5da719a
  • Operation_ParentID:与错误相关的活动 ID。
  • SessionId:错误的会话 ID。
  • UserId:Dynamics 365 用户 ID。
  • User_authenticatedID:Dynamics 365 用户 ID。
  • Application_version:应用程序版本,例如,9.2.24045.00212
  • Client_Type:操作系统版本,例如 iOS 或 Android。

示例情形

脱机同步失败(按错误代码)

该查询允许您查看当同步失败时一线工作人员遇到的故障类型。 有些失败是例外,例如同步时关闭了移动应用程序,或者同步时网络断开并阻止同步完成。 错误代码映射表中显示了故障代码的定义。

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)

按表同步的平均记录数

此查询允许您评估哪些表为同步提供了最多的记录。使用这些数据,您可以尝试进一步优化您的脱机配置文件,以减少每个表中的记录或数据

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

按同步模式划分的平均同步持续时间

此查询允许您评估组织中用户的平均同步持续时间。

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

同步详细信息(按用户)

此查询提供每个用户的同步视图,包括上次同步日期、上次错误、同步持续时间以及同步的记录。

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

按设备类型和应用版本划分的用户

此查询提供有关组织中正在他们自己的设备型号上访问移动应用程序的用户的更多信息。

dependencies
| where name == "Offline.SyncDatabase"
| extend cd = parse_json(customDimensions)
| extend AppVersion = tostring(cd.AppInfo_Version)
| summarize dcount(user_Id) by AppVersion, client_Type

错误代码映射

错误代码 失败类型 定义
-2146864604 CONFIG_ERROR 应用程序或用户配置错误。 请参阅 Web 服务错误代码
-2146864606 CONFIG_ERROR 应用程序或用户配置错误。 请参阅 Web 服务错误代码
-2146864607 CONFIG_ERROR 应用程序或用户配置错误。 请参阅 Web 服务错误代码
-2146864608 CONFIG_ERROR 应用程序或用户配置错误。 请参阅 Web 服务错误代码
-2146869250 CONFIG_ERROR 应用程序或用户配置错误。 请参阅 Web 服务错误代码
-2147015328 ACCESS_ERROR 应用程序或用户配置错误。 请参阅 Web 服务错误代码
-2147088248 CONFIG_ERROR 应用程序或用户配置错误。 请参阅 Web 服务错误代码
-2147155198 错误 有关以–214 开头的错误代码,请参阅 Web 服务错误代码
-2147155198 ACCESS_ERROR 应用程序或用户配置错误。 请参阅 Web 服务错误代码
-2147167669 ACCESS_ERROR 应用程序或用户配置错误。 请参阅 Web 服务错误代码
-2147180269 ACCESS_ERROR 应用程序或用户配置错误。 请参阅 Web 服务错误代码
-2147180284 ACCESS_ERROR 应用程序或用户配置错误。 请参阅 Web 服务错误代码
-2147187375 错误 应用程序或用户配置错误。 请参阅 Web 服务错误代码
-2147187388 错误 应用程序或用户配置错误。 请参阅 Web 服务错误代码
-2147187389 错误 应用程序或用户配置错误。 请参阅 Web 服务错误代码
-2147204270 错误 应用程序或用户配置错误。 请参阅 Web 服务错误代码
-2147204339 错误 应用程序或用户配置错误。 请参阅 Web 服务错误代码
-2147204784 错误 应用程序或用户配置错误。 请参阅 Web 服务错误代码
-2147209463 ACCESS_ERROR 应用程序或用户配置错误。 请参阅 Web 服务错误代码
-2147217124 错误 有关以–214 开头的错误代码,请参阅 Web 服务错误代码
-2147220884 错误 有关以–214 开头的错误代码,请参阅 Web 服务错误代码
-2147220955 ACCESS_ERROR 应用程序或用户配置错误。 请参阅 Web 服务错误代码
-2147220956 EXTERNAL_ERROR 有关以–214 开头的错误代码,请参阅 Web 服务错误代码
-2147220960 ACCESS_ERROR 应用程序或用户配置错误。 请参阅 Web 服务错误代码
-2147220970 错误 有关以–214 开头的错误代码,请参阅 Web 服务错误代码
-2147220989 错误 有关以–214 开头的错误代码,请参阅 Web 服务错误代码
-50 错误 内部错误。
12 错误 未知错误。
2000 错误 未映射错误。
2002 错误 Dataverse SQL 超时。
2003 DATABASE_ERROR 数据库错误。
2004 NETWORK_ERROR 网络错误。
2005 SERVER_ERROR 服务器错误。
2006 AUTH_ERROR 身份验证错误。
2007 DEVICE_ERROR 磁盘已满错误。
2008 错误 内部错误。
2009 AUTH_ERROR 身份验证错误。
2011 CONFIG_ERROR 应用程序模块权限错误。
2016 CONFIG_ERROR 脱机配置错误。
2017 CONFIG_ERROR 脱机配置文件配置错误。
3000 EXPECTED_ERROR 同步内部事件。
3003 CONFIG_ERROR 脱机配置文件配置错误。