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
में हैप्लैटफ़ॉर्म के प्रोटोबस स्ट्रक्चर का सबसेट, जो मुख्य रूप से
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 API के तौर पर फिर से तैयार किया गया है.
पसंद के मुताबिक बनाएं
Statsd मॉड्यूल को पसंद के मुताबिक नहीं बनाया जा सकता.
टेस्ट करना
Android Compatibility Test Suite (CTS), statsd और उन एटम की जांच करता है जिन पर रिलीज़ मैनेजमेंट निर्भर करता है.