টপ ডাউন এবং বটম আপ চার্ট

টপ ডাউন ট্যাবটি কলের একটি তালিকা প্রদর্শন করে যেখানে একটি পদ্ধতি বা ফাংশন নোড প্রসারিত করা হলে তার কলগুলি প্রদর্শন করা হয়। চিত্র 2 নিচের কল চার্টের জন্য একটি টপ ডাউন গ্রাফ দেখায়। গ্রাফের প্রতিটি তীর একজন কলার থেকে একজন কলির দিকে নির্দেশ করে।

চিত্র 1. একটি উদাহরণ কল চার্ট যা নিজেকে, শিশুদের এবং পদ্ধতি D-এর জন্য মোট সময়কে চিত্রিত করে।

চিত্র 2-এ দেখানো হয়েছে, টপ ডাউন ট্যাবে পদ্ধতি A-এর নোড সম্প্রসারণ করা হলে এর ক্যালি, পদ্ধতি B এবং D প্রদর্শন করা হয়। এর পরে, পদ্ধতি D-এর জন্য নোডকে প্রসারিত করা হলে এর ক্যালিগুলি উন্মোচিত হয়, যেমন পদ্ধতি B এবং C। শিখার অনুরূপ। চার্ট ট্যাব, টপ ডাউন ট্রি অভিন্ন পদ্ধতির জন্য তথ্য ট্রেস করে যা একই কল স্ট্যাক শেয়ার করে। অর্থাৎ, ফ্লেম চার্ট ট্যাব টপ ডাউন ট্যাবের গ্রাফিক্যাল উপস্থাপনা প্রদান করে।

টপ ডাউন ট্যাব প্রতিটি কলে কাটানো CPU সময় বর্ণনা করতে সাহায্য করার জন্য নিম্নলিখিত তথ্য প্রদান করে (সময়গুলিকে নির্বাচিত পরিসরে থ্রেডের মোট সময়ের শতাংশ হিসাবেও উপস্থাপন করা হয়):

  • স্বয়ং: পদ্ধতি বা ফাংশন কলটি তার নিজস্ব কোড কার্যকর করতে যে সময় ব্যয় করেছে এবং তার কলের নয়, যেমনটি পদ্ধতি D-এর জন্য চিত্র 1-এ দেখানো হয়েছে।
  • শিশু: পদ্ধতি বা ফাংশন কলটি যে সময়টি তার callees চালানোর জন্য ব্যয় করেছে এবং তার নিজস্ব কোড নয়, যেমনটি পদ্ধতি D-এর জন্য চিত্র 1 এ দেখানো হয়েছে।
  • মোট: পদ্ধতির স্বশিশুদের সময়ের যোগফল। এটি একটি কল চালানোর জন্য অ্যাপটির ব্যয় করা মোট সময়কে প্রতিনিধিত্ব করে, যেমন D পদ্ধতির জন্য চিত্র 1 এ দেখানো হয়েছে।

চিত্র 2. একটি টপ ডাউন গাছ।

চিত্র 3. চিত্র 5 থেকে পদ্ধতি C এর জন্য একটি নীচের উপরে গাছ।

বটম আপ ট্যাব কলগুলির একটি তালিকা প্রদর্শন করে যেখানে একটি ফাংশন বা পদ্ধতির নোড প্রসারিত করা তার কলারদের প্রদর্শন করে। চিত্র 2-এ দেখানো উদাহরণের ট্রেস ব্যবহার করে, চিত্র 3 পদ্ধতি C-এর জন্য একটি নীচের উপরে গাছ সরবরাহ করে। নীচের উপরে গাছে পদ্ধতি C-এর জন্য নোডটি খোলার ফলে তার প্রতিটি অনন্য কলার, পদ্ধতি B এবং D প্রদর্শিত হয়। উল্লেখ্য যে, যদিও B C কে কল করে দুইবার, B শুধুমাত্র একবার প্রদর্শিত হয় যখন নিচের উপরে গাছে পদ্ধতি C-এর জন্য নোড প্রসারিত করা হয়। এর পরে, B-এর জন্য নোড প্রসারিত করলে তার কলার, পদ্ধতি A এবং D প্রদর্শন করে।

