ستاتسد

تشتمل وحدة 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/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/jni packages/modules/StatsD/apex/framework/jni
  • cts/hostsidetests/StatsDpackages/modules/StatsD/tests

أوامر عينة نقل التصحيح

قم بتطبيق التغييرات على الفروع التالية:

  • goog/mainline-prod
  • goog/master
  • goog/\*-plus-aosp
  • aosp/master

يجب الاحتفاظ بمحفوظات الملفات الموجودة في Statsd.

تنسيق الوحدة

وحدة statsd ( com.android.os.statsd ) بتنسيق APEX ومتاحة للأجهزة التي تعمل بنظام Android 11 أو أعلى.

تبعيات الوحدة النمطية

تقدم الوحدة النمطية @hide مجموعة منhide APIs لتسجيل الأحداث من النظام. بالنسبة إلى كود Java ، يتم إعادة هيكلة معظم واجهات برمجة التطبيقات @hide ليتم بناؤها على مجموعة أصغر من الأساليب الموسومة بعلامات @SystemApi ، مع بعض التعليمات البرمجية اللاصقة الصغيرة التي تم إنشاؤها. بالنسبة للكود الأصلي ، يتم إعادة هيكلة الوظائف الأصلية الحالية لتكون واجهات برمجة تطبيقات VNDK C الرسمية ، مع إنشاء صمغ.

التخصيص

لا تدعم وحدة Statsd التخصيص.

اختبارات

تتحقق مجموعة اختبار توافق Android (CTS) من وظائف statsd والذرات التي تعتمد عليها إدارة الإصدار.