ماژول 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/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 و اتم هایی را که مدیریت انتشار به آنها بستگی دارد تأیید می کند.