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