আপনি দুটি প্রধান পদ্ধতি ব্যবহার করে প্রোফাইল সংগ্রহ করতে পারেন: ম্যানুয়াল প্রোফাইল সংগ্রহ এবং ProfilingManager এপিআই (ProfilingManager API)।
- ম্যানুয়াল প্রোফাইল সংগ্রহের জন্য আপনার স্থানীয় ডিভাইসে ম্যানুয়ালি পারফেটটো (Perfetto) চালিয়ে প্রোফাইল রেকর্ড করতে হয়। আপনি এটি "পারফেটটো দিয়ে সিস্টেম ট্রেস রেকর্ড করা" অংশে বর্ণিত কমান্ড ব্যবহার করে অথবা "কুইক সেটিংস টাইল ব্যবহার করে রেকর্ড করা" অংশে ব্যাখ্যা করা কুইক সেটিংস টাইল ব্যবহার করে করতে পারেন ।
-
ProfilingManagerঅ্যাপগুলোকে প্রোডাকশনে প্রোফাইল সংগ্রহ করতে দেয়।
অনেক ব্যবহারকারীর কাছ থেকে ডেটা সংগ্রহ ও বিশ্লেষণ করতে অথবা বিরল সমস্যা ডিবাগ করার জন্য আমরা ProfilingManager ব্যবহারের পরামর্শ দিই। তবে, যে সমস্যাগুলো সহজে পুনরায় ঘটানো যায়, সেগুলোর ক্ষেত্রে ম্যানুয়াল প্রোফাইলিং একটি ভালো বিকল্প হতে পারে।
নিচের সারণিতে দেখানো হয়েছে প্রোফাইল লিপিবদ্ধ করার এই দুটি পদ্ধতির মধ্যে পার্থক্যগুলো:
| প্রোফাইলিংম্যানেজার | ম্যানুয়াল প্রোফাইল সংগ্রহ | |
|---|---|---|
| প্রোফাইল টাইমিং নিয়ন্ত্রণ | আরও | কম |
| প্রোফাইল উৎস | স্থানীয় ডিভাইস এবং সর্বজনীন ব্যবহারকারীরা | শুধুমাত্র স্থানীয় ডিভাইস |
| প্রোফাইল আউটপুট | সম্পাদিত | অসংশোধিত |
| ইভেন্ট ভিত্তিক প্রোফাইলিং | হ্যাঁ | না |
| প্রোফাইল কাস্টমাইজযোগ্যতা | কম | আরও |
| পরিমাপযোগ্যতা | উচ্চ | নিম্ন |
নিম্নলিখিত বিভাগগুলিতে প্রোফাইল রেকর্ডিং পদ্ধতিগুলির মধ্যে পার্থক্যগুলি সংক্ষেপে বর্ণনা করা হয়েছে।
প্রোফাইল টাইমিং নিয়ন্ত্রণ
ম্যানুয়াল প্রোফাইলিংয়ের তুলনায়, যেখানে প্রোফাইল ইনিশিয়ালাইজেশনের সময় নির্ধারণ করা কঠিন হতে পারে, ProfilingManager এপিআই একটি অ্যাপ কখন প্রোফাইল শুরু বা বন্ধ করবে তার উপর আরও বেশি নিয়ন্ত্রণ প্রদান করে। ProfilingManager অপ্রত্যাশিত আচরণের প্রোফাইল তৈরি করাও সহজ করে তোলে, কারণ আপনি স্থানীয়ভাবে সেই আচরণটি পুনরায় তৈরি করতে না পারলেও একটি প্রোফাইল সংগ্রহ করতে পারেন।
প্রোফাইল উৎস
ProfilingManager সাহায্যে আপনি সাধারণ ব্যবহারকারীদের কাছ থেকে ডেটা সংগ্রহ করে পারফরম্যান্স সংক্রান্ত সমস্যা খুঁজে বের করতে ও সমাধান করতে পারেন। এর বিপরীতে, ম্যানুয়াল প্রোফাইলিং আপনাকে কেবল আপনার নিজের ডিভাইসেই সমস্যাগুলো পুনরুৎপাদন করার সুযোগ দেয়।
প্রোফাইল আউটপুট
ProfilingManager এবং ম্যানুয়াল সংগ্রহ ভিন্ন ভিন্ন ধরনের প্রোফাইল আউটপুট তৈরি করে:
ProfilingManagerসম্পাদিত ট্রেস তৈরি করে। সম্পাদিত ট্রেস আপনার অ্যাপের প্রসেস সম্পর্কে তথ্য দেখায়, কিন্তু সিস্টেমের অন্যান্য অ্যাপ থেকে ডেটা গোপন রাখে। যেহেতুProfilingManagerট্রেস সংগ্রহ ও ফেরত দেওয়ার আগে তা সম্পাদনা করে, তাই আপনি অন্যান্য অ্যাপের ডেটা না দেখিয়ে পাবলিক ব্যবহারকারীদের গোপনীয়তা রক্ষা করার পাশাপাশি তাদের কাছ থেকেও ট্রেস সংগ্রহ করতে পারেন।ম্যানুয়াল প্রোফাইল সংগ্রহের ফলে অপরিবর্তিত ট্রেস তৈরি হয়। আপনি যখন ম্যানুয়ালি একটি সিস্টেম ট্রেস রেকর্ড করেন, তখন আউটপুটে সিস্টেমে চলমান সমস্ত প্রসেস অন্তর্ভুক্ত থাকতে পারে। যদিও এই অপরিবর্তিত ট্রেসগুলি ডিবাগিংয়ের জন্য আরও সম্পূর্ণ ডেটা সরবরাহ করে, গোপনীয়তার উদ্বেগের কারণে আপনি কেবল স্থানীয়ভাবে সেগুলি অ্যাক্সেস করতে পারেন।
ইভেন্ট-ভিত্তিক প্রোফাইলিং
ProfilingManager নির্দিষ্ট কিছু ঘটনা ঘটলে, যেমন অ্যাপ্লিকেশন নট রেসপন্ডিং (ANR) ত্রুটি বা অ্যাপ চালু হওয়ার সময়ও প্রোফাইল সংগ্রহ করতে পারে। ইভেন্ট-ভিত্তিক সংগ্রহের জন্য প্রোফাইল শুরু ও বন্ধ করার কাজটি ProfilingManager করবে।
প্রোফাইল কাস্টমাইজযোগ্যতা
ম্যানুয়াল প্রোফাইলিং-এ সর্বাধিক কাস্টমাইজেশনের সুযোগ রয়েছে, অন্যদিকে ProfilingManager কাস্টমাইজেশনের বিকল্প তুলনামূলকভাবে কম।
পরিমাপযোগ্যতা
ট্রেসিং স্কেল করার জন্য ProfilingManager হলো সেরা উপায়, কারণ এটিই একমাত্র বিকল্প যা অ্যাপ ডেভেলপারদের পাবলিক ব্যবহারকারীদের প্রোফাইল রেকর্ড করতে দেয়। ProfilingManager মাধ্যমে, আপনি বৃহৎ পরিসরে ট্রেস সংগ্রহ এবং বিশ্লেষণ সেট আপ করতে পারেন। ম্যানুয়াল প্রোফাইলিং শুধুমাত্র স্থানীয় ব্যবহারের মধ্যে সীমাবদ্ধ।