কেস স্টাডিজ

ডেটাডগ প্রোফাইলিংম্যানেজারের মাধ্যমে লক্ষ লক্ষ গভীর পারফরম্যান্স তথ্য সরবরাহ করে।

৪ মিনিটের পাঠ
৩ জন লেখক
Alice Yuan, Arti Arutiunov, Nikita Ogorodnikov

পারফরম্যান্স রিগ্রেশনগুলো পুনরায় ঘটানো অত্যন্ত কঠিন, যা মোবাইল ডেভেলপারদের জন্য একটি বিশাল প্রতিবন্ধকতা তৈরি করে। যদিও ANR রেটের মতো সংকেতগুলো প্রোডাকশনে কী সমস্যা হচ্ছে তা নির্দেশ করে, কিন্তু ঐতিহাসিকভাবে পারফরম্যান্স সমস্যার কারণ হওয়া কোডের নির্দিষ্ট লাইনটি চিহ্নিত করার জন্য ব্যাপক ম্যানুয়াল রিপ্রোডাকশন অথবা অনুমানভিত্তিক ট্রায়াল-অ্যান্ড-এরর পরীক্ষার প্রয়োজন হয়েছে।

এই সমস্যাটি নিরসনের জন্য ডেটাডগ গুগলের সাথে যৌথভাবে তাদের রিয়েল ইউজার মনিটরিং (RUM) এবং কন্টিনিউয়াস প্রোফাইলিং প্ল্যাটফর্মে প্রোফাইলিংম্যানেজার এপিআই (যা অ্যান্ড্রয়েড ১৫+ ডিভাইসে উপলব্ধ) একীভূত করেছে। এই একীকরণ ডিবাগিং কর্মপ্রবাহকে আমূল পরিবর্তন করে দেয়, যার ফলে ডেভেলপাররা কেবল বাহ্যিক লক্ষণ দেখেই থেমে না গিয়ে পারফরম্যান্সের প্রতিবন্ধকতার পেছনের মূল কারণটি শনাক্ত করতে সক্ষম হন।

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

প্রোফাইলিংম্যানেজারের প্রভাব

প্রোফাইলিংম্যানেজার হলো অ্যান্ড্রয়েড ১৫-এ প্রবর্তিত একটি সিস্টেম সার্ভিস, যা অ্যাপগুলোকে সরাসরি প্রোডাকশন এনভায়রনমেন্ট থেকে প্রোগ্রাম্যাটিকভাবে পারফরম্যান্স ডেটা, যেমন কল স্ট্যাক স্যাম্পল, ফিল্ড ট্রেস এবং মেমরি হিপ ডাম্প, সংগ্রহ করতে সক্ষম করে। এই সক্ষমতা ইঞ্জিনিয়ারিংয়ের ধারাকে প্রতিক্রিয়াশীল ম্যানুয়াল পুনরুৎপাদন থেকে সক্রিয় ফিল্ড বিশ্লেষণের দিকে পরিবর্তন করে।

AANDDM_DataDog_Quote_01.png

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

অ্যান্ড্রয়েড কোড-স্তরের দৃশ্যমানতার চ্যালেঞ্জের সমাধান

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

AANDDM_DataDog_Quote_02.png

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

