ستاتسد

تتضمن وحدة 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/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 أو أعلى.

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

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

التخصيص

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

اختبارات

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