ماژول Statsd شامل statsd، یک سرویس بومی است که در پسزمینه متریکها را جمعآوری میکند، و سرویس جاوا StatsCompanionService ، که در فرآیند سیستم اجرا میشود و statsd و جاوا را پل میکند. این ماژول قابل بهروزرسانی است، به این معنی که میتواند بهروزرسانیهای عملکرد (مانند بهروزرسانیهای معیارهای مورد استفاده در جمعآوری دادهها) را خارج از چرخه انتشار عادی Android دریافت کند.
مرز ماژول
Statsd نقطه تماس اولیه بین پلت فرم و جمع آوری داده های ایمنی راه اندازی است. ماژول statsd شامل کد زیر است.
statsd، واقع درframeworks/base/cmds/statsdStatsCompanionService، واقع در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/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 است و برای دستگاههایی که اندروید 11 یا بالاتر دارند در دسترس است.
وابستگی های ماژول
ماژول Statsd مجموعه ای از API های @hide را برای ثبت رویدادها از سیستم ارائه می دهد. برای کد جاوا، اکثر API های @hide بازسازی می شوند تا بر روی مجموعه کوچکتری از روش های برچسب گذاری شده @SystemApi با تعدادی کد چسب تولید شده کوچک ساخته شوند.
سفارشی سازی
ماژول Statsd از سفارشی سازی پشتیبانی نمی کند.
تست کردن
مجموعه تست سازگاری اندروید (CTS) عملکرد statsd و اتم هایی را که مدیریت انتشار به آنها بستگی دارد تأیید می کند.