Winscope দিয়ে ট্রেস ক্যাপচার করুন

উইনস্কোপ স্থানীয়ভাবে চালান অথবা একটি ওয়েব সার্ভার থেকে এটি অ্যাক্সেস করুন।

আপনি স্থানীয় ডেভেলপমেন্ট এবং ডিবাগিংয়ের জন্য উইনস্কোপ ব্যবহার করে ট্রেস ক্যাপচার করতে পারেন। উইনস্কোপ adb ব্যবহার করে, যা USB বা Wi-Fi এর মাধ্যমে ডিভাইস সংযোগ সমর্থন করে।

আপনি যখন Winscope চালু করেন, তখন Collect Traces স্ক্রিনটি প্রদর্শিত হয়।

ডিভাইস সংযোগ

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

ট্রেস ক্যাপচার করা শুরু করতে, নিম্নলিখিত ডিভাইস সংযোগ পদ্ধতিগুলোর মধ্যে একটি বেছে নিন।

উইনস্কোপ প্রক্সি সেটআপ

উইনস্কোপ প্রক্সি সেট আপ করতে এই ধাপগুলো অনুসরণ করুন:

  1. হোমপেজের 'Collect Traces' বিভাগে, 'Select connection type' মেনু থেকে 'Winscope Proxy' নির্বাচন করুন:

    Capture traces using Winscope Proxy

    চিত্র ১. উইনস্কোপ প্রক্সি ব্যবহার করে ট্রেস ক্যাপচার করুন।

  2. সরাসরি আপনার ব্রাউজার থেকে ট্রেস ক্যাপচার করতে, নিম্নলিখিত কমান্ডটি চালিয়ে Winscope ADB Connect প্রক্সি চালু করুন:

    python3 $ANDROID_BUILD_TOP/development/tools/winscope/src/adb/winscope_proxy.py
    
  3. এক্সিকিউশনের পর টার্মিনালে প্রদর্শিত উইনস্কোপ প্রক্সি টোকেনটি নোট করুন।

  4. আপনি Winscope ADB Connect প্রক্সি চালু করার পর, স্ক্রিনটি নিম্নরূপ পরিবর্তিত হবে। প্রক্সির সাথে প্রাথমিক সংযোগ স্থাপন করতে, ধাপ ৩ থেকে Winscope প্রক্সি টোকেনটি ইনপুট করুন এবং Connect-এ ক্লিক করুন।

    Connect to Winscope Proxy

    চিত্র ২. উইনস্কোপ প্রক্সির সাথে সংযোগ করুন।

ওয়েব ডিভাইস প্রক্সি সেটআপ

ওয়েব ডিভাইস প্রক্সি সেট আপ করতে এই ধাপগুলো অনুসরণ করুন:

  1. হোমপেজের 'কালেক্ট ট্রেসেস' বিভাগে, 'সিলেক্ট কানেকশন টাইপ' মেনু থেকে 'ওয়েব ডিভাইস প্রক্সি' নির্বাচন করুন:

    Capture traces using Web Device Proxy

    চিত্র ৩. ওয়েব ডিভাইস প্রক্সি ব্যবহার করে ট্রেস ক্যাপচার করুন।

  2. আপনার মেশিনে ওয়েব ডিভাইস প্রক্সি ডেমন না থাকলে, ইনস্টল-এ ক্লিক করুন অথবা ইনস্টলারটি চালান।

  3. ডায়ালগের মাধ্যমে ওয়েব ডিভাইস প্রক্সিতে অরিজিন অ্যাক্সেস অনুমোদন করুন।

    Authorize origin WDP access

    চিত্র ৪। উৎস অনুমোদন করুন।

  4. প্রতিটি নতুন ডিভাইসের সাথে প্রথমবার সংযোগ করার সময় অ্যাক্সেস অনুমোদন করুন। যদি ডায়ালগটি স্বয়ংক্রিয়ভাবে প্রদর্শিত না হয়, তাহলে ডিভাইসের পাশে থাকা lock_open আইকনে ক্লিক করুন:

    wdp_unauth_device

    চিত্র ৫. ডিভাইস অনুমোদন করুন।

চিহ্ন

চিহ্ন সংগ্রহ করতে এই ধাপগুলো অনুসরণ করুন:

  1. সংযুক্ত হলে, ক্যাপচার প্রক্রিয়া শুরু করতে, টার্গেটগুলো নির্বাচন করুন এবং সেটিংস কনফিগার করুন। তারপর ক্যাপচার শুরু করতে 'স্টার্ট ট্রেস' এ ক্লিক করুন:

    Collect traces in Winscope

    চিত্র ৬। উইনস্কোপে ট্রেস সংগ্রহ করুন।

  2. ক্যাপচার বন্ধ করতে, 'এন্ড ট্রেস'-এ ক্লিক করুন:

    End trace in Winscope

    চিত্র ৭। উইনস্কোপে এন্ড ট্রেস।

