ডিভাইসে সিস্টেম ট্রেস ক্যাপচার করা

Android 9 (API লেভেল ২৮) বা তার পরবর্তী যেকোনও ভার্সনে চলা ডিভাইসে সিস্টেম-লেভেল অ্যাপ থাকে যাকে সিস্টেম ট্রেসিং বলা হয়। এই অ্যাপটি systrace কমান্ড-লাইন ইউটিলিটির মতো, তবে অ্যাপটি আপনাকে সরাসরি একটি টেস্ট ডিভাইস থেকেই ট্রেস রেকর্ড করতে দেয়, ডিভাইসটি প্লাগ ইন করার এবং adb-এর মাধ্যমে এটির সাথে কানেক্ট করার প্রয়োজন ছাড়াই। আপনি তারপর অ্যাপ ব্যবহার করে আপনার ডেভেলপমেন্ট টিমের সাথে এইসব ট্রেস থেকে ফলাফল শেয়ার করতে পারবেন।

Android 10 ও তার পরবর্তী ভার্সনে চলা ডিভাইসে Perfetto ফর্ম্যাটে ট্রেস রেকর্ড করা হয়, যেখানে আগের ভার্সনের ডিভাইসে Systrace ফর্ম্যাটে ট্রেস রেকর্ড করা হয়। দুটি ফর্ম্যাটই খুলতে এবং তারপর ট্রেস বিশ্লেষণ করতে আমরা Perfetto ট্রেস ভিউয়ার ব্যবহার করার পরামর্শ দিই।

আপনার অ্যাপে পারফর্ম্যান্স-সম্পর্কিত সমস্যার সমাধান করার সময় এটি ট্রেস রেকর্ড করতে সাহায্য করে, যেমন স্লো স্টার্টআপ, স্লো ট্রানজিশন বা UI জ্যাঙ্ক।

সিস্টেম ট্রেস রেকর্ড করুন

সিস্টেম ট্রেসিং অ্যাপ আপনাকে দ্রুত সেটিংস টাইল বা অ্যাপের মধ্যে থাকা মেনু ব্যবহার করে সিস্টেম ট্রেস রেকর্ড করতে দেয়। এইসব ইন্টারফেস ব্যবহার করে কীভাবে রেকর্ডিং প্রসেস সম্পূর্ণ করবেন তা নিম্নলিখিত বিভাগে বর্ণনা করা হয়েছে।

কুইক সেটিংস টাইল ব্যবহার করে রেকর্ড করুন

অন-ডিভাইস সিস্টেম ট্রেসিং প্রসেস সম্পূর্ণ করার জন্য সাধারণত দ্রুত সেটিংস টাইল হল আরও সুবিধাজনক উপায়।

টাইল সেট-আপ করুন

আপনি যদি টেস্ট ডিভাইসে প্রথমবার সিস্টেম ট্রেসিং ব্যবহার করেন অথবা ডিভাইসের দ্রুত সেটিংস প্যানেলে সিস্টেম ট্রেসিং টাইল দেখতে না পান, যেমনটি ছবি ২-এ দেখানো হয়েছে, তাহলে নিম্নলিখিত সেট-আপের ধাপগুলি সম্পূর্ণ করুন:

  1. ডেভেলপার বিকল্প চালু করুন।
  2. ডেভেলপার বিকল্প সেটিংস স্ক্রিন খুলুন।
  3. ডিবাগিং বিভাগে, সিস্টেম ট্রেসিং বেছে নিন। System Tracing অ্যাপ খুলে যায় এবং অ্যাপ মেনু দেখায়।
  4. অ্যাপ মেনু থেকে, কুইক সেটিংস টাইল দেখুন বিকল্প চালু করুন, যেমনটি চিত্র ১-এ দেখানো হয়েছে। সিস্টেম সিস্টেম ট্রেসিং টাইল দ্রুত সেটিংস প্যানেলে যোগ করে, যেমন ছবি ২-এ দেখানো হয়েছে:

    ছবি ১. সিস্টেম ট্রেসিং অ্যাপে কুইক সেটিংস টাইল দেখুন সুইচ।
    ছবি ২। দ্রুত সেটিংস প্যানেলের মধ্যে সিস্টেম ট্রেসিং টাইল।

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

