Statsd

Statsd মডিউলে statsd, একটি নেটিভ পরিষেবা অন্তর্ভুক্ত যা ব্যাকগ্রাউন্ডে চলে এবং মেট্রিক সংগ্রহ করে এবং Java পরিষেবা StatsCompanionService, যা সিস্টেম প্রসেসে চলে এবং statsd ও Java-এর মধ্যে ব্রিজ তৈরি করে। এই মডিউলটি আপডেট করা যায়, অর্থাৎ, এটি সাধারণ Android রিলিজ চক্রের বাইরেও কার্যকারিতা সংক্রান্ত আপডেট (যেমন, ডেটা সংগ্রহের জন্য ব্যবহৃত মেট্রিক সংক্রান্ত আপডেট) পেতে পারে।

মডিউল বাউন্ডারি

Statsd হল প্ল্যাটফর্ম এবং লঞ্চ-সেফটি ডেটা সংগ্রহের মধ্যে প্রাথমিক টাচপয়েন্ট। statsd মডিউলে নিম্নলিখিত কোড অন্তর্ভুক্ত থাকে।

  • frameworks/base/cmds/statsd-এ অবস্থিত statsd

  • StatsCompanionService, এখানে অবস্থিত: frameworks/base/services/core/java/com/android/server/stats/StatsCompanionService.java

  • প্ল্যাটফর্ম protobuf স্ট্রাকচারের একটি সাবসেট, যা প্রধানত এখানে থাকে: 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 API-এর একটি সেট প্রদান করে। Java কোডের জন্য, বেশিরভাগ @hide API-কে রিফ্যাক্টর করা হয় যাতে সেগুলি @SystemApi ট্যাগ করা পদ্ধতির ছোট সেটের উপর তৈরি করা যায়, সাথে কিছু ছোট জেনারেট করা গ্লু কোডও থাকে। নেটিভ কোডের জন্য, আগে থেকে থাকা নেটিভ ফাংশন রিফ্যাক্টর করা হয় যাতে জেনারেট করা গ্লু সহ অফিসিয়াল VNDK C API হয়।

কাস্টমাইজেশন

Statsd মডিউল কাস্টমাইজ করা যায় না।

পরীক্ষা করা

Android কম্প্যাটিবিলিটি টেস্ট স্যুট (CTS) statsd-এর কার্যকারিতা এবং রিলিজ ম্যানেজমেন্ট যে অ্যাটমের উপর নির্ভর করে তা যাচাই করে।