Statsd

ماژول Statsd شامل statsd، یک سرویس بومی است که در پس‌زمینه متریک‌ها را جمع‌آوری می‌کند، و سرویس جاوا StatsCompanionService ، که در فرآیند سیستم اجرا می‌شود و statsd و جاوا را پل می‌کند. این ماژول قابل به‌روزرسانی است، به این معنی که می‌تواند به‌روزرسانی‌های عملکرد (مانند به‌روزرسانی‌های معیارهای مورد استفاده در جمع‌آوری داده‌ها) را خارج از چرخه انتشار عادی Android دریافت کند.

مرز ماژول

Statsd نقطه تماس اولیه بین پلت فرم و جمع آوری داده های ایمنی راه اندازی است. ماژول statsd شامل کد زیر است.

  • statsd ، واقع در frameworks/base/cmds/statsd

  • StatsCompanionService ، واقع در frameworks/base/services/core/java/com/android/server/stats/StatsCompanionService.java

  • زیرمجموعه‌ای از ساختارهای پروتوباف پلتفرم، که عمدتاً در frameworks/base/core/proto قرار دارند.

به عنوان یک سرویس بومی، statsd می تواند بیشتر از چارچوب عمر کند و خرابی ها را در خود system_server تشخیص دهد.

در اندروید 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 است و برای دستگاه‌هایی که اندروید 11 یا بالاتر دارند در دسترس است.

وابستگی های ماژول

ماژول Statsd مجموعه ای از API های @hide را برای ثبت رویدادها از سیستم ارائه می دهد. برای کد جاوا، اکثر API های @hide بازسازی می شوند تا بر روی مجموعه کوچکتری از روش های برچسب گذاری شده @SystemApi ، با تعدادی کد چسب تولید شده کوچک ساخته شوند. چسب.

سفارشی سازی

ماژول Statsd از سفارشی سازی پشتیبانی نمی کند.

آزمایش کردن

مجموعه تست سازگاری اندروید (CTS) عملکرد statsd و اتم هایی را که مدیریت انتشار به آنها بستگی دارد تأیید می کند.