モバイル アプリ同期とアクションの製品利用統計情報イベント
Power Apps オフライン同期イベントに関連するモバイル アプリケーション データが、モデル駆動型アプリとキャンバス アプリで利用できるようになりました。 このデータを使用して、組織のオフライン同期イベントの健全性とパフォーマンスを評価できます。
このデータは、 Power Apps>モバイル アプリの同期とアクション テーブルに入力されます Application Insights。 ユーザーが Power Apps オフライン モードに構成されたモバイル アプリにアクセスすると、エントリが記録されます。 モデル駆動型アプリのエラーイベントに関連する詳細なデータは、Power Apps>統一クライアント インターフェース を通じて入手できます。
モバイル アプリの同期とアクション イベントの定義
- id: イベント ID.
- ターゲット: イベントによって追跡されるシナリオの名前。
- type: イベントのソーステーブル。
- name: イベントが追跡するシナリオの名前。
- duration: シナリオの機関 (ミリ秒)。 期間には、アプリが非アクティブな長い期間が含まれる場合があります。
- operation_Id: セッションの一意の ID。
- operation_ParentId: イベントによって追跡されるシナリオの一意識別子。
- user_Id: Microsoft Entra ユーザー ID。
- application_Version: アプリのバージョン。
- customDimensions: 次の属性が含まれています。
- "EventName": イベントによって追跡されるシナリオの概要 (ScenarioEnd)。
- "ScenarioResult": 成功または失敗。
- ErrorCode: 同期失敗時に生成されるエラー コード。 詳細については、エラー コード マッピング テーブル を参照してください。
- ErrorMessage: 成功した場合は空、またはエラーを説明する文字列。
- FailureType: 同期失敗のタイプを定義します。
- LogLevel: イベントの深刻度または報告レベル。 有効な値は、info、error、warning、error、または verbose です。
- 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" (データの取得元)
- type: "uci_trace" または "uciMonitorFailure" (データの取得元)
- outType: "uci_trace" または "uciMonitorFailure" (データの取得元)
- outerMessage: エラー メッセージ。
- itemType: "例外"
- CustomDimensions:
- eventContext: エラーに関連する詳細情報。
- ServerConnectivityState: ユーザーがオフラインモードかどうか。 (オフライン/オンライン)
- NetworkConnectivityState: ユーザーはインターネットに接続していますか。 ユーザーはオフライン モードであっても、インターネットに接続できることに注意してください。
- IsOfflineByDefaultApp: false の場合、オフライン モードでの作業 機能がオンになっていることを意味します。 True の場合、オフライン ファースト がオンになっていることを意味します。
- callStack: エラーが発生したプログラミング コード。
- ホストサブタイプ: "PowerApps-プレイヤー-iOS-フィールドサービス"
- hostType: "MobileApplication"
- Operation_ID: sessionID の後に '_' と外部相関 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
エラー コード マッピング
エラー コード | エラーの種類 | Definition |
---|---|---|
-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 | エラー | 原因不明のエラーです。 |
2,000 | エラー | マップされていないエラー。 |
2002 | エラー | Dataverse SQL タイムアウト。 |
2003 | DATABASE_ERROR | データベース エラー。 |
2004 | NETWORK_ERROR | Network エラー。 |
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 | オフライン プロファイルの構成エラー。 |