מודול Statsd כולל statsd, שירות מקורי שפועל ברקע איסוף מדדים, ואת שירות Java StatsCompanionService
, הפועל בתהליך המערכת ומגשר בין statsd ו-Java. מודול זה ניתן לעדכון, כלומר הוא יכול לקבל עדכונים לפונקציונליות (כגון עדכונים למדדים המשמשים באיסוף נתונים) מחוץ למחזור השחרור הרגיל של אנדרואיד.
גבול מודול
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 מציג קבוצה של @hide
APIs לרישום אירועים מהמערכת. עבור קוד Java, רוב ממשקי ה-API @hide
משוחזרים כך שהם בנויים על קבוצה קטנה יותר של שיטות מתויגות @SystemApi
, עם קוד דבק קטן שנוצר מובנה. עבור קוד מקורי, פונקציות מקוריות קיימות משוחזרות להיות ממשקי API רשמיים של VNDK C, עם יצירת קוד דבק. דֶבֶק.
התאמה אישית
מודול Statsd אינו תומך בהתאמה אישית.
בדיקה
ה-Android Compatibility Test Suite (CTS) מאמת את הפונקציונליות של statsd ואת האטומים שבהם תלוי ניהול השחרור.