বটম আপ ট্যাবটি সবচেয়ে বেশি (বা কম) সিপিইউ সময় ব্যবহার করে এমন পদ্ধতি বা ফাংশন বাছাই করার জন্য উপযোগী। আপনি প্রতিটি নোড পরিদর্শন করতে পারেন কোন কলকারীরা সেই পদ্ধতি বা ফাংশনগুলিকে আহ্বান করতে সবচেয়ে বেশি CPU সময় ব্যয় করে তা নির্ধারণ করতে। টপ ডাউন ট্রির সাথে তুলনা করে, নিচের আপ ট্রিতে প্রতিটি পদ্ধতি বা ফাংশনের সময়ের তথ্য প্রতিটি গাছের (শীর্ষ নোড) উপরের পদ্ধতির রেফারেন্সে থাকে। CPU সময়কে সেই রেকর্ডিংয়ের সময় থ্রেডের মোট সময়ের শতাংশ হিসাবেও উপস্থাপন করা হয়। উপরের নোড এবং এর কলারদের (সাব-নোড) জন্য টাইমিং তথ্য কীভাবে ব্যাখ্যা করতে হয় তা নিম্নলিখিত টেবিলটি ব্যাখ্যা করতে সহায়তা করে।

স্ব শিশুরা মোট
নিচের উপরের গাছের উপরে পদ্ধতি বা ফাংশন (শীর্ষ নোড) পদ্ধতি বা ফাংশনটি তার নিজস্ব কোড কার্যকর করার জন্য ব্যয় করা মোট সময়কে প্রতিনিধিত্ব করে এবং এটির কলে নয়। টপ ডাউন ট্রির তুলনায়, এই সময়ের তথ্য রেকর্ডিংয়ের সময়কাল ধরে এই পদ্ধতি বা ফাংশনে সমস্ত কলের সমষ্টিকে উপস্থাপন করে। পদ্ধতি বা ফাংশনটি তার কলে চালানোর জন্য ব্যয় করা মোট সময়কে প্রতিনিধিত্ব করে এবং তার নিজস্ব কোড নয়। টপ ডাউন ট্রির সাথে তুলনা করে, এই সময়ের তথ্য রেকর্ডিং এর সময়কাল ধরে এই পদ্ধতি বা ফাংশনের কলে সমস্ত কলের যোগফলকে উপস্থাপন করে। স্ব-সময় এবং শিশুদের সময়ের যোগফল।
কলার (সাব-নোড) কলকারীর দ্বারা কল করার সময় কলকারীর মোট স্ব-সময়ের প্রতিনিধিত্ব করে। উদাহরণ হিসাবে চিত্র 6-এ নীচের উপরের গাছটি ব্যবহার করে, পদ্ধতি B-এর জন্য স্ব-সময় B দ্বারা ডাকার সময় পদ্ধতি C-এর প্রতিটি সম্পাদনের জন্য স্ব-সময়ের সমষ্টির সমান হবে। কলকারীর দ্বারা আহ্বান করার সময় কলির মোট শিশু সময়কে প্রতিনিধিত্ব করে। উদাহরণ হিসাবে চিত্র 6-এ নীচের উপরের গাছটি ব্যবহার করে, পদ্ধতি B-এর জন্য শিশুদের সময় B দ্বারা ডাকার সময় পদ্ধতি C-এর প্রতিটি সম্পাদনের জন্য শিশুদের সময়ের যোগফলের সমান হবে। স্ব-সময় এবং শিশুদের সময়ের যোগফল।

দ্রষ্টব্য: প্রদত্ত রেকর্ডিংয়ের জন্য, প্রোফাইলার ফাইলের আকারের সীমায় পৌঁছে গেলে Android স্টুডিও নতুন ডেটা সংগ্রহ করা বন্ধ করে দেয় (তবে, এটি রেকর্ডিং বন্ধ করে না)। ইন্সট্রুমেন্টেড ট্রেসগুলি সম্পাদন করার সময় এটি সাধারণত আরও দ্রুত ঘটে কারণ এই ধরণের ট্রেসিং একটি নমুনাযুক্ত ট্রেসের তুলনায় অল্প সময়ের মধ্যে আরও ডেটা সংগ্রহ করে। আপনি যদি পরিদর্শনের সময়কে রেকর্ডিংয়ের সময়কালের মধ্যে প্রসারিত করেন যা সীমাতে পৌঁছানোর পরে ঘটেছিল, ট্রেস ফলকের সময় ডেটা পরিবর্তিত হয় না (কারণ কোনও নতুন ডেটা উপলব্ধ নেই)। অতিরিক্তভাবে, ট্রেস ফলকটি সময় সংক্রান্ত তথ্যের জন্য NaN প্রদর্শন করে যখন আপনি একটি রেকর্ডিংয়ের শুধুমাত্র অংশটি নির্বাচন করেন যার কোনো ডেটা উপলব্ধ নেই।