সিস্টেম ট্রেস রেকর্ডিং সম্পূর্ণ করুন

দ্রুত সেটিংস প্যানেল ব্যবহার করে সিস্টেম ট্রেস রেকর্ড করতে, নিম্নলিখিত ধাপগুলি সম্পূর্ণ করুন:

  1. সিস্টেম ট্রেসিং টাইল ট্যাপ করুন, যাতে ট্রেস রেকর্ড করুন লেবেল আছে। টাইল চালু হয়ে যায় এবং সিস্টেম যে ট্রেস রেকর্ড করছে তা আপনাকে জানানোর জন্য একটি স্থায়ী বিজ্ঞপ্তি দেখানো হয়, যেমনটি চিত্র ৩-এ দেখানো হয়েছে:

    'ট্রেস রেকর্ড করা হচ্ছে' মেসেজ সহ বিজ্ঞপ্তি। ট্রেসিং বন্ধ করতে
  ট্যাপ করুন।'
    ছবি ৩. অন-ডিভাইস সিস্টেম ট্রেস শুরু করার পরে যে পারসিস্টেন্ট বিজ্ঞপ্তি দেখা যায়।
  2. আপনার অ্যাপে সেইসব অ্যাকশন পারফর্ম করুন যেগুলি আপনি সিস্টেমকে দিয়ে পরীক্ষা করাতে চান।

  3. দ্রুত সেটিংস প্যানেলে সিস্টেম ট্রেসিং টাইল অথবা সিস্টেম ট্রেসিং বিজ্ঞপ্তিতে ট্যাপ করে ট্রেসিং বন্ধ করুন।

    সিস্টেম একটি নতুন বিজ্ঞপ্তি দেখায় যাতে "ট্রেস সেভ করা হচ্ছে" মেসেজ থাকে। সেভ করা সম্পূর্ণ হলে, সিস্টেম বিজ্ঞপ্তিটি বাতিল করে দেয় এবং তৃতীয় একটি বিজ্ঞপ্তি দেখায়, যা কনফার্ম করে যে আপনার ট্রেস সেভ করা হয়েছে এবং আপনি সিস্টেম ট্রেস শেয়ার করার জন্য রেডি, যেমনটি ছবি ৪-এ দেখানো হয়েছে:

    'ট্রেস সেভ করা হয়েছে' মেসেজ সহ বিজ্ঞপ্তি। আপনার ট্রেস শেয়ার করতে
  ট্যাপ করুন।'
    ছবি ৪. সিস্টেম রেকর্ড করা ট্রেস সেভ করা শেষ করার পরে যে স্থায়ী বিজ্ঞপ্তি দেখা যায়।

অ্যাপ মেনু ব্যবহার করে রেকর্ড করুন

অ্যাপ মেনু আপনাকে সিস্টেম ট্রেসিং সম্পর্কিত বেশ কিছু উন্নত সেটিংস কনফিগার করতে দেয় এবং সিস্টেম ট্রেস শুরু ও বন্ধ করার জন্য একটি সুইচ প্রদান করে।