প্রোফাইলিংম্যানেজার সিপিইউ ট্রেস, কল স্ট্যাক স্যাম্পলিং, জাভা হিপ ডাম্প এবং নেটিভ হিপ প্রোফাইলের মাধ্যমে মেমরি বিশ্লেষণ সহ বিভিন্ন ধরণের ডেটা সংগ্রহের পদ্ধতি সমর্থন করে। এটি ডেভেলপারদের প্রোডাকশন বিল্ড প্রোফাইল করতে, ট্রেস ফাইলগুলো এক্সটার্নাল স্টোরেজে আপলোড করতে এবং পারফেটটো ট্রেস অ্যানালাইজার UI-তে সেগুলো পর্যালোচনা করতে সক্ষম করে। একটি SaaS প্রোভাইডার হিসেবে, ডেটাডগ তার SDK-এর মাধ্যমে সংগৃহীত এই প্রোফাইলগুলো আপলোড, ভিজ্যুয়ালাইজ এবং বিশ্লেষণ করে, যা অ্যাপ্লিকেশনের স্বাস্থ্য সম্পর্কে একটি সমন্বিত চিত্র প্রদান করে।

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

  • সূক্ষ্ম সেশন ডায়াগনস্টিকস: প্রোফাইলিংম্যানেজার সরাসরি OS-স্তরের ট্রেস ডেটা সরবরাহ করে ডিবাগযোগ্যতা বাড়ায়, যা সিস্টেম পরিষেবাগুলির সাথে কাস্টম লগিংয়ের সাধারণ দৃশ্যমানতা এবং সামঞ্জস্যের প্রতিবন্ধকতাগুলি কাটিয়ে ওঠে। আরও গভীরে যাওয়ার জন্য, ডেভেলপাররা ডেটাডগ থেকে এই ট্রেসগুলি ডাউনলোড করে পারফেটটো UI-এর মতো ভিজ্যুয়ালাইজেশন টুলগুলিতে আরও তদন্ত করতে পারেন।
  • স্বয়ংক্রিয় টেলিমেট্রি ট্রিগার: গুরুত্বপূর্ণ অপটিমাইজেশন পয়েন্টে ট্রেস রেকর্ডিং শুরু করার জন্য নেটিভ সিস্টেম ইভেন্ট ব্যবহার করে, ডেটাডগ কাস্টম কালেকশন লজিক তৈরির প্রয়োজনীয়তা হ্রাস করে। যদিও প্রাথমিক রোলআউটটি APP_FULLY_DRAWN সিগন্যালের উপর দৃষ্টি নিবদ্ধ করে, ইতিমধ্যে এই পর্যবেক্ষণযোগ্যতাকে ANR , OOM , এবং COLD_START ট্রিগার অন্তর্ভুক্ত করার জন্য প্রসারিত করার পরিকল্পনা রয়েছে।
  • প্রোঅ্যাকটিভ ট্রেস স্ন্যাপশট: সিস্টেম-লেভেল পারফেটটো সার্ভিসের (ট্রেস করা) সাথে সরাসরি ইন্টারফেস করার মাধ্যমে, প্রোফাইলিংম্যানেজার একটি প্রোঅ্যাকটিভ ব্যাকগ্রাউন্ড রেকর্ডিং মডেল ব্যবহার করে যা অপ্রত্যাশিত সমস্যাগুলো ক্যাপচার করার জন্য ডিজাইন করা হয়েছে। এটি নিশ্চিত করে যে ডেভেলপাররা পারফরম্যান্সের অস্বাভাবিকতার পূর্ববর্তী ঘটনাগুলোর একটি সুনির্দিষ্ট ভিজ্যুয়ালাইজেশন পান, যা ম্যানুয়াল ইন্সট্রুমেন্টেশনের মাধ্যমে যা সম্ভব তার চেয়েও উন্নত স্তরের অন্তর্দৃষ্টি প্রদান করে।
  • বৃহৎ পরিসরে প্রতিবন্ধকতা শনাক্তকরণ: ডেটাডগ তার বিশ্বব্যাপী গ্রাহকদের কাছ থেকে প্রাপ্ত টেলিমেট্রি ডেটা সংশ্লেষণ করে এমন সব রিগ্রেশন উদ্ঘাটন করতে সক্ষম, যা কেবল স্বতন্ত্র হার্ডওয়্যার কনফিগারেশন এবং পরিবর্তনশীল নেটওয়ার্ক পরিবেশেই প্রকাশ পায়।
  • সিস্টেম-প্রবর্তিত রিসোর্স স্থিতিশীলতা: পারফরম্যান্স এবং ব্যবহারকারীর অভিজ্ঞতার উপর প্রভাব যাতে অলক্ষ্য থাকে, তা নিশ্চিত করতে এপিআই স্যাম্পলিং ট্রেস কালেকশন ব্যবহার করে।
  • ডিভাইসে ডেটা নিয়ন্ত্রণ: প্রোফাইলিংম্যানেজার অ্যাপে প্রোফাইল পাঠানোর আগে ডিভাইসের অন্যান্য প্রসেস থেকে অপ্রাসঙ্গিক তথ্য ফিল্টার করে বাদ দেয়। এর ফলে ফাইলের আকার কমে যায় এবং শুধুমাত্র অ্যাপের প্রসেসগুলোর জন্য প্রাসঙ্গিক ডেটাই সরবরাহ করা হয়।

বাস্তব অ্যাপগুলোকে অপ্টিমাইজ করার জন্য প্রতি সপ্তাহে লক্ষ লক্ষ প্রোফাইল প্রসেস করা হয়।

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

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

উপসংহার

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

ভবিষ্যতে, ডেটাডগ-এর লক্ষ্য হলো অ্যান্ড্রয়েড প্রোফাইলিং ডেটাকে কোডিং এজেন্টদের জন্য একটি প্রথম-শ্রেণীর ইনপুট হিসেবে তৈরি করা, যাতে তারা স্বয়ংক্রিয়ভাবে পারফরম্যান্সের প্রতিবন্ধকতাগুলো সমাধান করতে পারে এবং শনাক্তকরণ ও প্রতিকারের মধ্যেকার ফিডব্যাক লুপটি সম্পূর্ণ করতে পারে। ডেটাডগ ডেভেলপারদের জন্য অ্যান্ড্রয়েড প্রোফাইলিংকে ব্যাপকভাবে সহজলভ্য করার লক্ষ্যে কাজ করছে।

ProfilingManager দ্বারা চালিত Datadog রিয়েল ইউজার মনিটরিং ফিচারটি ব্যবহার শুরু করতে, Datadog Mobile Real User Monitoring-এ যান।

লিখেছেন:

পড়তে থাকুন