تم وضع الإحصاءات

تشمل الوحدة التي تم الاستناد إليها الإحصاءات، وهي خدمة أصلية يتم تشغيلها في مقاييس جمع البيانات في الخلفية، وخدمة 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/libstatspackages/modules/StatsD/lib/libstats
    • system/core/libstats/socketpackages/modules/StatsD/lib/libstatssocket
    • system/core/libstats/pullpackages/modules/StatsD/lib/libstatspull
  • frameworks/base/cmds/StatsDpackages/modules/StatsD/bin
  • frameworks/base/apex/StatsD
    • نسخ المستوى الأعلى كما هو
    • نقل jni إلى framework/jni
    • نقل ملفات المستوى الأعلى إلى الدليل /apex
      • frameworks/base/apex/StatsD/\*packages/modules/StatsD/apex/\*
      • frameworks/base/apex/StatsD/jnipackages/modules/StatsD/apex/framework/jni
  • cts/hostsidetests/StatsDpackages/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 والعناصر التي تعتمد عليها إدارة الإصدارات.