সিস্টেম ট্রেসিং এর ওভারভিউ

অল্প সময়ের জন্য ডিভাইসের কার্যকলাপ রেকর্ড করাকে সিস্টেম ট্রেসিং বলা হয়। সিস্টেম ট্রেসিং একটি ট্রেস ফাইল তৈরি করে, যা ব্যবহার করে আপনি একটি সিস্টেম রিপোর্ট তৈরি করতে পারেন। এই রিপোর্টটি আপনার অ্যাপ বা গেমের পারফরম্যান্স কীভাবে সবচেয়ে ভালোভাবে উন্নত করা যায় তা শনাক্ত করতে সাহায্য করে।

ট্রেসিং এবং প্রোফাইলিং সম্পর্কে বিস্তারিত জানতে পারফেটটো ডকুমেন্টেশনের ট্রেসিং ১০১ পৃষ্ঠাটি দেখুন।

অ্যান্ড্রয়েড প্ল্যাটফর্ম ট্রেস ক্যাপচার করার জন্য বিভিন্ন বিকল্প প্রদান করে:

  • অ্যান্ড্রয়েড স্টুডিও সিপিইউ এবং মেমরি প্রোফাইলার
  • পারফেটটো কমান্ড-লাইন টুল (অ্যান্ড্রয়েড ১০ এবং উচ্চতর সংস্করণ)
  • সিস্টেম ট্রেসিং ইউটিলিটি
  • সিস্ট্রেস কমান্ড-লাইন টুল

অ্যান্ড্রয়েড স্টুডিও সিপিইউ প্রোফাইলার আপনার অ্যাপের সিপিইউ ব্যবহার এবং থ্রেড অ্যাক্টিভিটি রিয়েল টাইমে পরীক্ষা করে, যখন আপনি অ্যাপটি ব্যবহার করেন। আপনি রেকর্ড করা মেথড ট্রেস, ফাংশন ট্রেস এবং সিস্টেম ট্রেসের বিস্তারিত তথ্যও দেখতে পারেন। মেমরি প্রোফাইলার টাচ ইভেন্ট, Activity পরিবর্তন এবং গার্বেজ কালেকশন ইভেন্টের সাপেক্ষে মেমরি ব্যবহারের একটি সার্বিক চিত্র প্রদান করে।

পারফেটটো হলো অ্যান্ড্রয়েড ১০-এ প্রবর্তিত একটি প্ল্যাটফর্ম-ব্যাপী ট্রেসিং টুল। এটি অ্যান্ড্রয়েড, লিনাক্স এবং ক্রোমের জন্য একটি অত্যাধুনিক ওপেন সোর্স ট্রেসিং প্রজেক্ট। এটি সিস্ট্রেইস (Systrace)-এর তুলনায় অনেক বেশি ডেটা সোর্স সরবরাহ করে এবং আপনাকে একটি প্রোটোকল বাফার বাইনারি স্ট্রিমে ইচ্ছামতো দীর্ঘ ট্রেস রেকর্ড করতে দেয়। আপনি এই ট্রেসগুলো পারফেটটো ইউআই (UI)- তে খুলতে পারেন।

সিস্টেম ট্রেসিং ইউটিলিটি হলো একটি অ্যান্ড্রয়েড টুল যা ডিভাইসের কার্যকলাপ একটি ট্রেস ফাইলে সংরক্ষণ করে। অ্যান্ড্রয়েড ১০ (এপিআই লেভেল ২৯) বা তার উচ্চতর সংস্করণে চালিত ডিভাইসে, ট্রেস ফাইলগুলো পারফেটটো (Perfetto) ফরম্যাটে সংরক্ষিত হয়, যেমনটি এই ডকুমেন্টের পরবর্তী অংশে দেখানো হয়েছে। অ্যান্ড্রয়েডের পূর্ববর্তী সংস্করণে চালিত ডিভাইসে, ট্রেস ফাইলগুলো সিস্ট্রেস (Systrace) ফরম্যাটে সংরক্ষিত হয়।

সিস্ট্রেইস হলো একটি পুরোনো প্ল্যাটফর্ম-প্রদত্ত কমান্ড-লাইন টুল, যা অল্প সময়ের জন্য ডিভাইসের কার্যকলাপ একটি সংকুচিত টেক্সট ফাইলে রেকর্ড করে। এই টুলটি অ্যান্ড্রয়েড কার্নেল থেকে প্রাপ্ত ডেটা, যেমন সিপিইউ শিডিউলার, ডিস্ক অ্যাক্টিভিটি এবং অ্যাপ থ্রেড, একত্রিত করে একটি রিপোর্ট তৈরি করে। সিস্ট্রেইস সব অ্যান্ড্রয়েড প্ল্যাটফর্ম সংস্করণে কাজ করে, কিন্তু অ্যান্ড্রয়েড ১০ এবং তার পরবর্তী সংস্করণে চালিত ডিভাইসগুলোর জন্য আমরা পারফেট্টো ব্যবহারের পরামর্শ দিই।