সিস্টেম ট্রেসিং অ্যাপ মেনু ব্যবহার করে সিস্টেম ট্রেস রেকর্ড করতে, নিম্নলিখিত ধাপগুলি সম্পূর্ণ করুন:

  1. ডেভেলপার বিকল্প চালু করুন।
  2. ডেভেলপার বিকল্প সেটিংস স্ক্রিন খুলুন। ডিবাগিং বিভাগে, সিস্টেম ট্রেসিং বিকল্প বেছে নিন। সিস্টেম ট্রেসিং অ্যাপ খুলে যাবে।

    অন্যথায়, আপনি সিস্টেম ট্রেসিং টাইল সেট-আপ করলে, সিস্টেম ট্রেসিং অ্যাপে প্রবেশ করতে টাইলটি ট্যাপ করে ধরে রাখতে পারেন।

  3. সিস্টেম ট্রেসে ডিবাগিং চালু আছে এমন অ্যাপ অন্তর্ভুক্ত করতে ডিবাগ করা যায় এমন অ্যাপ্লিকেশন ট্রেস করুন বিকল্পটি বেছে নেওয়া হয়েছে কিনা তা নিশ্চিত করুন।

  4. বিকল্প হিসেবে, ট্রেস করার জন্য সিস্টেম ও সেন্সর কলের বিভাগ বেছে নিন, এবং কেবিতে প্রতি-CPU বাফার সাইজ বেছে নিন। আপনি যে ব্যবহারের কেস পরীক্ষা করছেন তার সাথে সম্পর্কিত বিভাগগুলি বেছে নিন, যেমন ব্লুটুথ অপারেশন পরীক্ষা করার জন্য অডিও বিভাগ বা হিপ অ্যালোকেশনের জন্য মেমরি বিভাগ।

  5. বিকল্প হিসেবে, ডিভাইস স্টোরেজে ক্রমাগত সেভ করা ট্রেস চালু করতে লং ট্রেস বেছে নিন। এই বিকল্পের জন্য, সর্বাধিক লং ট্রেস সাইজ এবং সর্বাধিক লং ট্রেস সময়সীমার সীমা সেট করুন।

  6. ট্রেস রেকর্ড করুন সুইচ চালু করুন, এটি ছবি ৫-এ হাইলাইট করা আছে। টাইলটি চালু হয়ে যায় এবং সিস্টেম যে ট্রেস রেকর্ড করছে তা জানানোর জন্য একটি স্থায়ী বিজ্ঞপ্তি দেখানো হয়, যেমনটি ছবি ৩-এ দেখানো হয়েছে।

    ছবি ৫. সিস্টেম ট্রেসিং সেটিংসে ট্রেস রেকর্ড করুন সুইচ।
  7. আপনার অ্যাপে সেইসব অ্যাকশন পারফর্ম করুন যেগুলি আপনি সিস্টেমকে দিয়ে পরীক্ষা করাতে চান।

  8. রেকর্ড ট্রেস সুইচ বন্ধ করে ট্রেস করা বন্ধ করুন।

    সিস্টেম একটি নতুন বিজ্ঞপ্তি দেখায় যাতে "ট্রেস সেভ করা হচ্ছে" মেসেজ থাকে। সেভ করা সম্পূর্ণ হলে, সিস্টেম বিজ্ঞপ্তিটি বাতিল করে দেয় এবং তৃতীয় একটি বিজ্ঞপ্তি দেখায়, যা কনফার্ম করে যে আপনার ট্রেস সেভ করা হয়েছে এবং আপনি সিস্টেম ট্রেস শেয়ার করার জন্য প্রস্তুত, যেমনটি ছবি ৪-এ দেখানো হয়েছে।

সিস্টেম ট্রেস শেয়ার করা

সিস্টেম ট্রেসিং অ্যাপ আপনাকে বিভিন্ন ওয়ার্কফ্লোর অংশ হিসেবে সিস্টেম ট্রেস ফলাফল শেয়ার করতে সাহায্য করে। Android ১০ (API লেভেল ২৯) বা তার পরবর্তী যেকোনও ভার্সন চলছে এমন ডিভাইসে, ট্রেস ফাইল .perfetto-trace ফাইলনেম এক্সটেনশন সহ সেভ করা হয় এবং Perfetto UI-তে খোলা যায়। Android-এর পুরনো ভার্সন চলছে এমন ডিভাইসে, ট্রেস ফাইল .ctrace ফাইলনেম এক্সটেনশন সহ সেভ করা হয়, যা Systrace ফর্ম্যাটকে বোঝায়।

মেসেজ হিসেবে শেয়ার করুন

