نشرها: أليس يوان، مهندسة علاقات المطورين في Google، وأرتي أروتيونوف، مدير المنتج في Datadog، ونيكيتا أوجورودنيكوف، مهندس برمجيات الموظفين في Datadog
من الصعب تكرار تراجعات الأداء، مما يجعل التراجعات بمثابة عنق الزجاجة الهائل لمطوري الأجهزة المحمولة. على الرغم من أن إشارات مثل معدلات ANR تشير إلى المشكلات التي تحدث في الإنتاج، فإن تحديد السطر المحدد من التعليمات البرمجية الذي أدى إلى مشكلة الأداء قد استلزم تاريخيًا إعادة إنتاج يدوي شامل أو تجربة تخمينية للمحاولة والخطأ.
تعاونت Datadog مع Google للتخفيف من هذا الإحباط من خلال دمج ProfilingManager API (المتوفر على أجهزة Android 15+) في منصاتها لمراقبة المستخدم الحقيقي (RUM) والتوصيف المستمر. يعمل هذا التكامل على تحويل سير عمل تصحيح الأخطاء، مما يسمح للمطورين بالانتقال إلى ما هو أبعد من الأعراض على مستوى السطح ليتمكنوا من اكتشاف الأخطاء لماذا وراء اختناق الأداء.
من خلال الاستفادة من واجهة برمجة التطبيقات على مستوى النظام، تقوم Datadog الآن بمعالجة الملايين من ملفات تعريف الإنتاج أسبوعيًا في جميع أنحاء العالم وفقًا لبيانات Datadog الداخلية لشهر يونيو 2026. وهي توفر للفرق الهندسية مستوى جديدًا من الرؤية للأداء في العالم الحقيقي، كل ذلك مع الحفاظ على أعباء تشغيل منخفضة لمراقبة الأداء على مستوى الإنتاج.
تأثير ProfilingManager
ProfilingManager هي خدمة نظام تم تقديمها في Android 15 تتيح للتطبيقات جمع بيانات الأداء برمجيًا مثل عينات مكدس الاستدعاءات وتتبعات الحقول وتفريغ كومة الذاكرة مباشرة من بيئات الإنتاج. تعمل هذه الإمكانية على تحويل النموذج الهندسي من إعادة الإنتاج اليدوي التفاعلي إلى التحليل الميداني الاستباقي.

على سبيل المثال، استخدم أحد تطبيقات اتصالات Google تتبعات ميدانية للتحقيق في سبب بطء أوقات التشغيل الباردة على الأجهزة الأحدث والأكثر قوة. من خلال التعمق في الآثار التي تم جمعها ميدانيًا ومقارنة الآثار عبر أنواع مختلفة من الأجهزة، اكتشف المهندس مشكلة جدولة مخفية: تم تسخين خدمة تحويل النص إلى كلام في الخلفية بشكل غير ضروري أثناء بدء تشغيل التطبيق. وكشفت الآثار أن عملية الخلفية هذه كانت تحتكر نواة وحدة المعالجة المركزية الكبيرة الأعلى أداءً بالجهاز، مما أجبر الخيط الرئيسي للتطبيق على النوم أثناء حدوث التسخين المسبق.
حل تحدي الرؤية على مستوى كود Android
قبل تنفيذ ProfilingManager، ركزت مراقبة المستخدم الحقيقي (RUM) من Datadog على سلامة التطبيق عالية المستوى والقياس عن بعد على مستوى الجلسة لتقييم رحلة المستخدم. يمكن للفرق الهندسية مراقبة إشارات أداء Android مثل وقت العرض الأولي ومعدلات ANR وتحميل وحدة المعالجة المركزية والإطارات المجمدة. امتدت هذه الرؤى لتشمل التفاعلات الدقيقة، مثل زمن استجابة الشبكة، وأحداث اللمس، وتعليق سلسلة الرسائل الرئيسية. ومع ذلك، في حين أن هذه البيانات سلطت الضوء بشكل فعال على اختناقات الأداء التي ظهرت على السطح في هذا المجال، إلا أنها لم تقدم مسارًا واضحًا لتحديد السبب الجذري لهذه الإخفاقات.
لمعالجة هذه المشكلة، احتاجت Datadog إلى محرك ملفات تعريف قادر على التقاط آثار Android مباشرة من الأجهزة قيد الإنتاج بأقل تأثير على الأداء. بعد تقييم الأساليب البديلة، مثل كتابة معالج التتبع الخاص بهم باستخدام Android Debug APIs، اختار الفريق ProfilingManager لأنه الحل الأكثر أداءً لخيارات ملفات التعريف التي قاموا بتقييمها ويقوم بتفريغ قرارات أخذ العينات من نظام التشغيل.
يدعم ProfilingManager نطاقًا واسعًا من أساليب التجميع، بما في ذلك تتبعات وحدة المعالجة المركزية وأخذ عينات من مكدس الاستدعاءات وتحليل الذاكرة من خلال عمليات تفريغ كومة Java وملفات تعريف الكومة الأصلية. فهو يمكّن المطورين من إنشاء ملف تعريف لإصدارات الإنتاج وتحميل ملفات التتبع إلى وحدة تخزين خارجية ومراجعتها في واجهة مستخدم محلل التتبع Perfetto. بصفته مزود SaaS، يقوم Datadog بتحميل وتصور وتحليل ملفات التعريف هذه التي تم جمعها عبر SDK الخاص به، مما يوفر رؤية موحدة لسلامة التطبيق.
من خلال مركزية القياس عن بعد عالي الدقة ضمن واجهة برمجة تطبيقات موحدة لقابلية المراقبة، يعمل ProfilingManager على تمكين Datadog وعملائه من مراقبة تراجعات أداء Android المعقدة والتحقيق فيها ومعالجتها بشكل استباقي من خلال المزايا التقنية الرئيسية:
- تشخيص الجلسة التفصيلية: يعمل ProfilingManager على تحسين إمكانية تصحيح الأخطاء من خلال تقديم بيانات التتبع المباشرة على مستوى نظام التشغيل، والتغلب على تحديات الرؤية والمحاذاة النموذجية للتسجيل المخصص مع خدمات النظام. للتعمق أكثر، يمكن للمطورين تنزيل هذه الآثار من Datadog لإجراء مزيد من البحث في أدوات التصور مثل Perfetto UI.
- مشغلات القياس عن بعد الآلي: ومن خلال الاستفادة من أحداث النظام الأصلية لبدء تسجيلات التتبع في نقاط التحسين الرئيسية، تقلل Datadog الحاجة إلى إنشاء منطق تجميع مخصص. بينما يركز الطرح الأولي على إشارة APP_FULLY_DRAWN، هناك بالفعل خطط لتوسيع إمكانية المراقبة هذه لتشمل مشغلات ANR وOOM وCOLD_START.
- لقطات التتبع الاستباقية: من خلال التفاعل مباشرة مع خدمة Perfetto على مستوى النظام (المتتبعة)، يستخدم ProfilingManager نموذجًا استباقيًا لتسجيل الخلفية مصممًا لالتقاط المشكلات غير المتوقعة. ويضمن ذلك حصول المطورين على تصور دقيق للأحداث التي أدت إلى حدوث خلل في الأداء، مما يوفر مستوى من الرؤية يتجاوز ما هو ممكن من خلال الأجهزة اليدوية.
- الكشف عن الاختناق على نطاق واسع: إن Datadog قادر على تجميع القياس عن بعد عبر قاعدة عملاء Datadog العالمية للكشف عن التراجعات التي تظهر فقط في ظل تكوينات الأجهزة الفريدة وبيئات الشبكة المتغيرة.
- استقرار الموارد التي يفرضها النظام: تعمل واجهة برمجة التطبيقات (API) على تعزيز جمع تتبع العينات لضمان بقاء تأثيرات الأداء وتجربة المستخدم غير ملحوظة.
- عناصر التحكم في البيانات على الجهاز: يقوم ProfilingManager بتصفية المعلومات غير ذات الصلة من العمليات الأخرى على الجهاز قبل تسليم الملف الشخصي إلى التطبيق. يؤدي هذا إلى تقليل أحجام الملفات ويضمن توفير البيانات ذات الصلة بعمليات التطبيق فقط.
معالجة الملايين من الملفات الشخصية الأسبوعية لتحسين تطبيقات العالم الحقيقي