পারফেটোর ট্রেস ভিউয়ের স্ক্রিনশট

চিত্র ১. পারফেটটো ট্রেস ভিউ-এর একটি নমুনা, যা একটি অ্যাপের সাথে প্রায় ২০ সেকেন্ডের মিথস্ক্রিয়া দেখাচ্ছে।

Systrace রিপোর্টের স্ক্রিনশট

চিত্র ২. একটি নমুনা সিস্ট্রেস এইচটিএমএল রিপোর্ট, যা একটি অ্যাপের সাথে পাঁচ সেকেন্ডের মিথস্ক্রিয়া দেখাচ্ছে।

উভয় রিপোর্টই একটি নির্দিষ্ট সময়ের জন্য অ্যান্ড্রয়েড-চালিত ডিভাইসের সিস্টেম প্রসেসগুলোর একটি সামগ্রিক চিত্র প্রদান করে। রিপোর্টটি সংগৃহীত ট্রেসিং তথ্যও পরীক্ষা করে ইউআই জ্যাঙ্ক বা উচ্চ বিদ্যুৎ খরচের মতো সমস্যাগুলো তুলে ধরে।

পারফেটটো এবং সিস্ট্রেস পরস্পর কার্যক্ষম:

সিস্টেম ট্রেসিং গাইড

সিস্টেম ট্রেসিং টুল সম্পর্কে আরও জানতে, নিম্নলিখিত নির্দেশিকাগুলো দেখুন:

সিপিইউ প্রোফাইলার দিয়ে সিপিইউ কার্যকলাপ পরীক্ষা করুন
অ্যান্ড্রয়েড স্টুডিওতে কীভাবে আপনার অ্যাপের সিপিইউ ব্যবহার এবং থ্রেড অ্যাক্টিভিটি প্রোফাইল করবেন তা দেখানো হয়েছে।
একটি ডিভাইসে সিস্টেম ট্রেস ক্যাপচার করুন
অ্যান্ড্রয়েড ৯ (এপিআই লেভেল ২৮) বা তার চেয়ে উন্নত সংস্করণে চালিত যেকোনো ডিভাইসে সরাসরি সিস্টেম ট্রেস কীভাবে ক্যাপচার করা যায়, তা এখানে ব্যাখ্যা করা হয়েছে।
কমান্ড লাইনে একটি সিস্টেম ট্রেস ক্যাপচার করুন।
সিস্ট্রেস (Systrace)-এর কমান্ড-লাইন ইন্টারফেসে আপনি যে বিভিন্ন অপশন ও ফ্ল্যাগগুলো পাস করতে পারেন, তা এটি নির্ধারণ করে।
adb ব্যবহার করে পারফেটটো চালান
ট্রেস ক্যাপচার করার জন্য perfetto কমান্ড-লাইন টুলটি কীভাবে চালাতে হয়, তা বর্ণনা করা হয়েছে।
কুইকস্টার্ট: অ্যান্ড্রয়েডে ট্রেস রেকর্ড করুন
ট্রেস ক্যাপচার করার জন্য perfetto কমান্ড-লাইন টুলটি কীভাবে বিল্ড ও রান করতে হয়, তা বর্ণনা করে এমন বাহ্যিক ডকুমেন্টেশন।
কুইকস্টার্ট: অ্যান্ড্রয়েডে ট্রেস রেকর্ড করুন
পারফেটটো ওয়েব-ভিত্তিক ট্রেস ভিউয়ারটি পারফেটটো ট্রেসগুলো খোলে এবং একটি সম্পূর্ণ রিপোর্ট প্রদর্শন করে। আপনি লিগ্যাসি UI অপশনটি ব্যবহার করে এই ভিউয়ারে সিস্ট্রেস ট্রেসও খুলতে পারেন।
একটি Systrace রিপোর্ট নেভিগেট করুন
একটি সাধারণ রিপোর্টের উপাদানগুলোর তালিকা, রিপোর্টটির মধ্যে নেভিগেট করার জন্য কিবোর্ড শর্টকাট এবং বিভিন্ন ধরনের পারফরম্যান্স সমস্যা শনাক্ত করার পদ্ধতি বর্ণনা করা হয়েছে।
কাস্টম ইভেন্ট সংজ্ঞায়িত করুন
আপনার কোডের নির্দিষ্ট অংশে কীভাবে কাস্টম লেবেল প্রয়োগ করতে পারেন, তা বর্ণনা করা হয়েছে, যার ফলে Systrace বা Perfetto-তে মূল কারণ বিশ্লেষণ আরও সহজ হয়।