সিস্টেম ট্রেসিং আপনার ডিভাইসের অন্যান্য অ্যাপের সাথে আপনার সংগৃহীত ট্রেস শেয়ার করতে দেয়। আপনার ডেভেলপমেন্ট মেশিনের সাথে কোনও ডিভাইস কানেক্ট না করেই, আপনি ইমেল বা বাগ-ট্র্যাকিং অ্যাপের মাধ্যমে আপনার ডেভেলপমেন্ট টিমকে ট্রেস পাঠাতে পারেন।

সিস্টেম ট্রেস রেকর্ড করার পরে, ডিভাইসে দেখানো বিজ্ঞপ্তিতে ট্যাপ করুন, যেমন ছবি ৪-এ দেখানো হয়েছে। প্ল্যাটফর্মের ইনটেন্ট পিকার দেখা যায়, যা আপনাকে নিজের পছন্দের মেসেজিং অ্যাপ ব্যবহার করে ট্রেস শেয়ার করতে দেয়।

Files অ্যাপ থেকে শেয়ার করা

Android ১০ (API লেভেল ২৯) বা তার পরবর্তী যেকোনও ভার্সন চলছে এমন ডিভাইসে, ট্রেস Files অ্যাপে দেখানো হয়। আপনি এই অ্যাপ থেকে ট্রেস শেয়ার করতে পারবেন।

ADB ব্যবহার করে রিপোর্ট ডাউনলোড করুন

এছাড়াও, আপনি adb ব্যবহার করে কোনও ডিভাইস থেকে সিস্টেম ট্রেস এক্সট্র্যাক্ট করতে পারবেন। ট্রেস রেকর্ড করার জন্য ব্যবহৃত ডিভাইসটি আপনার ডেভেলপমেন্ট মেশিনের সাথে কানেক্ট করুন, তারপর টার্মিনাল উইন্ডোতে নিম্নলিখিত কমান্ডগুলি রান করুন:

cd /path-to-traces-on-my-dev-machine && \
  adb pull /data/local/traces/ .

ট্রেস ফর্ম্যাটের মধ্যে কনভার্ট করুন

আপনি Perfetto ট্রেস ফাইল Systrace ফর্ম্যাটে কনভার্ট করতে পারবেন। আরও তথ্যের জন্য ট্রেস ফর্ম্যাটের মধ্যে কনভার্ট করা দেখুন।

HTML রিপোর্ট তৈরি করুন

আপনার ট্রেস শেয়ার করার সময়, Android 10 বা তার পরবর্তী ভার্সন চলছে এমন ডিভাইসে রিপোর্টটি .perfetto-trace ফাইলে অথবা অন্য সব ভার্সনের জন্য .ctrace ফাইলে থাকে।

ওয়েব-ভিত্তিক UI বা কমান্ড লাইন থেকে ট্রেস ফাইল ব্যবহার করে HTML রিপোর্ট তৈরি করুন।

ওয়েব-ভিত্তিক UI

ট্রেস ফাইল খুলতে এবং রিপোর্ট তৈরি করতে Perfetto UI ব্যবহার করুন।

Perfetto ফাইলের জন্য, ট্রেস ফাইল খুলুন বিকল্পে ক্লিক করুন। Systrace ফাইলের জন্য, পুরনো UI-এর মাধ্যমে খুলুন বিকল্পে ক্লিক করুন। পুরনো UI-এর লুক ও ফিল Systrace রিপোর্ট-এর মতোই।

কমান্ড লাইন

ট্রেস ফাইল থেকে HTML রিপোর্ট তৈরি করতে টার্মিনাল উইন্ডোতে নিম্নলিখিত কমান্ডগুলি রান করুন:

cd /path-to-traces-on-my-dev-machine && \
  systrace --from-file trace-file-name{.ctrace | .perfetto-trace}

আপনার কাছে আগে থেকে systrace কমান্ড-লাইন প্রোগ্রাম না থাকলে, আপনি এটি GitHub-এ Catapult প্রোজেক্ট থেকে অথবা সরাসরি Android ওপেন সোর্স প্রোজেক্ট থেকে ডাউনলোড করতে পারবেন।