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

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

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

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

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

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

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

ডিভাইসে সিস্টেম ট্রেসিং প্রক্রিয়াটি সম্পন্ন করার জন্য কুইক সেটিংস টাইল সাধারণত বেশি সুবিধাজনক উপায়।

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

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

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

    চিত্র ১. সিস্টেম ট্রেসিং অ্যাপে থাকা ‘কুইক সেটিংস দেখান’ টাইল সুইচ।
    চিত্র ২. কুইক সেটিংস প্যানেলের অন্তর্গত সিস্টেম ট্রেসিং টাইল।

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

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

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

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

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

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

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

    'ট্রেস সংরক্ষিত হয়েছে। আপনার ট্রেস শেয়ার করতে ট্যাপ করুন।' বার্তা সহ বিজ্ঞপ্তি।
    চিত্র ৪। সিস্টেম কর্তৃক রেকর্ডকৃত ট্রেস সংরক্ষণ সম্পন্ন হওয়ার পর প্রদর্শিত স্থায়ী নোটিফিকেশন।

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

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

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

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

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

  3. সিস্টেম ট্রেসে ডিবাগিং সক্ষম করা অ্যাপগুলিকে অন্তর্ভুক্ত করতে, ‘Trace debuggable applications’ বিকল্পটি নির্বাচন করা আছে কিনা তা নিশ্চিত করুন।

  4. ঐচ্ছিকভাবে, ট্রেস করার জন্য সিস্টেম এবং সেন্সর কলের ক্যাটাগরিগুলো বেছে নিন এবং প্রতি-সিপিইউ বাফার সাইজ কিলোবাইটে (KB) নির্বাচন করুন। আপনি যে ব্যবহারের ক্ষেত্রটি পরীক্ষা করছেন, তার সাথে সামঞ্জস্যপূর্ণ ক্যাটাগরিগুলো বেছে নিন; যেমন ব্লুটুথ অপারেশন পরীক্ষার জন্য অডিও ক্যাটাগরি অথবা হিপ অ্যালোকেশনের জন্য মেমরি ক্যাটাগরি।

  5. ঐচ্ছিকভাবে, ডিভাইস স্টোরেজে ক্রমাগতভাবে সংরক্ষিত ট্রেসগুলি সক্রিয় করতে ‘লং ট্রেসেস’ নির্বাচন করুন। এই বিকল্পটির জন্য, ‘সর্বোচ্চ লং ট্রেস সাইজ’ এবং ‘সর্বোচ্চ লং ট্রেস ডিউরেশন’- এর সীমা নির্ধারণ করুন।

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

    চিত্র ৫. সিস্টেম ট্রেসিং সেটিংসে থাকা রেকর্ড ট্রেস সুইচ।
  7. আপনার অ্যাপে সেই কাজগুলো সম্পাদন করুন যা আপনি সিস্টেমকে দিয়ে যাচাই করাতে চান।

  8. Record trace সুইচটি নিষ্ক্রিয় করে ট্রেসিং বন্ধ করুন।

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

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

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

বার্তা হিসেবে শেয়ার করুন

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

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

ফাইলস অ্যাপ থেকে শেয়ার করুন

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

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

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

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

ট্রেস ফরম্যাটের মধ্যে রূপান্তর করুন

আপনি পারফেটটো ট্রেস ফাইলগুলোকে সিস্ট্রেস ফরম্যাটে রূপান্তর করতে পারেন। আরও তথ্যের জন্য ‘ট্রেস ফরম্যাটের মধ্যে রূপান্তর’ দেখুন।

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

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

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

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

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

Perfetto ফাইলের জন্য, 'Open trace file'-এ ক্লিক করুন। Systrace ফাইলের জন্য, 'Open with legacy 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 Open Source Project থেকে ডাউনলোড করতে পারেন।

{% হুবহু %} {% endverbatim %} {% হুবহু %} {% endverbatim %}