از 27 مارس 2025، توصیه می کنیم از android-latest-release
به جای aosp-main
برای ساختن و کمک به AOSP استفاده کنید. برای اطلاعات بیشتر، به تغییرات AOSP مراجعه کنید.
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/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 و اتم هایی را که مدیریت انتشار به آنها بستگی دارد تأیید می کند.
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2025-07-29 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2025-07-29 بهوقت ساعت هماهنگ جهانی."],[],[],null,["# Statsd\n\nThe Statsd module includes statsd, a native service that runs in the background\ncollecting metrics, and the Java service `StatsCompanionService`, which runs in\nthe system process and bridges statsd and Java. This module is updatable,\nmeaning it can receive updates to functionality (such as updates to the metrics\nused in data collection) outside of the normal Android release cycle.\n\nModule boundary\n---------------\n\nStatsd is the primary touchpoint between the platform and launch-safety data\ncollection. The statsd module includes the following code.\n\n- `statsd`, located in `frameworks/base/cmds/statsd`\n\n- `StatsCompanionService`, located in\n `frameworks/base/services/core/java/com/android/server/stats/StatsCompanionService.java`\n\n- A subset of the platform protobuf structures, located primarily in\n `frameworks/base/core/proto`\n\nAs a native service, statsd can outlive the framework and detect crashes in the\n`system_server` itself.\n\nIn Android 12, the Statsd\nmodule code is moved from `frameworks/base/cmds/StatsD`,\n`frameworks/base/apex/StatsD`, and `system/core/libstats`.\n\n### New project structure\n\n- `system/core/libstats` → `packages/modules/StatsD/lib/libstats`\n - `system/core/libstats/socket` → `packages/modules/StatsD/lib/libstatssocket`\n - `system/core/libstats/pull` → `packages/modules/StatsD/lib/libstatspull`\n- `frameworks/base/cmds/StatsD` → `packages/modules/StatsD/bin`\n- `frameworks/base/apex/StatsD` →\n - Copy top level as is\n - Move `jni` into `framework/jni`\n - Move toplevel files into `/apex` directory\n - `frameworks/base/apex/StatsD/\\*` → `packages/modules/StatsD/apex/\\*`\n - `frameworks/base/apex/StatsD/jni` → `packages/modules/StatsD/apex/framework/jni`\n- `cts/hostsidetests/StatsD` → `packages/modules/StatsD/tests`\n\n### Patch move sample commands\n\nApply the changes to the following branches:\n\n- `goog/mainline-prod`\n- `goog/main`\n- `goog/\\*-plus-aosp`\n- `aosp/main`\n\nThe history for the files within Statsd should be preserved.\n\nModule format\n-------------\n\nThe statsd module (`com.android.os.statsd`) is in\n[APEX](/docs/core/ota/apex) format and is available for devices\nrunning Android 11 or higher.\n\nModule dependencies\n-------------------\n\nThe Statsd module presents a set of `@hide` APIs to log events from the\nsystem. For Java code, most `@hide` APIs are refactored to be built on a\nsmaller set of `@SystemApi` tagged methods, with some small generated\nglue code built in. For native code, existing native functions are refactored\nto be official VNDK C APIs, with generated glue.\n\nCustomization\n-------------\n\nThe Statsd module doesn't support customization.\n\nTesting\n-------\n\nThe Android Compatibility Test Suite (CTS) verifies the functionality of statsd\nand the atoms on which release management depends."]]