Statsd

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/libstatspackages/modules/StatsD/lib/libstats
    • system/core/libstats/socketpackages/modules/StatsD/lib/libstatssocket
    • system/core/libstats/pullpackages/modules/StatsD/lib/libstatspull
  • frameworks/base/cmds/StatsDpackages/modules/StatsD/bin
  • frameworks/base/apex/StatsD
    • शीर्ष स्तर को वैसे ही कॉपी करें
    • jni framework/jni में ले जाएँ
    • टॉपलेवल फ़ाइलों को /apex निर्देशिका में ले जाएँ
      • frameworks/base/apex/StatsD/\*packages/modules/StatsD/apex/\*
      • frameworks/base/apex/StatsD/jnipackages/modules/StatsD/apex/framework/jni
  • cts/hostsidetests/StatsDpackages/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 के रूप में पुन: सक्रिय किया जाता है गोंद।

अनुकूलन

स्टैट्सडी मॉड्यूल अनुकूलन का समर्थन नहीं करता है।

परिक्षण

एंड्रॉइड संगतता परीक्षण सूट (सीटीएस) स्टेट्सडी की कार्यक्षमता और उन परमाणुओं की पुष्टि करता है जिन पर रिलीज प्रबंधन निर्भर करता है।