เหตุการณ์การวัดและส่งข้อมูลทางไกลสำหรับการซิงโครไนซ์และการดำเนินการของแอปสำหรับอุปกรณ์เคลื่อนที่
ข้อมูลแอปพลิเคชันสำหรับอุปกรณ์เคลื่อน Power Apps ที่เกี่ยวข้องกับเหตุการณ์การซิงโครไนซ์แบบออฟไลน์พร้อมใช้งานสำหรับแอปแบบจำลองและแอปพื้นที่ทำงาน ข้อมูลนี้สามารถใช้เพื่อประเมินสถานภาพและประสิทธิภาพของเหตุการณ์การซิงค์แบบออฟไลน์สำหรับองค์กรของคุณ
ข้อมูลนี้จะเข้าสู่ตาราง Power Apps>การซิงโครไนซ์แอปสำหรับอุปกรณ์เคลื่อนที่และตารางการดำเนินการใน Application Insights รายการข้อมูลจะถูกบันทึกไว้เมื่อผู้ใช้เข้าถึงแอปสำหรับอุปกรณ์เคลื่อนที่ Power Apps ซึ่งกำหนดค่าไว้สำหรับโหมดออฟไลน์ ข้อมูลเพิ่มเติมที่เกี่ยวข้องกับเหตุการณ์ความล้มเหลวในแอปแบบจำลองสามารถดูได้ผ่านทาง Power Apps>UCI
คำจำกัดความการซิงโครไนซ์แอปสำหรับอุปกรณ์เคลื่อนที่และเหตุการณ์การดำเนินการ
- id: รหัสเหตุการณ์
- target: ชื่อของสถานการณ์ที่ติดตามโดยเหตุการณ์
- type: ตารางที่มาของเหตุการณ์
- name: ชื่อของสถานการณ์ที่ติดตามโดยเหตุการณ์
- duration: ระยะเวลาของสถานการณ์เป็นมิลลิวินาที ระยะเวลาอาจมีระยะเวลานานเมื่อแอปไม่ได้ใช้งาน
- operation_Id: จัดเก็บรหัสเฉพาะสำหรับเซสชัน
- operation_ParentId: รหัสเฉพาะสำหรับสถานการณ์ที่ติดตามโดยเหตุการณ์
- user_Id: รหัสผู้ใช้ Microsoft Entra
- 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: เวอร์ชันของแอปแบบเนทีฟ ตามที่เห็นใน App Store
- ActiveDuration: ระยะเวลาของสถานการณ์เป็นมิลลิวินาทีที่รวมถึงเวลาในขณะที่แอปทำงานอยู่เท่านั้น
- DeviceInfo_Id: รหัสเฉพาะของอุปกรณ์
- DeviceInfo_model: รุ่นอุปกรณ์ (เช่น iPhone 13)
- DeviceInfo_make: ยี่ห้ออุปกรณ์ (เช่น Apple)
- DeviceInfo_OsName: ระบบปฏิบัติการของอุปกรณ์ (เช่น Android)
- DeviceInfo_OsVersion: เวอร์ชันของระบบปฏิบัติการ (เช่น Android 13)
- Loc_country: ต้นกำเนิดของอุปกรณ์การวัดและส่งข้อมูลทางไกล
- eventContext: มีคุณสมบัติต่อไปนี้:
- CurrentSyncId: รหัสของการซิงค์ที่สำเร็จ รีเซ็ตหลังจากการซิงค์สำเร็จแต่ละครั้ง (ระบบจะไม่รีเซ็ตหลังจากเกิดข้อผิดพลาด)
- CurrentActivityId: รหัสของการซิงค์ผ่าน รีเซ็ตหลังจากการซิงค์แต่ละครั้ง
- entityName: ชื่อของตารางในเหตุการณ์การดาวน์โหลดข้อมูล
- ProfileId: รหัสของโปรไฟล์ออฟไลน์ที่กำหนดค่าไว้สำหรับแอปและผู้ใช้
- RecordCount: จำนวนเรกคอร์ดที่ดาวน์โหลด
- ResponseSize: ขนาดข้อมูลเพย์โหลดขาเข้าตามที่รายงานโดย HTTPClient (ขนาดที่บีบอัด)
- ContentLength: ขนาดข้อมูลเพย์โหลดขาเข้าตามที่รายงานโดย HTTPClient (ขนาดที่บีบอัด)
เหตุการณ์ความล้มเหลวของส่วนติดต่อไคลเอ็นต์แบบรวม
- timestamp [UTC]: เมื่อเหตุการณ์เกิดขึ้น
- problemId: "uci_trace" หรือ "uciMonitorFailure" (ที่มาของข้อมูล)
- type: "uci_trace" หรือ "uciMonitorFailure" (ที่มาของข้อมูล)
- outType: "uci_trace" หรือ "uciMonitorFailure" (ที่มาของข้อมูล)
- outerMessage: ข้อความแสดงข้อผิดพลาด
- itemType: "ข้อยกเว้น"
- CustomDimensions:
- eventContext: รายละเอียดเพิ่มเติมที่เกี่ยวข้องกับข้อผิดพลาด
- ServerConnectivityState: ผู้ใช้อยู่ในโหมดออฟไลน์หรือไม่ (ออฟไลน์/ออนไลน์)
- NetworkConnectivityState: ผู้ใช้มีการเชื่อมต่ออินเทอร์เน็ตหรือไม่ โปรดทราบว่าผู้ใช้สามารถอยู่ในโหมดออฟไลน์ แต่มีการเชื่อมต่ออินเทอร์เน็ตได้
- IsOfflineByDefaultApp: เมื่อเป็นเท็จ แสดงว่าคุณลักษณะ ทำงานในโหมดออฟไลน์ เปิดอยู่ เมื่อเป็นจริง หมายความว่า ออฟไลน์ก่อน เปิดอยู่
- callStack: โค้ดการเขียนโปรแกรมที่เกิดข้อผิดพลาด
- hostSubType: "PowerApps-Player-iOS-fieldservice"
- hostType: "MobileApplication"
- Operation_ID: การเรียงต่อกันของสตริง sessionID ตามด้วย '_' และ ID สหสัมพันธ์ภายนอก เช่น e11e8465-bc8f-4319-b64a-9c1e42453148_0da90a33-ad68-4a4e-bd45-5728d5da719a
- Operation_ParentID: รหัสกิจกรรมที่เกี่ยวข้องกับข้อผิดพลาด
- SessionId: รหัสเซสชันของข้อผิดพลาด
- UserId: รหัสผู้ใช้ Dynamics 365
- User_authenticatedID: รหัสผู้ใช้ Dynamics 365
- 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 | ข้อผิดพลาดในการกำหนดค่าแอปหรือผู้ใช้ ดูที่ รหัสข้อผิดพลาดของบริการเว็บ |
-2146864606 | CONFIG_ERROR | ข้อผิดพลาดในการกำหนดค่าแอปหรือผู้ใช้ ดูที่ รหัสข้อผิดพลาดของบริการเว็บ |
-2146864607 | CONFIG_ERROR | ข้อผิดพลาดในการกำหนดค่าแอปหรือผู้ใช้ ดูที่ รหัสข้อผิดพลาดของบริการเว็บ |
-2146864608 | CONFIG_ERROR | ข้อผิดพลาดในการกำหนดค่าแอปหรือผู้ใช้ ดูที่ รหัสข้อผิดพลาดของบริการเว็บ |
-2146869250 | CONFIG_ERROR | ข้อผิดพลาดในการกำหนดค่าแอปหรือผู้ใช้ ดูที่ รหัสข้อผิดพลาดของบริการเว็บ |
-2147015328 | ACCESS_ERROR | ข้อผิดพลาดในการกำหนดค่าแอปหรือผู้ใช้ ดูที่ รหัสข้อผิดพลาดของบริการเว็บ |
-2147088248 | CONFIG_ERROR | ข้อผิดพลาดในการกำหนดค่าแอปหรือผู้ใช้ ดูที่ รหัสข้อผิดพลาดของบริการเว็บ |
-2147155198 | ข้อผิดพลาด | สำหรับรหัสข้อผิดพลาดที่ขึ้นต้นด้วย –214 โปรดดู รหัสข้อผิดพลาดของบริการเว็บ |
-2147155198 | ACCESS_ERROR | ข้อผิดพลาดในการกำหนดค่าแอปหรือผู้ใช้ ดูที่ รหัสข้อผิดพลาดของบริการเว็บ |
-2147167669 | ACCESS_ERROR | ข้อผิดพลาดในการกำหนดค่าแอปหรือผู้ใช้ ดูที่ รหัสข้อผิดพลาดของบริการเว็บ |
-2147180269 | ACCESS_ERROR | ข้อผิดพลาดในการกำหนดค่าแอปหรือผู้ใช้ ดูที่ รหัสข้อผิดพลาดของบริการเว็บ |
-2147180284 | ACCESS_ERROR | ข้อผิดพลาดในการกำหนดค่าแอปหรือผู้ใช้ ดูที่ รหัสข้อผิดพลาดของบริการเว็บ |
-2147187375 | ข้อผิดพลาด | ข้อผิดพลาดในการกำหนดค่าแอปหรือผู้ใช้ ดูที่ รหัสข้อผิดพลาดของบริการเว็บ |
-2147187388 | ข้อผิดพลาด | ข้อผิดพลาดในการกำหนดค่าแอปหรือผู้ใช้ ดูที่ รหัสข้อผิดพลาดของบริการเว็บ |
-2147187389 | ข้อผิดพลาด | ข้อผิดพลาดในการกำหนดค่าแอปหรือผู้ใช้ ดูที่ รหัสข้อผิดพลาดของบริการเว็บ |
-2147204270 | ข้อผิดพลาด | ข้อผิดพลาดในการกำหนดค่าแอปหรือผู้ใช้ ดูที่ รหัสข้อผิดพลาดของบริการเว็บ |
-2147204339 | ข้อผิดพลาด | ข้อผิดพลาดในการกำหนดค่าแอปหรือผู้ใช้ ดูที่ รหัสข้อผิดพลาดของบริการเว็บ |
-2147204784 | ข้อผิดพลาด | ข้อผิดพลาดในการกำหนดค่าแอปหรือผู้ใช้ ดูที่ รหัสข้อผิดพลาดของบริการเว็บ |
-2147209463 | ACCESS_ERROR | ข้อผิดพลาดในการกำหนดค่าแอปหรือผู้ใช้ ดูที่ รหัสข้อผิดพลาดของบริการเว็บ |
-2147217124 | ข้อผิดพลาด | สำหรับรหัสข้อผิดพลาดที่ขึ้นต้นด้วย –214 โปรดดู รหัสข้อผิดพลาดของบริการเว็บ |
-2147220884 | ข้อผิดพลาด | สำหรับรหัสข้อผิดพลาดที่ขึ้นต้นด้วย –214 โปรดดู รหัสข้อผิดพลาดของบริการเว็บ |
-2147220955 | ACCESS_ERROR | ข้อผิดพลาดในการกำหนดค่าแอปหรือผู้ใช้ ดูที่ รหัสข้อผิดพลาดของบริการเว็บ |
-2147220956 | EXTERNAL_ERROR | สำหรับรหัสข้อผิดพลาดที่ขึ้นต้นด้วย –214 โปรดดู รหัสข้อผิดพลาดของบริการเว็บ |
-2147220960 | ACCESS_ERROR | ข้อผิดพลาดในการกำหนดค่าแอปหรือผู้ใช้ ดูที่ รหัสข้อผิดพลาดของบริการเว็บ |
-2147220970 | ข้อผิดพลาด | สำหรับรหัสข้อผิดพลาดที่ขึ้นต้นด้วย –214 โปรดดู รหัสข้อผิดพลาดของบริการเว็บ |
-2147220989 | ข้อผิดพลาด | สำหรับรหัสข้อผิดพลาดที่ขึ้นต้นด้วย –214 โปรดดู รหัสข้อผิดพลาดของบริการเว็บ |
-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 | ข้อผิดพลาดการกำหนดค่าโปรไฟล์ออฟไลน์ |