ট্রেস বিকল্পগুলি

এই বিভাগে প্রতিটি ট্রেস টাইপের বিকল্পগুলো বর্ণনা করা হয়েছে।

স্ক্রিন রেকর্ডিং

Winscope-এর সাহায্যে আপনি একাধিক ডিসপ্লের স্ক্রিন রেকর্ড করতে পারেন। স্ক্রিন রেকর্ড করার জন্য মেনু থেকে একটি ডিসপ্লে বেছে নিন। আপনি যদি কোনো ডিসপ্লে নির্বাচন না করেন, তাহলে Winscope ডিফল্টরূপে সক্রিয় ডিসপ্লেটি রেকর্ড করে।

সারফেসফ্লিঙ্গার

  • বাফার সাইজ: সারফেসফ্লিঙ্গার ট্রেসের জন্য ইন-মেমরি রিং বাফারের আকার নির্ধারণ করে। বড় বাফার বেশি ডেটা সংগ্রহ করতে সক্ষম করে, কিন্তু এর ফলে মেমরির ব্যবহার বেড়ে যায়।

  • ইনপুট: যদি সারফেসটিতে ইনপুট ডেটা থাকে, তবে এটি ইনপুট উইন্ডোর নির্দিষ্ট বিবরণ ট্র্যাক করে।

  • গঠন: গঠনের ধরণ এবং দৃশ্যমান অঞ্চল চিহ্নিত করে।

  • মেটাডেটা: অফস্ক্রিন লেয়ার সহ অতিরিক্ত সারফেস মেটাডেটা ট্রেস করে।

  • HWC: অতিরিক্ত অসংগঠিত হার্ডওয়্যার কম্পোজার মেটাডেটা ট্রেস করে।

  • ট্রেস বাফার: সারফেসফ্লিঙ্গারকে সারফেসের সমস্ত বাফার পরিবর্তন ট্রেস করার জন্য কনফিগার করে। ডিফল্টরূপে, সারফেসফ্লিঙ্গার শুধুমাত্র তখনই একটি নতুন অবস্থা ট্রেস করে যখন জ্যামিতি পরিবর্তিত হয়।

  • ভার্চুয়াল ডিসপ্লে: ট্রেসে ভার্চুয়াল ডিসপ্লে লেয়ার অন্তর্ভুক্ত করে।

উইন্ডোম্যানেজার

  • বাফার সাইজ: উইন্ডো ম্যানেজার ট্রেসের জন্য ইন-মেমরি রিং বাফারের আকার নির্ধারণ করে। বড় বাফার বেশি ডেটা সংগ্রহ করতে সক্ষম করে, কিন্তু এর ফলে মেমরি ব্যবহার বেড়ে যায়।
  • ট্রেসিং টাইপ: স্টেট সংগ্রহের জন্য ফ্রিকোয়েন্সি বিকল্পগুলি নির্ধারণ করে:

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

    • ভার্বোস: এতে সমস্ত উইন্ডো এবং প্রতিটি উইন্ডোর কনফিগারেশন তথ্য অন্তর্ভুক্ত থাকে। এই মোডে মেমরি এবং পারফরম্যান্সের ওপর সর্বোচ্চ চাপ পড়ে।
    • ডিবাগ: সমস্ত উইন্ডো সম্পর্কিত তথ্য অন্তর্ভুক্ত করে, কিন্তু শুধুমাত্র সেই উইন্ডো কনফিগারেশনটি লগ করে, যদি তাতে অনুরোধকৃত কোনো ওভাররাইড কনফিগারেশন থাকে।
    • ক্রিটিক্যাল: এতে ডিবাগ মোডের মতোই তথ্য থাকে, কিন্তু শুধু দৃশ্যমান উইন্ডোগুলো অন্তর্ভুক্ত থাকে। এই মোডে মেমরি এবং পারফরম্যান্স ওভারহেড সবচেয়ে কম।

ডাম্পস

Winscope ব্যবহার করে স্টেট ডাম্প নিতে, হোমপেজে Collect Traces-এর অধীনে Dump ট্যাবটি নির্বাচন করুন এবং তারপরে Dump state-এ ক্লিক করুন:

Dump state in Winscope

চিত্র ৮. উইনস্কোপে ডাম্প স্টেট।

স্ক্রিনশট কনফিগারেশন

উইনস্কোপ একাধিক ডিসপ্লের জন্য স্ক্রিনশট নেওয়ার সুবিধা দেয়। স্ক্রিনশট নেওয়ার জন্য মেনু থেকে একটি ডিসপ্লে বেছে নিন। কোনো ডিসপ্লে নির্বাচন করা না হলে, সক্রিয় ডিসপ্লেটির জন্য স্ক্রিনশটটি নেওয়া হয়।