Performance Monitoring আপনার অ্যাপে মনিটর করা প্রসেস সম্পর্কে ডেটা সংগ্রহ করতে ট্রেস ব্যবহার করে। ট্রেস হল এমন একটি রিপোর্ট যাতে আপনার অ্যাপে দুটি সময়ের মধ্যে ক্যাপচার করা ডেটা থাকে।
সব ধরনের অ্যাপের জন্য, Performance Monitoring আপনার অ্যাপের মাধ্যমে ইস্যু করা প্রতিটি নেটওয়ার্ক রিকোয়েস্টের জন্য অটোমেটিক একটি ট্রেস সংগ্রহ করে, যাকে HTTP/S নেটওয়ার্ক রিকোয়েস্ট ট্রেস বলা হয়। আপনার অ্যাপ কোনও পরিষেবা এন্ডপয়েন্টে অনুরোধ করার সময় থেকে সেই এন্ডপয়েন্ট থেকে উত্তর সম্পূর্ণ হওয়ার সময় পর্যন্ত সময়ের জন্য এই ট্রেস মেট্রিক সংগ্রহ করে। আপনার অ্যাপ অনুরোধ করে এমন যেকোনও এন্ডপয়েন্টের জন্য, Performance Monitoring বেশ কয়েকটি মেট্রিক ক্যাপচার করে:
প্রতিক্রিয়া জানানোর সময় — অনুরোধ করা এবং প্রতিক্রিয়া সম্পূর্ণভাবে পাওয়ার মধ্যবর্তী সময়
রেসপন্স পেলোড সাইজ — অ্যাপের মাধ্যমে ডাউনলোড করা নেটওয়ার্ক পেলোডের বাইট সাইজ
অনুরোধ করা পেলোডের সাইজ — অ্যাপের আপলোড করা নেটওয়ার্ক পেলোডের সাইজ বাইটে
সাফল্যের হার — মোট উত্তরের তুলনায় সফল উত্তরের শতকরা হার (১০০ - ৩৯৯ রেঞ্জের মধ্যে উত্তরের কোড)
আপনি পারফর্ম্যান্স ড্যাশবোর্ডের নিচে থাকা ট্রেস টেবিলের নেটওয়ার্ক অনুরোধ সাবট্যাবে এইসব ট্রেসের ডেটা দেখতে পাবেন (এই পৃষ্ঠার পরে কনসোল ব্যবহার করা সম্পর্কে আরও জানুন)।
নেটওয়ার্ক অনুরোধ ডেটা অ্যাগ্রিগেশন কাস্টমাইজ করুন
নেটওয়ার্ক অনুরোধের জন্য আউট-অফ-দ্য-বক্স টুলিং এবং ডেটা অ্যাগ্রিগেশন ছাড়াও, Performance Monitoring নিম্নলিখিত বিকল্পগুলিও সমর্থন করে:
- নেটওয়ার্ক রিকোয়েস্ট ট্রেস ম্যানুয়ালি ইনস্ট্রুমেন্ট করা: আউট-অফ-দ্য-বক্স মনিটরিংয়ে আপনার অ্যাপের বেশিরভাগ নেটওয়ার্ক রিকোয়েস্ট অন্তর্ভুক্ত থাকে। তবে, কিছু রিকোয়েস্ট রিপোর্ট নাও করা হতে পারে অথবা নেটওয়ার্ক রিকোয়েস্ট করার জন্য আপনি অন্য কোনও লাইব্রেরি ব্যবহার করতে পারেন। এইসব ক্ষেত্রে, কাস্টম নেটওয়ার্ক রিকোয়েস্ট ট্রেস ম্যানুয়ালি ইন্সট্রুমেন্ট করতে আপনি Performance Monitoring API ব্যবহার করতে পারবেন।
- কাস্টম URL প্যাটার্নের অধীনে ডেটা একত্রিত করা: যদি এমন নির্দিষ্ট URL থাকে যা Firebase তার প্রাপ্ত অটোমেটিক URL প্যাটার্ন ম্যাচিংয়ের মাধ্যমে ক্যাপচার করছে না, তাহলে আপনি সময়ের সাথে সাথে URL-এর একটি নির্দিষ্ট সেট মনিটর করতে কাস্টম URL প্যাটার্ন তৈরি করতে পারেন।
- সাফল্যের হার কীভাবে গণনা করা হয় তা কাস্টমাইজ করুন: কিছু API এন্ডপয়েন্টের জন্য কখনও কখনও ত্রুটি কোড প্রত্যাশিত হয় অথবা আপনার অ্যাপে আগে থেকেই তা ম্যানেজ করা হয়। এইসব ক্ষেত্রে, সাফল্যের হার কীভাবে গণনা করা হয় তা আপনি কনফিগার করতে এবং আপনার অ্যাপের নেটওয়ার্ক কলের সাফল্যের হার আরও সঠিকভাবে মনিটর করতে পারবেন।
URL প্যাটার্নের অধীনে ডেটা অ্যাগ্রিগেশন
আপনার নেটওয়ার্ক অনুরোধের পারফর্ম্যান্সের ট্রেন্ড বুঝতে সাহায্য করার জন্য Firebase Performance Monitoring একই ধরনের নেটওয়ার্ক অনুরোধের জন্য অটোমেটিক ডেটা একত্রিত করে।
প্রতিটি অনুরোধের জন্য, Firebase চেক করে যে নেটওয়ার্ক অনুরোধের URL কোনও URL প্যাটার্নের সাথে মেলে কিনা। অনুরোধের URL কোনও URL প্যাটার্নের সাথে ম্যাচ করলে, Firebase অটোমেটিক URL প্যাটার্নের অধীনে অনুরোধের ডেটা একত্রিত করে। Firebase, Firebase কনসোলের পারফর্ম্যান্স ড্যাশবোর্ডের নেটওয়ার্ক ট্যাবে URL প্যাটার্ন ও তার মোট ডেটা দেখায়।
URL প্যাটার্ন কী?
URL প্যাটার্নে একটি ডোমেন এবং একটি প্যাটার্ন থাকে যা URL পাথের সাথে ম্যাচ করতে পারে, যেমন: example.com/*/animals/**।
URL প্যাটার্নে নিম্নলিখিত পাথ সেগমেন্ট থাকতে পারে:
- প্লেন টেক্সট — হুবহু স্ট্রিংয়ের সাথে ম্যাচ করে
*— একটি পাথ সেগমেন্টে যেকোনও স্ট্রিংয়ের সাথে ম্যাচ করে**— যেকোনও পাথ সাফিক্সের সাথে মেলে
URL প্যাটার্ন এগুলির মধ্যে যেকোনও একটি হতে পারে:
- Firebase থেকে পাওয়া প্যাটার্ন — যাকে অটোমেটিক URL প্যাটার্ন বলা হয়
- ব্যবহারকারীর দ্বারা নির্ধারিত প্যাটার্ন — যাকে কাস্টম URL প্যাটার্ন বলা হয়
যেমন: নিম্নলিখিত URL অনুরোধের যেকোনও একটি URL প্যাটার্ন
example.com/*/animals/**-এর সাথে ম্যাচ করতে পারে।
example.com/singapore/animalsexample.com/australia/animals/spidersexample.com/australia/animals/marsupials/koala.png
URL প্যাটার্নের ডোমেনে প্রথম সেগমেন্ট হিসেবে * থাকতে পারে,
যেমন: *.example.com/*/fruits/**।
Firebase প্রতিটি অনুরোধকে শুধুমাত্র একটি URL প্যাটার্নে ম্যাপ করে। আপনি যদি কোনও কাস্টম URL প্যাটার্ন কনফিগার করে থাকেন, তাহলে Firebase প্রথমে সেই প্যাটার্নের সাথে অনুরোধ করা URL মেলানোর চেষ্টা করে। Firebase যদি কোনও ম্যাচিং কাস্টম URL প্যাটার্ন খুঁজে না পায়, তাহলে এটি সবচেয়ে প্রতিনিধিত্বমূলক অটোমেটিক URL প্যাটার্নের সাথে অনুরোধ করা URL ম্যাচ করে। নিচের বিভাগ থেকে অটোমেটিক ও কাস্টম URL প্যাটার্ন সম্পর্কে আরও জানুন।
অটোমেটিক URL প্যাটার্ন
আপনার কোনও কনফিগারেশন ছাড়াই, Performance Monitoring আপনার অ্যাপের অনুরোধ অটোমেটিক URL প্যাটার্নের সাথে মিলিয়ে আপনার অ্যাপের লেটেস্ট ব্যবহারের আচরণ দেখানোর চেষ্টা করে।
অটোমেটিক URL প্যাটার্ন ম্যাচিং কীভাবে কাজ করে?
Firebase প্রতিটি অনুরোধকে সবচেয়ে প্রতিনিধিত্বমূলক অটোমেটিক URL প্যাটার্নের সাথে ম্যাচ করে যা এটি আপনার অ্যাপের পাঠানো অনুরোধ থেকে পেয়েছে। তবে মনে রাখবেন, Firebase প্রথমে যেকোনও কনফিগার করা কাস্টম URL প্যাটার্নের সাথে অনুরোধের URL ম্যাচ করার চেষ্টা করে।
Firebase কীভাবে আপনার অ্যাপের জন্য সবচেয়ে প্রতিনিধিত্বমূলক অটোমেটিক URL প্যাটার্নের সাথে অনুরোধ মেলানোর চেষ্টা করে, তার একটি প্রাথমিক উদাহরণ নিচে দেওয়া হল।
আপনার অ্যাপ এই ধরনের URL-এ অনেক অনুরোধ পাঠায়:
example.com/germany/animals/bearsexample.com/germany/animals/birdsexample.com/germany/cars
Firebase নির্ধারণ করে যে
example.com/germany/**হল আপনার অ্যাপের জন্য একটি সাধারণ অনুরোধের প্যাটার্ন এবং এটি আপনার প্রোজেক্টে একটি অটোমেটিক URL প্যাটার্ন হিসেবে যোগ করে।এই URL প্যাটার্নের সাথে মিলে যাওয়া যেকোনও নতুন অনুরোধের জন্য, Firebase অটোমেটিক URL প্যাটার্ন
example.com/germany/**-এর অধীনে অনুরোধের ডেটা একত্রিত করে।এক সপ্তাহ পরে, আপনার অ্যাপের বেশিরভাগ অনুরোধ
example.com/germany/animals/bearsএবংexample.com/germany/animals/birds-এ পাঠানো হয়। তাই, Firebaseexample.com/germany/animals/**-এর আরও প্রতিনিধিত্বমূলক URL প্যাটার্ন তৈরি করে।এই নতুন URL প্যাটার্নের সাথে মিলে যাওয়া যেকোনও নতুন অনুরোধের জন্য, Firebase অনুরোধের ডেটা শুধুমাত্র নতুন URL প্যাটার্নের অধীনে একত্রিত করে। Firebase
example.com/germany/**-এর অধীনেexample.com/germany/cars-এ অনুরোধের জন্য ডেটা একত্রিত করা চালিয়ে যাচ্ছে।তবে, আগামী কয়েক সপ্তাহ ধরে, আপনার অ্যাপের
example.com/germany/animals/bearsএবংexample.com/germany/animals/birds-এ অনুরোধের সংখ্যা উল্লেখযোগ্যভাবে কমে গেছে। Firebase নির্ধারণ করে যেexample.com/germany/animals/**আপনার অ্যাপের লেটেস্ট ব্যবহারের আচরণকে উপস্থাপন করে না, তাই Firebase এই দুটি অনুরোধকে আবারexample.com/germany/**-এর সাথে ম্যাচ করা শুরু করে।Firebase,
example.com/germany/animals/**-এর অধীনে আর কোনও অনুরোধের ডেটা একত্রিত করে না কারণ এটি আর সবচেয়ে প্রতিনিধিত্বমূলক অটোমেটিক URL প্যাটার্ন নয়।
অটোমেটিক URL প্যাটার্ন ম্যাচিং ডায়নামিক হওয়ার কারণে, নিম্নলিখিত বিষয়গুলি মনে রাখবেন:
আগের অনুরোধ থেকে পাওয়া ম্যাচ ও মোট ডেটা নতুন URL প্যাটার্নের দ্বারা প্রভাবিত হয় না। Firebase রেট্রোঅ্যাক্টিভভাবে অনুরোধের ডেটা আবার অ্যাগ্রিগেট করে না।
নতুন URL প্যাটার্নের ফলে শুধু ভবিষ্যতের অনুরোধ প্রভাবিত হয়। Firebase প্রতিটি নতুন অনুরোধকে সবচেয়ে প্রতিনিধিত্বমূলক অটোমেটিক URL প্যাটার্নে ম্যাপ করে। তবে, মনে রাখবেন যে Firebase প্রথমে যেকোনও কনফিগার করা কাস্টম URL প্যাটার্নের সাথে অনুরোধের URL মেলানোর চেষ্টা করে।
অটোমেটিক URL প্যাটার্ন ও তার ডেটা দেখুন
Firebase সব URL প্যাটার্ন এবং সেগুলির মোট ডেটা ট্রেস টেবিলের নেটওয়ার্ক অনুরোধ সাবট্যাবে দেখায়, যা Firebase কনসোলের পারফর্ম্যান্স ড্যাশবোর্ডের নিচের দিকে থাকে।
আপনি বিভাগ করা হয়নি লেবেল সহ URL প্যাটার্ন দেখতে পেতে পারেন। এগুলি হল "ব্রড" অটোমেটিক URL প্যাটার্ন যার অধীনে Firebase সেইসব অনুরোধের জন্য ডেটা একত্রিত করতে পারে যা আরও নির্দিষ্ট কোনও URL প্যাটার্নের সাথে মেলে না।
URL প্যাটার্নের অধীনে অ্যাগ্রিগেট করা ডেটার জন্য ডেটার রেকর্ড রাখার সময়সীমা শেষ হয়ে গেলে, Firebase সেই ডেটা URL প্যাটার্ন থেকে মুছে দেয়। অটোমেটিক URL প্যাটার্নের অধীনে অ্যাগ্রিগেট করা সব ডেটার মেয়াদ শেষ হয়ে গেলে, Firebase সেই URL প্যাটার্ন Firebase কনসোল থেকে মুছে দেয়।
কাস্টম URL প্যাটার্ন
আপনি কাস্টম URL প্যাটার্ন তৈরি করতে পারেন যাতে নির্দিষ্ট URL প্যাটার্ন মনিটর করা যায়, যেগুলি Firebase তার প্রাপ্ত অটোমেটিক URL প্যাটার্ন ম্যাচিং-এর মাধ্যমে ক্যাপচার করছে না। যেমন, আপনি কোনও নির্দিষ্ট URL-এর সমস্যার সমাধান করতে অথবা সময়ের সাথে সাথে নির্দিষ্ট URL-এর সেট মনিটর করতে কাস্টম URL প্যাটার্ন ব্যবহার করতে পারেন।
আরও জানতে কাস্টম URL প্যাটার্ন তৈরি করুন দেখুন।
পারফর্ম্যান্স ডেটা ট্র্যাক, ভিউ ও ফিল্টার করা
রিয়েল-টাইম পারফর্ম্যান্স ডেটা দেখতে, আপনার অ্যাপ এমন একটি পারফর্ম্যান্স মনিটরিং SDK ভার্সন ব্যবহার করছে কিনা তা নিশ্চিত করুন যা রিয়েল-টাইম ডেটা প্রসেসিংয়ের সাথে মানানসই। রিয়েল-টাইম পারফর্ম্যান্স ডেটা সম্পর্কে আরও জানুন।
আপনার ড্যাশবোর্ডে নির্দিষ্ট মেট্রিক ট্র্যাক করুন
আপনার মূল মেট্রিক কীভাবে ট্রেন্ডিং হচ্ছে তা জানতে, পারফর্ম্যান্স ড্যাশবোর্ডের উপরে আপনার মেট্রিক বোর্ডে সেগুলি যোগ করুন। আপনি সপ্তাহ-প্রতি-সপ্তাহ পরিবর্তন দেখে দ্রুত রিগ্রেশন শনাক্ত করতে পারেন অথবা আপনার কোডে সাম্প্রতিক পরিবর্তনগুলি পারফর্ম্যান্স উন্নত করছে কিনা তা যাচাই করতে পারেন।
Firebase পারফর্ম্যান্স মনিটরিং ড্যাশবোর্ড" />
আপনার মেট্রিক্স বোর্ডে মেট্রিক যোগ করতে, এই ধাপগুলি অনুসরণ করুন:
- Firebase কনসোলে পারফর্ম্যান্স ড্যাশবোর্ড-এ যান।
- একটি খালি মেট্রিক কার্ডে ক্লিক করুন, তারপর আপনার বোর্ডে যোগ করার জন্য একটি বিদ্যমান মেট্রিক বেছে নিন।
- আরও বিকল্পের জন্য, যেমন কোনও মেট্রিক পরিবর্তন করতে বা সরিয়ে দিতে, ভরাট করা মেট্রিক কার্ডে ক্লিক করুন।
মেট্রিক বোর্ড সময়ের সাথে সাথে সংগৃহীত মেট্রিক ডেটা গ্রাফিক্যাল ফর্ম এবং সংখ্যাগত শতাংশের পরিবর্তন, উভয় হিসেবেই দেখায়।
ড্যাশবোর্ড ব্যবহার করা সম্পর্কে আরও জানুন।
ট্রেস ও তার ডেটা দেখুন
আপনার ট্রেস দেখতে, Firebase কনসোলে পারফর্ম্যান্স ড্যাশবোর্ড-এ যান, স্ক্রল করে ট্রেস টেবিলে যান, তারপর উপযুক্ত সাবট্যাবে ক্লিক করুন। এই সারণীতে প্রতিটি ট্রেসের জন্য কিছু শীর্ষ মেট্রিক দেখানো হয় এবং আপনি এমনকি কোনও নির্দিষ্ট মেট্রিকের জন্য শতাংশ পরিবর্তন অনুযায়ী তালিকাটি সাজাতে পারেন।
Performance Monitoring, Firebase কনসোলে একটি সমস্যার সমাধানকরণ পৃষ্ঠা প্রদান করে যা মেট্রিক পরিবর্তনগুলিকে হাইলাইট করে, আপনার অ্যাপ এবং ব্যবহারকারীদের উপর পারফর্ম্যান্স সংক্রান্ত সমস্যার প্রভাব দ্রুত সমাধান করা এবং কমানো সহজ করে তোলে। আপনি সম্ভাব্য পারফর্ম্যান্স সংক্রান্ত সমস্যা সম্পর্কে জানতে পারলে, সমস্যার সমাধানকরণ পৃষ্ঠা ব্যবহার করতে পারেন, যেমন, নিম্নলিখিত পরিস্থিতিতে:
- আপনি ড্যাশবোর্ডে প্রাসঙ্গিক মেট্রিক বেছে নেন এবং একটি বড় ডেল্টা লক্ষ্য করেন।
- ট্রেস টেবিলে আপনি সবচেয়ে বড় ডেল্টা উপরে দেখানোর জন্য সাজান এবং আপনি একটি উল্লেখযোগ্য শতাংশ পরিবর্তন দেখতে পান।
- পারফর্ম্যান্স সংক্রান্ত সমস্যা সম্পর্কে আপনাকে জানিয়ে একটি ইমেল সতর্কতা পাঠানো হয়।
আপনি নিম্নলিখিত উপায়ে সমস্যার সমাধানকরণ পৃষ্ঠায় অ্যাক্সেস করতে পারবেন:
- মেট্রিক ড্যাশবোর্ডে, মেট্রিকের বিবরণ দেখুন বোতামে ক্লিক করুন।
- যেকোনও মেট্রিক কার্ডে,
=> বিবরণ দেখুন বিকল্প বেছে নিন। সমস্যার সমাধানকরণ পৃষ্ঠায় আপনার বেছে নেওয়া মেট্রিক সম্পর্কে তথ্য দেখানো হয়। - ট্রেস টেবিলে, ট্রেসের নাম বা সেই ট্রেসের সাথে সম্পর্কিত সারির যেকোনও মেট্রিক ভ্যালুতে ক্লিক করুন।
- ইমেল সতর্কতায়, এখনই তদন্ত করুন বিকল্পে ক্লিক করুন।
ট্রেস টেবিলে কোনও ট্রেসের নামে ক্লিক করলে, আপনি আগ্রহের মেট্রিক
বিশ্লেষণ করতে পারবেন। অ্যাট্রিবিউট অনুযায়ী ডেটা ফিল্টার করতে
Firebase পারফর্ম্যান্স মনিটরিং ডেটা অ্যাট্রিবিউট অনুযায়ী ফিল্টার করা হচ্ছে" />
- আপনার সাম্প্রতিক রিলিজ বা অতীতের রিলিজ সম্পর্কে ডেটা দেখতে অ্যাপ ভার্সন অনুযায়ী ফিল্টার করুন
- পুরনো ডিভাইস কীভাবে আপনার অ্যাপ ম্যানেজ করে তা জানতে ডিভাইস অনুযায়ী ফিল্টার করুন
- আপনার ডেটাবেসের লোকেশন যাতে কোনও নির্দিষ্ট অঞ্চলকে প্রভাবিত না করে তা নিশ্চিত করতে দেশ অনুযায়ী ফিল্টার করুন অঞ্চল
আপনার ট্রেসের জন্য ডেটা দেখার ব্যাপারে আরও জানুন।
পরবর্তী ধাপ
পারফর্ম্যান্স ডেটা পরীক্ষা করতে অ্যাট্রিবিউট ব্যবহার করা সম্পর্কে আরও জানুন।
Firebase কনসোলে কীভাবে পারফর্ম্যান্স সংক্রান্ত সমস্যা ট্র্যাক করবেন সেই সম্পর্কে আরও জানুন।
আপনার অ্যাপের পারফর্ম্যান্স খারাপ করছে এমন নেটওয়ার্ক রিকোয়েস্টের জন্য অ্যালার্ট সেট-আপ করুন। যেমন, নির্দিষ্ট URL প্যাটার্নের জন্য প্রতিক্রিয়া জানানোর সময় আপনার সেট করা থ্রেশহোল্ডের থেকে বেশি হলে, আপনার টিমের জন্য ইমেল অ্যালার্ট কনফিগার করতে পারবেন।
- ব্যবহারকারীর সেশন-এর বিস্তারিত রিপোর্ট দেখুন, যেখানে আপনি একই সেশন চলাকালীন সংগ্রহ করা অন্যান্য ট্রেসের টাইমলাইন প্রসঙ্গে একটি নির্দিষ্ট ট্রেস দেখতে পাবেন।