اعتبارًا من 27 آذار (مارس) 2025، ننصحك باستخدام android-latest-release
بدلاً من aosp-main
لإنشاء AOSP والمساهمة فيه. لمزيد من المعلومات، يُرجى الاطّلاع على التغييرات في AOSP.
Statsd
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
تتضمّن وحدة Statsd أداة statsd، وهي خدمة أصلية تعمل في background
لجمع المقاييس، وخدمة 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/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 وهي متاحة للأجهزة التي تعمل
بنظام التشغيل Android 11 أو الإصدارات الأحدث.
الوحدات التابعة
تقدّم وحدة Statsd مجموعة من واجهات برمجة التطبيقات @hide
لتسجيل الأحداث من
النظام. بالنسبة إلى رمز Java، تتم إعادة هيكلة معظم واجهات برمجة التطبيقات @hide
لتكون مبنية على مجموعة أصغر من @SystemApi
الطرق المُشار إليها، مع تضمين بعض الرموز البرمجية المُنشأة
الصغيرة. بالنسبة إلى الرموز البرمجية الأصلية، تتم إعادة هيكلة الدوال البرمجية الأصلية الحالية
لتكون واجهات برمجة تطبيقات رسمية لـ VNDK C، مع إنشاء رمز ربط.
التخصيص
لا تتيح وحدة Statsd إمكانية التخصيص.
الاختبار
تتحقّق مجموعة أدوات اختبار التوافق مع Android (CTS) من وظيفة statsd
والعناصر التي تعتمد عليها إدارة الإصدارات.
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","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-27 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],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."]]