Stated मॉड्यूल में आंकड़े शामिल हैं, जो बैकग्राउंड इकट्ठा करने वाली मेट्रिक
में चलने वाली नेटिव सेवा और Java सेवा StatsCompanionService
शामिल है. यह
सिस्टम प्रोसेस में चलती है और आंकड़ों और Java को आपस में जोड़ती है. इस मॉड्यूल को अपडेट किया जा सकता है. इसका मतलब है कि Android के रिलीज़ साइकल के बाहर, इस मॉड्यूल के फ़ंक्शन को अपडेट किया जा सकता है. जैसे, डेटा इकट्ठा करने के लिए इस्तेमाल की जाने वाली मेट्रिक को अपडेट किया जा सकता है.
मॉड्यूल की सीमा
Statsd, प्लैटफ़ॉर्म और लॉन्च से जुड़ी सुरक्षा से जुड़े डेटा इकट्ठा करने के बीच मुख्य टचपॉइंट है. statsd मॉड्यूल में यह कोड शामिल होता है.
frameworks/base/cmds/statsd
में मौजूदstatsd
frameworks/base/services/core/java/com/android/server/stats/StatsCompanionService.java
में मौजूदStatsCompanionService
प्लैटफ़ॉर्म प्रोटोबफ़ स्ट्रक्चर का एक सबसेट, जो मुख्य रूप से
frameworks/base/core/proto
में मौजूद है
नेटिव सेवा के तौर पर, statsd फ़्रेमवर्क के बंद होने के बाद भी काम कर सकती है. साथ ही, यह system_server
में क्रैश का पता लगा सकती है.
Android 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
Statd में मौजूद फ़ाइलों का इतिहास सुरक्षित रखा जाना चाहिए.
मॉड्यूल का फ़ॉर्मैट
statsd मॉड्यूल (com.android.os.statsd
), APEX फ़ॉर्मैट में है. यह Android 11 या इसके बाद के वर्शन वाले डिवाइसों के लिए उपलब्ध है.
मॉड्यूल की डिपेंडेंसी
Statsd मॉड्यूल, सिस्टम से इवेंट को लॉग करने के लिए @hide
एपीआई का एक सेट उपलब्ध कराता है. Java कोड के लिए, ज़्यादातर @hide
एपीआई को @SystemApi
टैग किए गए तरीकों के छोटे सेट पर बनाए जाने के लिए फिर से तैयार किया जाता है. साथ ही, इसमें जनरेट किया गया कुछ छोटा ग्लू कोड भी पहले से मौजूद होता है. नेटिव कोड के लिए, मौजूदा नेटिव फ़ंक्शन को जनरेट किए गए ग्लू के साथ आधिकारिक वीएनडीके सी एपीआई में बदला जाता है.
पसंद के मुताबिक बनाएं
Statsd मॉड्यूल को पसंद के मुताबिक नहीं बनाया जा सकता.
टेस्ट करना
Android Compatibility Test Suite (CTS), statsd और उन एटम की जांच करता है जिन पर रिलीज़ मैनेजमेंट निर्भर करता है.