أحداث قياس تتبع الاستخدام لمزامنة تطبيق الأجهزة المحمولة والإجراءات

تتوفر بيانات تطبيق الأجهزة المحمولة Power Apps المتعلقة بأحداث المزامنة في الوضع غير متصل للتطبيقات التي تستند إلى النموذج وتطبيقات اللوحة. يمكن استخدام هذه البيانات لتقييم سلامة أحداث المزامنة دون اتصال لمؤسستك وأدائها.

تنتقل هذه البيانات إلى جدول Power Apps>مزامنة تطبيق الأجهزة المحمولة والإجراءات‬ في Application Insights. يتم تسجيل إدخال عندما يصل مستخدم إلى تطبيق الأجهزة المحمولة Power Apps، الذي يتم تكوينه لوضع دون اتصال. يتوفر المزيد من البيانات المتعلقة بأحداث الفشل في التطبيقات التي تستند إلى النموذج من خلال Power Apps>UCI.

للحصول على أمثلة إضافية للاستعلام وعينة لوحة معلومات، تفضل بزيارة عينة لوحة معلومات قياس تتبع الاستخدام لاستخدام ملف تعريف العمل دون اتصال لتطبيق Field Service للأجهزة المحمولة.

تعريفات أحدات مزامنة تطبيق الأجهزة المحمولة والإجراءات

  • المعرف: معرّف الحدث.
  • الهدف: اسم السيناريو الذي يتعقبه الحدث.
  • النوع: الجدول المصدر للحدث.
  • الاسم: اسم السيناريو الذي يتعقبه الحدث.
  • المدة: مدة السيناريو بالمللي ثانية. قد تتضمن المدة فترات زمنية طويلة عندما يكون التطبيق غير نشط.
  • 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: إصدار التطبيق الأصلي، كما هو موضح في متجر التطبيقات.
    • 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" (من أين جاءت البيانات.)
  • النوع: "uci_trace" أو "uciMonitorFailure" (من أين جاءت البيانات.)
  • outType: "uci_trace" أو "uciMonitorFailure" (من أين جاءت البيانات.)
  • outerMessage: رسالة الخطأ.
  • itemType: "استثناء"
  • CustomDimensions:
    • eventContext: مزيد من التفاصيل المتعلقة بالخطأ.
    • ServerConnectivityState: هل المستخدم في وضع عدم الاتصال؟ (الاتصال أو من دون اتصال)
    • NetworkConnectivityState: هل لدى المستخدم اتصال بالإنترنت؟ لاحظ أنه يمكن للمستخدم أن يكون في وضع دون اتصال، ولكن لديه اتصال بالإنترنت.
    • IsOfflineByDefaultApp: عندما تكون خاطئة، فهذا يعني أن ميزة العمل في وضع قيد التشغيل. عندما تكون القيمة صحيحة، فهذا يعني أنه يتم تشغيل دون اتصال أولاً .
    • callStack: رمز البرمجة حيث حدث الخطأ.
    • hostSubType: "PowerApps-Player-iOS-fieldservice"
    • نوع المضيف: "MobileApplication"
  • Operation_ID: سلسلة سلسلة لـ sessionID متبوعة بـ "_" ومعرف الارتباط الخارجي، على سبيل المثال، 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 خطأ خطأ داخلي.
1 خطأ خطأ غير معروف.
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 خطأ تكوين ملف تعريف دون اتصال.