স্ট্যাটসডি মডিউলের মধ্যে রয়েছে স্ট্যাটসডি, একটি নেটিভ পরিষেবা যা ব্যাকগ্রাউন্ডে মেট্রিক্স সংগ্রহ করে চলে এবং জাভা সার্ভিস StatsCompanionService
, যা সিস্টেম প্রসেসে চলে এবং স্ট্যাটসডি এবং জাভা ব্রিজ করে। এই মডিউলটি আপডেটযোগ্য, অর্থাৎ এটি স্বাভাবিক অ্যান্ড্রয়েড রিলিজ চক্রের বাইরে কার্যকারিতার আপডেট পেতে পারে (যেমন ডেটা সংগ্রহে ব্যবহৃত মেট্রিক্সের আপডেট)।
মডিউল সীমানা
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-এ স্ট্যাটসডি মডিউল কোড 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
API-এর একটি সেট উপস্থাপন করে। জাভা কোডের জন্য, বেশিরভাগ @hide
APIsকে রিফ্যাক্টর করা হয় @SystemApi
ট্যাগ করা পদ্ধতির একটি ছোট সেটে, কিছু ছোট জেনারেটেড আঠালো কোড তৈরি করা হয়। নেটিভ কোডের জন্য, বিদ্যমান নেটিভ ফাংশনগুলিকে অফিসিয়াল VNDK C API হিসেবে রিফ্যাক্টর করা হয়। আঠা
কাস্টমাইজেশন
Statsd মডিউল কাস্টমাইজেশন সমর্থন করে না।
টেস্টিং
অ্যান্ড্রয়েড কম্প্যাটিবিলিটি টেস্ট স্যুট (সিটিএস) স্ট্যাটাসডের কার্যকারিতা এবং যে পরমাণুগুলির উপর রিলিজ পরিচালনা নির্ভর করে তা যাচাই করে।