החל מ-27 במרץ 2025, מומלץ להשתמש ב-android-latest-release
במקום ב-aosp-main
כדי ליצור תרומות ל-AOSP. מידע נוסף זמין במאמר שינויים ב-AOSP.
Statsd
קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
המודול Statsd כולל את statsd, שירות מקומי שפועל ברקע ומאגר מדדים, ואת שירות 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 מציג קבוצה של ממשקי API מסוג @hide
לתיעוד אירועים מהמערכת. בקוד Java, רוב ממשקי ה-API של @hide
עוברים עיבוד מחדש כדי שיבנו על קבוצה קטנה יותר של שיטות מתויגות של @SystemApi
, עם קצת קוד דבק שנוצר מראש. בקוד מקומי, פונקציות מקומיות קיימות עוברות עיבוד מחדש כדי להפוך לממשקי API רשמיים של VNDK C, עם קוד מקשר שנוצר.
התאמה אישית
המודול Statsd לא תומך בהתאמה אישית.
בדיקה
חבילה לבדיקות תאימות (CTS) של Android מאמתת את הפונקציונליות של statsd ואת האטומים שעליהם מבוסס ניהול הגרסאות.
דוגמאות התוכן והקוד שבדף הזה כפופות לרישיונות המפורטים בקטע רישיון לתוכן. Java ו-OpenJDK הם סימנים מסחריים או סימנים מסחריים רשומים של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2025-07-27 (שעון UTC).
[[["התוכן קל להבנה","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 (שעון UTC)."],[],[],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."]]