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