تشمل الوحدة التي تم الاستناد إليها الإحصاءات، وهي خدمة أصلية يتم تشغيلها في مقاييس جمع البيانات في الخلفية، وخدمة Java StatsCompanionService
التي تعمل في عملية النظام وتربط بين الإحصاءات وJava. يمكن تعديل هذه الوحدة،
ما يعني أنّه يمكنها تلقّي تعديلات على الوظائف (مثل تعديلات على المقاييس
المستخدَمة في جمع البيانات) خارج دورة إصدار Android العادية.
حدود الوحدة
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
نفسه.
في الإصدار 12 من نظام التشغيل Android، تم نقل رمز وحدة 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 أو الإصدارات الأحدث.
تبعيات الوحدة
تقدّم الوحدة الإحصائية مجموعة من واجهات برمجة تطبيقات @hide
لتسجيل الأحداث من النظام. بالنسبة إلى رمز Java، تتم إعادة هيكلة معظم واجهات برمجة التطبيقات @hide
لتكون مبنية على مجموعة أصغر من @SystemApi
الطرق المُشار إليها، مع تضمين بعض الرموز البرمجية المُنشأة
الصغيرة. بالنسبة إلى الرموز البرمجية الأصلية، تتم إعادة هيكلة الدوال البرمجية الأصلية الحالية
لتكون واجهات برمجة تطبيقات رسمية لـ VNDK C، مع إنشاء رمز ربط.
التخصيص
لا تتيح وحدة Statsd إمكانية التخصيص.
الاختبار
تتحقّق مجموعة أدوات اختبار التوافق مع Android (CTS) من وظيفة statsd والعناصر التي تعتمد عليها إدارة الإصدارات.