دراسات حالة

تقدّم Datadog ملايين الإحصاءات التفصيلية حول الأداء باستخدام ProfilingManager

قراءة لمدة 4 دقائق

من المعروف أنّ عمليات تراجع الأداء يصعب إعادة إنتاجها، ما يجعلها تشكّل عائقًا كبيرًا أمام مطوّري الأجهزة الجوّالة. على الرغم من أنّ الإشارات، مثل معدّلات ANR، تشير إلى المشاكل التي تحدث في مرحلة الإصدار العلني، فإنّ تحديد سطر الرمز البرمجي الذي أدّى إلى مشكلة في الأداء كان يتطلّب في السابق إعادة إنتاج شاملة يدويًا أو تجربة تخمينية بطريقة التجربة والخطأ.

تعاونت Datadog مع Google للتخفيف من هذه المشكلة من خلال دمج ProfilingManager API (المتاح على أجهزة Android 15 والإصدارات الأحدث) في منصّتَي Real User Monitoring (RUM) وContinuous Profiling. يغيّر هذا التكامل سير عمل تصحيح الأخطاء، ما يسمح للمطوّرين بتجاوز الأعراض السطحية والتمكّن من رصد سبب حدوث عائق في الأداء.

من خلال الاستفادة من واجهة برمجة التطبيقات هذه على مستوى النظام، تعالج Datadog الآن ملايين ملفات تعريف الإنتاج أسبوعيًا على مستوى العالم وفقًا لبيانات Datadog الداخلية لشهر يونيو 2026. ويوفّر ذلك لفرق الهندسة مستوى جديدًا من إمكانية الاطّلاع على الأداء في العالم الحقيقي، مع الحفاظ على حمل منخفض لوقت التشغيل لمراقبة الأداء على نطاق الإنتاج.

تأثير ProfilingManager

‫ProfilingManager هي خدمة تابعة لنظام التشغيل تم طرحها في Android 15 وتسمح للتطبيقات بجمع بيانات الأداء آليًا، مثل عيّنات حزمة التنفيذ وعمليات تتبُّع الحقول ولقطات لأجزاء من الذاكرة، مباشرةً من بيئات التشغيل الفعلي. تغيّر هذه الإمكانية النموذج الهندسي من إعادة الإنتاج اليدوية التفاعلية إلى التحليل المسبق في الحقل.

AANDDM_DataDog_Quote_01.png

على سبيل المثال، استخدم أحد تطبيقات الاتصال من Google عمليات تتبُّع الحقول للتحقيق في سبب بطء أوقات التشغيل على البارد على الأجهزة الأحدث والأكثر فعالية. من خلال التعرّف على عمليات التتبُّع التي تم جمعها في الحقل ومقارنتها بين أنواع الأجهزة المختلفة، اكتشف المهندس مشكلة خفية في الجدولة: كان يتم تسخين خدمة تحويل النص إلى كلام في الخلفية بشكل غير ضروري أثناء بدء تشغيل التطبيق. كشفت عمليات التتبُّع أنّ هذه العملية في الخلفية كانت تستحوذ على أعلى أداء لوحدة المعالجة المركزية (CPU) الكبيرة في الجهاز، ما أجبر سلسلة التعليمات الرئيسية للتطبيق على الانتظار أثناء عملية التسخين.

حلّ تحدّي إمكانية الاطّلاع على الرموز البرمجية في Android

قبل تنفيذ ProfilingManager، ركّزت ميزة Real User Monitoring (RUM) من Datadog على حالة التطبيق العامة والبيانات الوصفية على مستوى الجلسة لتقييم رحلة المستخدم. كان بإمكان الفرق الهندسية مراقبة إشارات أداء Android، مثل وقت العرض الأولي ومعدّلات ANR وحِمل وحدة المعالجة المركزية (CPU) والإطارات المتوقفة. وامتدّت هذه الإحصاءات لتشمل التفاعلات الدقيقة، مثل وقت استجابة الشبكة وأحداث اللمس وحالات تعليق سلسلة التعليمات الرئيسية. ومع ذلك، على الرغم من أنّ هذه البيانات كانت تسلّط الضوء بفعالية على عوائق الأداء التي تظهر في الحقل، فإنّها لم تقدّم مسارًا واضحًا لتحديد السبب الجذري لهذه الأعطال.

AANDDM_DataDog_Quote_02.png

لمعالجة هذه المشكلة، احتاجت Datadog إلى محرّك إنشاء ملفات تعريف قادر على التقاط عمليات تتبُّع Android مباشرةً من الأجهزة في مرحلة الإنتاج مع الحدّ الأدنى من التأثير في الأداء. بعد تقييم الأساليب البديلة، مثل كتابة معالج عمليات التتبُّع الخاص بهم باستخدام Android Debug APIs، اختار الفريق ProfilingManager لأنّه الحلّ الأفضل أداءً من بين خيارات إنشاء ملفات التعريف التي قيّمها، كما أنّه ينقل عبء قرارات أخذ العيّنات إلى نظام التشغيل.

تتوافق ProfilingManager مع مجموعة كبيرة من طرق الجمع، بما في ذلك عمليات تتبُّع وحدة المعالجة المركزية (CPU) وأخذ عيّنات من حزمة التنفيذ وتحليل الذاكرة من خلال لقطات لأجزاء من ذاكرة Java ولقطات لعناصر متعدّدة أصلية. ويسمح ذلك للمطوّرين بإنشاء ملفات تعريف لإصدارات الإنتاج وتحميل ملفات التتبُّع إلى وحدة تخزين خارجية ومراجعتها في واجهة مستخدم محلّل عمليات تتبُّع Perfetto. بصفتها مزوّد برامج كخدمة (SaaS)، تحمّل Datadog ملفات التعريف هذه التي يتم جمعها من خلال حزمة SDK وتعرضها وتحلّلها، ما يوفّر عرضًا موحّدًا لحالة التطبيق. 