مثال على وقت Datadog لعرض القياس الأولي باستخدام
أخذ العينات المكدس مدعوم من ProfilingManager
يتطلب دمج واجهة برمجة التطبيقات (API) لملف التعريف على مستوى النظام في SDK للمراقبة العالمية حل تحديات البنية التحتية. نظرًا لأن ProfilingManager يُنشئ آثار أداء مفصلة للغاية، كان على فريق Datadog الهندسي إنشاء مسار قادر على تحليل ملفات التعريف هذه وتحليلها على جانب الخادم على نطاق واسع. بالإضافة إلى جمع الملفات الشخصية، تؤكد Datadog أيضًا على أهمية الموازنة بين تكرار أخذ العينات وجمع بيانات كافية لإنشاء رؤى مفيدة حول تطبيقك. يعتمد Datadog على تحديد المعدل المدمج في ProfilingManager كضمانة هامة للاستقرار، مما يمنع طلبات القياس عن بعد المفرطة من زيادة العبء على أجهزة المستخدم.
قام الفريق منذ عدة أشهر بتوصيف تطبيق Android الأصلي الخاص بـ Datadog وعدد من تطبيقات المستخدمين الأوائل، وجمع الملايين من الملفات الشخصية لضمان تجربة إطلاق سريعة وخالية من الأخطاء ولتحسين خوارزميات الكشف عن الأداء. واليوم، يتوسع تكامل الإنتاج بسلاسة عبر مجموعة متنوعة من أجهزة Android.
خاتمة
ومن خلال دمج واجهة برمجة تطبيقات ProfilingManager الخاصة بنظام Android، نجحت Datadog في سد فجوة الرؤية بين أنظمة الواجهة الخلفية وتطبيقات عملاء الأجهزة المحمولة لعملائها. من خلال معالجة ملايين الملفات الشخصية أسبوعيًا بحمل لا يُذكر على الجهاز، تزود Datadog مطوري Android بالرؤى على مستوى التعليمات البرمجية اللازمة لتشخيص أخطاء الأداء المعقدة على الفور، مما يساعد المطورين على إنشاء تطبيقات أكثر سلاسة وتحسين إشارات أداء تطبيقاتهم في متجر Play. لاعتماد ProfilingManager API مباشرةً في إطار عمل مراقبة الأداء لديك، راجع وثائقنا.
في المستقبل، تهدف Datadog إلى جعل بيانات ملفات تعريف Android مدخلاً من الدرجة الأولى لوكلاء البرمجة لحل اختناقات الأداء بشكل مستقل، وإغلاق حلقة التعليقات بين الاكتشاف والمعالجة. تعمل Datadog على جعل ملفات تعريف Android متاحة على نطاق واسع للمطورين.
للبدء في استخدام ميزة مراقبة المستخدم الحقيقي Datadog التي تدعمها ProfilingManager، تفضل بزيارة Datadog Mobile Real User Monitoring.

