Statsd मॉड्यूल में statsd, एक मूल सेवा शामिल है जो मेट्रिक्स एकत्र करने वाली पृष्ठभूमि में चलती है, और Java सेवा StatsCompanionService
है, जो सिस्टम प्रक्रिया में चलती है और statsd और Java को जोड़ती है। यह मॉड्यूल अद्यतन करने योग्य है, जिसका अर्थ है कि यह सामान्य एंड्रॉइड रिलीज़ चक्र के बाहर कार्यक्षमता के अपडेट (जैसे डेटा संग्रह में उपयोग किए गए मेट्रिक्स के अपडेट) प्राप्त कर सकता है।
मॉड्यूल सीमा
स्टैट्सडी प्लेटफ़ॉर्म और लॉन्च-सुरक्षा डेटा संग्रह के बीच प्राथमिक संपर्क बिंदु है। सांख्यिकी मॉड्यूल में निम्नलिखित कोड शामिल है।
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 में, स्टैट्सडी मॉड्यूल कोड को 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 के भीतर फ़ाइलों का इतिहास संरक्षित किया जाना चाहिए।
मॉड्यूल प्रारूप
सांख्यिकी मॉड्यूल ( com.android.os.statsd
) APEX प्रारूप में है और Android 11 या उच्चतर चलाने वाले उपकरणों के लिए उपलब्ध है।
मॉड्यूल निर्भरताएँ
Statsd मॉड्यूल सिस्टम से इवेंट लॉग करने के लिए @hide
API का एक सेट प्रस्तुत करता है। जावा कोड के लिए, अधिकांश @hide
API को @SystemApi
टैग किए गए तरीकों के एक छोटे सेट पर निर्मित करने के लिए पुन: सक्रिय किया जाता है, जिसमें कुछ छोटे जेनरेट किए गए ग्लू कोड शामिल होते हैं। मूल कोड के लिए, मौजूदा मूल कार्यों को जेनरेट किए गए आधिकारिक VNDK C API के रूप में पुन: सक्रिय किया जाता है गोंद।
अनुकूलन
स्टैट्सडी मॉड्यूल अनुकूलन का समर्थन नहीं करता है।
परिक्षण
एंड्रॉइड संगतता परीक्षण सूट (सीटीएस) स्टेट्सडी की कार्यक्षमता और उन परमाणुओं की पुष्टि करता है जिन पर रिलीज प्रबंधन निर्भर करता है।