من خلال تجميع البيانات الوصفية عالية الدقة ضمن واجهة برمجة تطبيقات موحّدة لإمكانية تتبّع البيانات، تتيح ProfilingManager لـ Datadog وعملائها رصد عمليات تراجع أداء Android المعقّدة والتحقيق فيها ومعالجتها بشكل استباقي من خلال مزايا فنية رئيسية:

  • بيانات تشخيص دقيقة للجلسة: تحسّن ProfilingManager إمكانية تصحيح الأخطاء من خلال تقديم بيانات تتبُّع مباشرةً على مستوى نظام التشغيل، ما يحلّ تحديات إمكانية الاطّلاع والمواءمة التي تتسم بها عادةً عمليات التسجيل المخصّصة باستخدام خدمات النظام. للتعمّق أكثر، يمكن للمطوّرين تنزيل عمليات التتبُّع هذه من Datadog للتحقيق فيها بشكل أكبر في أدوات العرض، مثل واجهة مستخدم Perfetto.
  • مشغّلات البيانات الوصفية الآلية:  من خلال الاستفادة من أحداث النظام الأصلية لبدء تسجيل عمليات التتبُّع في نقاط التحسين الرئيسية، تقلّل Datadog من الحاجة إلى إنشاء منطق جمع مخصّص. على الرغم من أنّ عملية الطرح الأولية تركّز على الإشارة APP_FULLY_DRAWN، هناك بالفعل خطط لتوسيع إمكانية تتبّع البيانات هذه لتشمل مشغّلات ANR و OOM و COLD_START.
  • لقطات استباقية لعمليات التتبُّع:  من خلال التفاعل مباشرةً مع خدمة Perfetto على مستوى النظام (traced)، تستخدم ProfilingManager نموذج تسجيل استباقي في الخلفية مصمّمًا لرصد المشاكل غير المتوقّعة. يضمن ذلك حصول المطوّرين على عرض مرئي دقيق للأحداث التي أدّت إلى حدوث خلل في الأداء، ما يوفّر مستوى من الإحصاءات يتجاوز ما يمكن تحقيقه من خلال القياس اليدوي.
  • رصد العوائق على نطاق واسع: يمكن لـ Datadog تجميع البيانات الوصفية من قاعدة عملاء Datadog العالمية لرصد عمليات التراجع التي لا تظهر إلا في إعدادات الأجهزة الفريدة وبيئات الشبكات المتغيّرة.
  • ثبات الموارد الذي يفرضه النظام: تستفيد واجهة برمجة التطبيقات من جمع عمليات تتبُّع العيّنات لضمان عدم ملاحظة التأثيرات في الأداء وتجربة المستخدم.
  • عناصر التحكّم في البيانات على الجهاز فقط: تعمل ProfilingManager على فلترة المعلومات غير ذات الصلة من العمليات الأخرى على الجهاز قبل تسليم ملف التعريف إلى التطبيق. ويقلّل ذلك من أحجام الملفات ويضمن تقديم البيانات ذات الصلة فقط بعمليات التطبيق.

معالجة ملايين ملفات التعريف أسبوعيًا لتحسين التطبيقات في العالم الحقيقي

datadog-profiling-blogpost-final.png
مثال على وقت قياس العرض الأولي في Datadog مع أخذ عيّنات من تتبُّع تسلسل استدعاء الدوال الذي يتم تشغيله بواسطة ProfilingManager

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

يعمل الفريق على إنشاء ملفات تعريف لتطبيق Android الأصلي الخاص بـ Datadog وعدد من تطبيقات المستخدمين الأوائل منذ أشهر، ويجمع ملايين ملفات التعريف لضمان تجربة إطلاق سريعة وخالية من الأخطاء وتحسين خوارزميات رصد الأداء. اليوم، يتم توسيع نطاق التكامل في مرحلة الإنتاج بسلاسة على مجموعة متنوعة من أجهزة Android. 

الخاتمة

من خلال دمج ProfilingManager API من Android، نجحت Datadog في سدّ فجوة إمكانية الاطّلاع بين أنظمة الخلفية وتطبيقات الأجهزة الجوّالة لعملائها. من خلال معالجة ملايين ملفات التعريف أسبوعيًا مع الحدّ الأدنى من الحمل على الجهاز، تزوّد Datadog مطوّري تطبيقات Android بالإحصاءات على مستوى الرموز البرمجية اللازمة لتشخيص أخطاء الأداء المعقّدة على الفور، ما يساعد المطوّرين في إنشاء تطبيقات أكثر سلاسة وتحسين إشارات أداء تطبيقاتهم في متجر Google Play. لدمج ProfilingManager API مباشرةً في إطار عمل إمكانية مراقبة الأداء، اطّلِع على الوثائق.

في المستقبل، تهدف Datadog إلى جعل بيانات إنشاء ملفات تعريف Android إدخالاً أساسيًا لوكلاء الترميز لحلّ عوائق الأداء بشكل مستقل، ما يؤدي إلى إغلاق حلقة الملاحظات بين الرصد والمعالجة. تعمل Datadog على إتاحة ميزة إنشاء ملفات تعريف Android على نطاق واسع للمطوّرين.

لبدء استخدام ميزة مراقبة المستخدمين الحقيقيين في Datadog التي يتم تشغيلها بواسطة ProfilingManager، انتقِل إلى Datadog Mobile Real User Monitoring.

من تأليف:
متابعة القراءة