تتضمن وحدة Statsd statsd، وهي خدمة أصلية تعمل في الخلفية لجمع المقاييس، وخدمة Java StatsCompanionService
، التي تعمل في عملية النظام وتربط statsd وJava. هذه الوحدة قابلة للتحديث، مما يعني أنها يمكن أن تتلقى تحديثات للوظائف (مثل تحديثات المقاييس المستخدمة في جمع البيانات) خارج دورة إصدار Android العادية.
حدود الوحدة النمطية
Statsd هي نقطة الاتصال الأساسية بين النظام الأساسي وجمع بيانات سلامة الإطلاق. تتضمن وحدة statsd الكود التالي.
statsd
، الموجود فيframeworks/base/cmds/statsd
StatsCompanionService
، الموجود فيframeworks/base/services/core/java/com/android/server/stats/StatsCompanionService.java
مجموعة فرعية من هياكل منصة protobuf، وتقع بشكل أساسي في
frameworks/base/core/proto
باعتبارها خدمة أصلية، يمكن لـ statsd أن يتجاوز إطار العمل ويكتشف الأعطال في system_server
نفسه.
في Android 12، يتم نقل كود وحدة Statsd من frameworks/base/cmds/StatsD
و frameworks/base/apex/StatsD
و system/core/libstats
.
هيكل المشروع الجديد
-
system/core/libstats
→packages/modules/StatsD/lib/libstats
-
system/core/libstats/socket
→packages/modules/StatsD/lib/libstatssocket
-
system/core/libstats/pull
→packages/modules/StatsD/lib/libstatspull
-
-
frameworks/base/cmds/StatsD
→packages/modules/StatsD/bin
-
frameworks/base/apex/StatsD
→- نسخ المستوى الأعلى كما هو
- انقل
jni
إلىframework/jni
- انقل ملفات المستوى الأعلى إلى دليل
/apex
-
frameworks/base/apex/StatsD/\*
→packages/modules/StatsD/apex/\*
-
frameworks/base/apex/StatsD/jni
→packages/modules/StatsD/apex/framework/jni
-
-
cts/hostsidetests/StatsD
→packages/modules/StatsD/tests
أوامر عينة التصحيح
قم بتطبيق التغييرات على الفروع التالية:
-
goog/mainline-prod
-
goog/main
-
goog/\*-plus-aosp
-
aosp/main
يجب الحفاظ على محفوظات الملفات الموجودة داخل Statsd.
تنسيق الوحدة النمطية
وحدة statsd ( com.android.os.statsd
) بتنسيق APEX وهي متاحة للأجهزة التي تعمل بنظام Android 11 أو أعلى.
تبعيات الوحدة النمطية
تقدم وحدة Statsd مجموعة من @hide
APIs لتسجيل الأحداث من النظام. بالنسبة لتعليمات Java البرمجية، تتم إعادة هيكلة معظم واجهات برمجة التطبيقات @hide
ليتم إنشاؤها على مجموعة أصغر من الأساليب الموسومة @SystemApi
، مع بعض التعليمات البرمجية اللاصقة الصغيرة التي تم إنشاؤها. بالنسبة للتعليمات البرمجية الأصلية، تتم إعادة هيكلة الوظائف الأصلية الحالية لتكون واجهات برمجة التطبيقات VNDK C الرسمية، مع إنشاء صمغ.
التخصيص
وحدة Statsd لا تدعم التخصيص.
اختبارات
تتحقق مجموعة اختبار توافق Android (CTS) من وظائف statsd والذرات التي تعتمد عليها إدارة الإصدار.