নিরীক্ষণ

ProfilingManager API আপনাকে Android 15 (API লেভেল ৩৫) এবং তার পরবর্তী ভার্সনে চলা প্রোডাকশন ডিভাইস থেকে সিস্টেম ট্রেস এবং Java হিপ ডাম্পের মতো আসল-ব্যবহারকারীর পারফর্ম্যান্স প্রোফাইল সংগ্রহ করতে দেয়। এটি দুটি কালেকশন মেকানিজমকে সাপোর্ট করে: অ্যাপ-চালিত প্রোফাইল যেখানে আপনার অ্যাপ শুরু থেকে শেষ পর্যন্ত প্রোফাইল কালেকশনকে কন্ট্রোল করে (Android 15 এবং তার পরবর্তী যেকোনও ভার্সন) এবং ট্রিগার-ভিত্তিক প্রোফাইল যেখানে Android 16 (API লেভেল 36) এবং তার পরবর্তী যেকোনও ভার্সনে আপনার রেজিস্টার করা ইভেন্টের ভিত্তিতে সিস্টেম ক্যাপচার হ্যান্ডেল করে।

এই নির্দেশিকায় নিম্নলিখিত বিষয়গুলি কভার করা হয়েছে:

যেসব প্রোফাইলের ধরন কাজ করে

ProfilingManager বিভিন্ন ধরনের প্রোফাইল সংগ্রহ করতে সাহায্য করে যাতে আপনি অ্যাপে নির্দিষ্ট পারফর্ম্যান্স সংক্রান্ত সমস্যা টার্গেট করতে পারেন। আপনি প্ল্যাটফর্ম API বা AndroidX Core বিল্ডার ব্যবহার করে সরাসরি অনুরোধ কনফিগার করতে পারেন:

  • সিস্টেম ট্রেস: PROFILING_TYPE_SYSTEM_TRACE বা SystemTraceRequestBuilder ব্যবহার করে ক্যাপচার করা হয়েছে।
    • জ্যাঙ্ক ডায়াগনসিস, লেটেন্সি বিশ্লেষণ ও সাধারণ পারফর্ম্যান্স ডিবাগিংয়ের জন্য উপযোগী।
  • Java হিপ ডাম্প: PROFILING_TYPE_JAVA_HEAP_DUMP বা JavaHeapDumpRequestBuilder ব্যবহার করে ক্যাপচার করা হয়েছে।
    • মেমরি লিক শনাক্তকরণ এবং মেমরি অপ্টিমাইজেশনের জন্য আপনার অ্যাপের Java হিপ অবজেক্ট গ্রাফ এবং আকারের একটি স্ন্যাপশট ক্যাপচার করে।
  • হিপ প্রোফাইল: PROFILING_TYPE_HEAP_PROFILE বা HeapProfileRequestBuilder ব্যবহার করে ক্যাপচার করা হয়েছে।
    • মেমরির ব্যবহার অপ্টিমাইজ করতে সাহায্য করার জন্য সময়ের সাথে সাথে নেটিভ (বা ঐচ্ছিকভাবে জাভা) মেমরি অ্যালোকেশন ট্র্যাক করে।
  • স্ট্যাক স্যাম্পলিং: PROFILING_TYPE_STACK_SAMPLING বা StackSamplingRequestBuilder ব্যবহার করে ক্যাপচার করা হয়েছে।
    • কোড এক্সিকিউশন বুঝতে এবং CPU ব্যবহার বিশ্লেষণ করতে সাহায্য করার জন্য থ্রেড কল স্ট্যাকের স্যাম্পেল নেয়।

AI এজেন্টের সাথে ProfilingManager ইন্টিগ্রেট করা

আপনার অ্যাপে ProfilingManager ইন্টিগ্রেট করতে আপনি AI কোডিং এজেন্ট ব্যবহার করতে পারেন। যেমন, আপনার AI কোডিং এজেন্টে নিম্নলিখিত প্রম্পট রান করে অ্যাপ্লিকেশন সাড়া দিচ্ছে না (ANR) ট্রিগার কালেকশন সেট-আপ করুন, </path/to/codebase>-এর জায়গায় আপনার অ্যাপের পাথ লিখুন:

Read https://developer.android.com/topic/performance/tracing/profiling-manager/trigger-based-capture
and https://developer.android.com/topic/performance/tracing/profiling-manager/upload-worker
and integrate ProfilingManager ANR trigger collection (TRIGGER_TYPE_ANR) into my
app at </path/to/codebase>, including registering the result listener after app
startup completes and scheduling a WorkManager upload job when a profile is
received.

আপনি এই প্রম্পটটি অন্যান্য সিস্টেম ট্রিগার (যেমন TRIGGER_TYPE_OOM) সেট-আপ করতে বা অ্যাপ-চালিত প্রোফাইলিং গাইড ব্যবহার করে অ্যাপ-চালিত প্রোফাইল ক্যাপচার কনফিগার করতে অ্যাডাপ্ট করতে পারেন। ইন্টিগ্রেট করার পরে, লোকাল প্রোফাইলিংয়ের জন্য ডিবাগ কমান্ড ব্যবহার করে আপনার সেট-আপ লোকালি টেস্ট করুন এবং AI এজেন্টের সাহায্যে সংগৃহীত প্রোফাইল বিশ্লেষণ করুন।