কোডের পরিবর্তন বা নেটওয়ার্ক অনুরোধের কারণে আপনার অ্যাপের পারফরম্যান্স হ্রাস পেলে, প্রজেক্টের সদস্যদের অবহিত করতে Performance Monitoring অ্যালার্ট ব্যবহার করুন।
আপনি আপনার অ্যাপের জন্য অ্যালার্ট সেট আপ ও কাস্টমাইজ করতে পারেন, যা কোনো ইভেন্টের পারফরম্যান্স একটি নির্দিষ্ট সীমা অতিক্রম করলে আপনাকে অবহিত করবে।
কীসের জন্য অ্যালার্ট চালু হয়?
আপনার অ্যাপের কোনো মেট্রিক যখন Firebase কনসোলে আপনার সংজ্ঞায়িত একটি নির্দিষ্ট পার্সেন্টাইলের (যদি প্রযোজ্য হয়) থ্রেশহোল্ড অতিক্রম করে, তখন একটি অ্যালার্ট ট্রিগার হয়। অ্যালার্টগুলো শুধুমাত্র তখনই ট্রিগার হয়, যদি আপনার অ্যাপ একটি রিয়েল-টাইম সামঞ্জস্যপূর্ণ SDK সংস্করণ ব্যবহার করে।
অ্যাপ শুরুর সময়
আপনি যখন অ্যাপ চালুর সময়ের জন্য একটি অ্যালার্ট কনফিগার করেন, তখন নিম্নলিখিত সমস্ত শর্ত সত্য হলে অ্যালার্টটি ট্রিগার হয়:
- ফায়ারবেস গত এক ঘণ্টায় আপনার অ্যাপের সর্বশেষ সংস্করণের জন্য
_app_startট্রেসের কমপক্ষে১০০টি স্যাম্পল রেকর্ড করেছে। - গত এক ঘণ্টায় এবং কনফিগার করা পার্সেন্টাইল অনুযায়ী
_app_startট্রেসের সময়কাল অ্যাপটির নির্ধারিত থ্রেশহোল্ড অতিক্রম করেছে। - আপনার অ্যাপের সর্বশেষ সংস্করণে একই থ্রেশহোল্ডের জন্য পূর্বে কোনো সতর্কতা জারি করা হয়নি।
কাস্টম কোড ট্রেস
যখন আপনি একটি কাস্টম কোড ট্রেস মেট্রিকের জন্য একটি অ্যালার্ট কনফিগার করেন, তখন নিম্নলিখিত সমস্ত শর্ত সত্য হলে অ্যালার্টটি ট্রিগার হয়:
- ফায়ারবেস গত এক ঘণ্টায় আপনার অ্যাপের সর্বশেষ সংস্করণের জন্য কাস্টম কোড ট্রেসের কমপক্ষে
১০০টি স্যাম্পল রেকর্ড করেছে। - গত এক ঘণ্টায় এবং কনফিগার করা পার্সেন্টাইল অনুযায়ী ট্রেসের সময়কাল অ্যাপটির নির্ধারিত সীমা অতিক্রম করেছে।
- (শুধুমাত্র iOS+ এবং Android-এর জন্য) আপনার অ্যাপের সর্বশেষ সংস্করণে একই থ্রেশহোল্ডের জন্য পূর্বে কোনো সতর্কতা জারি করা হয়নি।
- (শুধুমাত্র ওয়েবের জন্য) বিগত
৩ দিনে একই থ্রেশহোল্ডের জন্য পূর্বে কোনো সতর্কতা জারি করা হয়নি।
নেটওয়ার্ক অনুরোধ
যখন আপনি কোনো নেটওয়ার্ক রিকোয়েস্ট মেট্রিকের জন্য অ্যালার্ট কনফিগার করেন, তখন নিম্নলিখিত সব শর্ত সত্য হলে অ্যালার্টটি ট্রিগার হয়:
- ফায়ারবেস গত এক ঘণ্টায় আপনার অ্যাপের সমস্ত সংস্করণ জুড়ে ইউআরএল প্যাটার্নের সাথে মিলে যাওয়া কমপক্ষে
১০০টি নমুনা রেকর্ড করেছে। - গত এক ঘণ্টায় মেট্রিকটির সমষ্টিগত মান নির্ধারিত সীমা অতিক্রম করেছে:
- প্রতিক্রিয়া সময় : সমষ্টিগত মান কনফিগার করা পার্সেন্টাইলের জন্য নির্ধারিত থ্রেশহোল্ড অতিক্রম করেছে
- সফলতার হার : (শুধুমাত্র iOS+/Android-এর জন্য) সকল ব্যবহারকারীর ক্ষেত্রে সমষ্টিগত মান নির্ধারিত থ্রেশহোল্ডের নিচে নেমে গেছে।
- বিগত
৩ দিনে একই থ্রেশহোল্ডের জন্য পূর্বে কোনো সতর্কতা জারি করা হয়নি।
স্ক্রিন রেন্ডারিং
যখন আপনি কোনো স্ক্রিন রেন্ডারিং মেট্রিকের জন্য একটি অ্যালার্ট কনফিগার করেন, তখন নিম্নলিখিত সমস্ত শর্ত সত্য হলে অ্যালার্টটি ট্রিগার হয়:
- ফায়ারবেস গত এক ঘণ্টায় আপনার অ্যাপের সর্বশেষ সংস্করণের জন্য স্ক্রিন রেন্ডারিংয়ের কমপক্ষে
১০০টি নমুনা রেকর্ড করেছে। - গত এক ঘণ্টায় মেট্রিকটির সমষ্টিগত মান নির্ধারিত সীমা অতিক্রম করেছে:
- স্থির ফ্রেম : সমষ্টিগত মান নির্ধারিত সীমা অতিক্রম করেছে
- ধীরগতির ফ্রেম : সমষ্টিগত মান নির্ধারিত সীমা অতিক্রম করেছে
- আপনার অ্যাপের সর্বশেষ সংস্করণে একই থ্রেশহোল্ডের জন্য পূর্বে কোনো সতর্কতা জারি করা হয়নি।
পৃষ্ঠা লোড হয়
যখন আপনি কোনো পেজ লোড মেট্রিকের জন্য অ্যালার্ট কনফিগার করেন, তখন নিম্নলিখিত সব শর্ত সত্য হলে অ্যালার্টটি ট্রিগার হয়:
- ফায়ারবেস গত এক ঘণ্টায় আপনার অ্যাপের পেজ লোডিংয়ের কমপক্ষে
১০০টি নমুনা রেকর্ড করেছে। - গত এক ঘণ্টায় এবং কনফিগার করা পার্সেন্টাইলের জন্য মেট্রিকটির সমষ্টিগত মান নির্ধারিত থ্রেশহোল্ড অতিক্রম করেছে:
- প্রথম ইনপুট বিলম্ব : সমষ্টিগত মান নির্ধারিত থ্রেশহোল্ড এবং কনফিগার করা পার্সেন্টাইল অতিক্রম করেছে
- প্রথম বিষয়বস্তুপূর্ণ পেইন্ট : সমষ্টিগত মান নির্ধারিত থ্রেশহোল্ড এবং কনফিগার করা পার্সেন্টাইল অতিক্রম করেছে।
- প্রথম ত্রুটি : সমষ্টিগত মান নির্ধারিত থ্রেশহোল্ড এবং কনফিগার করা পার্সেন্টাইল অতিক্রম করেছে।
- বিগত
৩ দিনে একই থ্রেশহোল্ডের জন্য পূর্বে কোনো সতর্কতা জারি করা হয়নি।
অ্যালার্ট কনফিগার করা , ডিফল্ট পার্সেন্টাইল এবং নির্দিষ্ট ধরনের ট্রেস ও মেট্রিক্সের জন্য অ্যালার্ট সেট আপ করার সেরা পদ্ধতি সম্পর্কে আরও জানুন।
Performance Monitoring জন্য অন্যান্য পারফরম্যান্স মেট্রিক্স অথবা স্ল্যাক, জিরা বা পেজারডিউটির সাথে ফায়ারবেস-কনসোল দ্বারা কনফিগার করা ইন্টিগ্রেশনের অ্যালার্ট উপলব্ধ নয়।
সতর্কতা গ্রহণ করুন
ডিফল্ট সতর্কতা পান
ডিফল্টরূপে, ফায়ারবেস ইমেলের মাধ্যমে Performance Monitoring অ্যালার্ট পাঠাতে পারে।
এই ডিফল্ট পদ্ধতির মাধ্যমে Performance Monitoring অ্যালার্ট পেতে হলে, আপনার firebaseperformance.config.update পারমিশন থাকতে হবে। নিম্নলিখিত রোলগুলিতে এই প্রয়োজনীয় পারমিশনটি ডিফল্টরূপে অন্তর্ভুক্ত থাকে:
- ফায়ারবেস পারফরম্যান্স অ্যাডমিন
- ফায়ারবেস কোয়ালিটি অ্যাডমিন
- ফায়ারবেস অ্যাডমিন
- প্রকল্পের মালিক বা সম্পাদক
অ্যালার্ট এবং এর সেটিংস প্রোজেক্ট-ব্যাপী। এর মানে হলো, ডিফল্টরূপে, যখন কোনো পারফরম্যান্স অ্যালার্ট ট্রিগার হবে, তখন প্রোজেক্টের প্রত্যেক সদস্য একটি ইমেল পাবেন। অ্যালার্টগুলো শুধুমাত্র সেইসব প্রোজেক্ট সদস্যদের কাছে পাঠানো হয় যাদের অ্যালার্ট পাওয়ার জন্য প্রয়োজনীয় অনুমতি রয়েছে এবং স্বতন্ত্র ইমেল ঠিকানায় পাঠানো হয় (গুগল গ্রুপ বা গুগল ওয়ার্কস্পেস অ্যাকাউন্টের মতো অ্যাকাউন্টের কোনো গ্রুপে নয়)।
আপনার নিজের অ্যাকাউন্টের জন্য সতর্কতা চালু/বন্ধ করুন
আপনার নিজের অ্যাকাউন্টের জন্য, আপনি প্রোজেক্টের অন্য সদস্যদের প্রভাবিত না করেই Performance Monitoring অ্যালার্ট চালু/বন্ধ করতে পারেন। মনে রাখবেন, অ্যালার্ট পাওয়ার জন্য আপনার প্রয়োজনীয় অনুমতিগুলো থাকা আবশ্যক।
Performance Monitoring অ্যালার্ট চালু বা বন্ধ করতে, এই ধাপগুলো অনুসরণ করুন:
- Firebase কনসোলের উপরের ডান কোণায় যান
ফায়ারবেস অ্যালার্ট । - তারপর, যান
-এ যান এবং Performance Monitoring অ্যালার্টের জন্য আপনার অ্যাকাউন্টের পছন্দ সেট করুন।
তৃতীয় পক্ষের পরিষেবাগুলিতে উন্নত সতর্কীকরণ ব্যবস্থা সেট আপ করুন
আপনি Cloud Functions for Firebase ব্যবহার করে আপনার টিমের পছন্দের নোটিফিকেশন চ্যানেলে Performance Monitoring অ্যালার্টও পাঠাতে পারেন। উদাহরণস্বরূপ, আপনি এমন একটি ফাংশন লিখতে পারেন যা অ্যাপ চালু হতে দেরি হওয়ার অ্যালার্ট ইভেন্টটি শনাক্ত করে এবং সেই অ্যালার্টের তথ্য Discord, Slack বা Jira-এর মতো কোনো থার্ড-পার্টি সার্ভিসে পোস্ট করে।
Cloud Functions for Firebase ব্যবহার করে উন্নত অ্যালার্টিং ব্যবস্থা সেট আপ করতে, এই ধাপগুলো অনুসরণ করুন:
Firebase-এর জন্য ক্লাউড ফাংশন সেট আপ করুন , যার মধ্যে নিম্নলিখিত কাজগুলো অন্তর্ভুক্ত রয়েছে:
- Node.js বা Python-এর জন্য একটি ডেভেলপমেন্ট এনভায়রনমেন্ট সেট আপ করুন।
- Firebase CLI ইনস্টল করুন এবং সাইন ইন করুন।
- Firebase CLI ব্যবহার করে Cloud Functions for Firebase চালু করুন।
এমন একটি ফাংশন লিখুন এবং স্থাপন করুন যা Performance Monitoring থেকে একটি অ্যালার্ট ইভেন্ট গ্রহণ করে এবং ইভেন্ট পেলোডটি পরিচালনা করে (উদাহরণস্বরূপ, ডিসকর্ডে একটি বার্তায় অ্যালার্টের তথ্য পোস্ট করে)।
আপনি ক্যাপচার করতে পারেন এমন সমস্ত পারফরম্যান্স অ্যালার্ট ইভেন্ট সম্পর্কে জানতে, পারফরম্যান্স মনিটরিং অ্যালার্টের রেফারেন্স ডকুমেন্টেশনে যান।
অবৈধ সতর্কবার্তাগুলির স্বয়ংক্রিয় অপসারণ
Performance Monitoring অ্যালার্টগুলো যাচাই করে নিশ্চিত করে যে ডেটা বৈধ এবং অ্যালার্টগুলো সক্রিয়ভাবে ব্যবহৃত হচ্ছে। নিম্নলিখিত শর্তগুলোর মধ্যে যেকোনো একটি সত্য হলে অ্যালার্টগুলোকে বৈধ বলে গণ্য করা হয়:
- এমন একটি রিসোর্স আইডির জন্য অ্যালার্টটি তৈরি করা হয়, যেটির জন্য Performance Monitoring গত ৯০ দিনের মধ্যে ডেটা পেয়েছে।
- একটি কাস্টম ইউআরএল প্যাটার্নের জন্য সম্প্রতি অ্যালার্টটি তৈরি করা হয়েছে। আপনি একটি কাস্টম ইউআরএল প্যাটার্ন তৈরি করে অ্যালার্ট সেট আপ করার পর, সেই প্যাটার্নের জন্য ডেটা পাঠানোর জন্য ৯০ দিন সময় পান। যদি ৯০ দিনের মধ্যে কোনো ডেটা পাঠানো না হয়, তাহলে Performance Monitoring সেই অ্যালার্টটি সরিয়ে দেয়। কাস্টম ইউআরএল প্যাটার্ন সম্পর্কে আরও তথ্যের জন্য, কাস্টমার ইউআরএল প্যাটার্ন-এর অধীনে অ্যাগ্রিগেট ডেটা দেখুন।
যদি এই শর্তগুলোর কোনোটি পূরণ না হয়, তাহলে Performance Monitoring অ্যালার্টটি সরিয়ে দেয়।
একটি সতর্কতা কনফিগার করুন
Performance Monitoring অ্যালার্ট কনফিগার করতে, আপনার firebaseperformance.config.update পারমিশন থাকতে হবে। নিম্নলিখিত রোলগুলিতে এই প্রয়োজনীয় পারমিশনটি ডিফল্টরূপে অন্তর্ভুক্ত থাকে: Firebase Performance Admin , Firebase Quality Admin , Firebase Admin , এবং প্রোজেক্টের মালিক বা সম্পাদক ।
যদি আপনি এখনও তা না করে থাকেন, তাহলে আপনার অ্যাপে সর্বশেষ Performance Monitoring SDK যোগ করুন। আরও তথ্যের জন্য, ওয়েব , অ্যান্ড্রয়েড , অ্যাপল এবং ফ্লাটার প্ল্যাটফর্মের জন্য গেট স্টার্টেড গাইডগুলো দেখুন।
আপনার নিবন্ধিত প্রতিটি অ্যাপে, আপনি যে মেট্রিকগুলো নিরীক্ষণ করতে চান সেগুলোর জন্য একটি অ্যালার্ট কনফিগার করতে ট্রেসেস টেবিল বা ড্যাশবোর্ড রিপোর্ট কার্ড ব্যবহার করুন। প্রতিটি অ্যাপের জন্য আলাদা আলাদা অ্যালার্ট সেট থাকতে পারে, যার প্রতিটির একটি ভিন্ন থ্রেশহোল্ড থাকবে (অথবা কোনো অ্যালার্ট নাও থাকতে পারে)।
Traces টেবিলে একটি অ্যালার্ট কনফিগার করুন।
Firebase কনসোলের Performance Monitoring ড্যাশবোর্ড ট্যাবে যান এবং তারপরে যে অ্যাপটির জন্য আপনি অ্যালার্ট কনফিগার করতে চান সেটি নির্বাচন করুন।
স্ক্রিনের একেবারে নিচে থাকা ট্রেসেস টেবিলটি পর্যন্ত স্ক্রল করুন।
যে ট্রেস টাইপের জন্য আপনি অ্যালার্ট সেট করতে চান, তার ট্যাবটি নির্বাচন করুন এবং তারপরে প্রযোজ্য সারিটি খুঁজুন।
সারির একেবারে ডানদিকে, ওভারফ্লো মেনু ( ) খুলুন এবং অ্যালার্ট সেটিংস নির্বাচন করুন।
অ্যাপের জন্য অ্যালার্ট থ্রেশহোল্ড এবং পার্সেন্টাইল (যদি প্রযোজ্য হয়) সেট করতে, অথবা অ্যালার্টটি চালু/বন্ধ করতে স্ক্রিনে দেওয়া নির্দেশাবলী অনুসরণ করুন। ডিফল্ট পার্সেন্টাইল হলো অ্যান্ড্রয়েড এবং আইওএস-এর জন্য ৯০তম এবং ওয়েব-এর জন্য ৭৫তম। ডিফল্ট পার্সেন্টাইল সম্পর্কে আরও জানতে, আপনার ড্যাশবোর্ডে ‘Track key metrics’ দেখুন।
ড্যাশবোর্ড রিপোর্ট কার্ডে একটি অ্যালার্ট কনফিগার করুন
Firebase কনসোলের Performance Monitoring ড্যাশবোর্ড ট্যাবে যান এবং তারপরে যে অ্যাপটির জন্য আপনি অ্যালার্ট কনফিগার করতে চান সেটি নির্বাচন করুন।
রিপোর্ট কার্ড ট্যাবে, সেই মেট্রিক কার্ডটি খুঁজুন যার জন্য আপনি একটি অ্যালার্ট কনফিগার করতে চান।
কাঙ্ক্ষিত মেট্রিক কার্ডে, ওভারফ্লো মেনু ( ) খুলুন এবং অ্যালার্ট সেটিংস নির্বাচন করুন।
অ্যাপের জন্য অ্যালার্ট থ্রেশহোল্ড এবং পার্সেন্টাইল (যদি প্রযোজ্য হয়) সেট করতে, অথবা অ্যালার্টটি চালু/বন্ধ করতে স্ক্রিনে দেওয়া নির্দেশাবলী অনুসরণ করুন। ডিফল্ট পার্সেন্টাইল হলো অ্যান্ড্রয়েড এবং আইওএস-এর জন্য ৯০তম এবং ওয়েব-এর জন্য ৭৫তম। ডিফল্ট পার্সেন্টাইল সম্পর্কে আরও জানতে, আপনার ড্যাশবোর্ডে ‘Track key metrics’ দেখুন।
পারফরম্যান্স অ্যালার্ট সেট করার সর্বোত্তম পদ্ধতি
নেটওয়ার্ক অনুরোধ
ফায়ারবেস একই ধরনের নেটওয়ার্ক অনুরোধগুলো থেকে ইউআরএল প্যাটার্নের অধীনে ডেটা একত্রিত করে, যা নিম্নলিখিতগুলির মধ্যে যেকোনো একটি হতে পারে:
ব্যবহারকারী-সংজ্ঞায়িত প্যাটার্ন, যেগুলোকে কাস্টম ইউআরএল প্যাটার্ন বলা হয়।
ফায়ারবেস-ভিত্তিক প্যাটার্ন, যেগুলোকে স্বয়ংক্রিয় ইউআরএল প্যাটার্ন বলা হয়।
আপনার অ্যাপের সাম্প্রতিক ব্যবহারের ধরনের ওপর ভিত্তি করে এই ধরণগুলো সময়ের সাথে সাথে পরিবর্তিত হতে পারে।
আপনার কাস্টম ইউআরএল প্যাটার্নের জন্য অ্যালার্ট সেট আপ করুন।
আপনার কনফিগার করা যেকোনো কাস্টম ইউআরএল প্যাটার্নের জন্য অ্যালার্ট সেট আপ করার পরামর্শ আমরা দিই। যেহেতু Firebase প্রথমে একটি অনুরোধকে কাস্টম ইউআরএল প্যাটার্নের সাথে মেলানোর চেষ্টা করে, তাই একই ধরনের অনুরোধগুলো আরও ধারাবাহিকভাবে একই ইউআরএল প্যাটার্নে ম্যাপ করা হয়। এটি আপনার দলের জন্য একটি কাস্টম ইউআরএল প্যাটার্নের অ্যালার্টকে আরও অর্থবহ এবং কার্যকর করে তোলে, কারণ আপনি ইতিমধ্যেই অনুরোধের সেই নির্দিষ্ট প্যাটার্নটিকে আপনার অ্যাপের জন্য গুরুত্বপূর্ণ হিসেবে চিহ্নিত করেছেন।
স্বয়ংক্রিয় URL প্যাটার্নের জন্য অ্যালার্ট সেট আপ করুন
একটি স্বয়ংক্রিয় ইউআরএল প্যাটার্নের জন্য অ্যালার্ট সেট করার সময়, নিশ্চিত করুন যে প্যাটার্নটি কয়েক দিনের জন্য স্থিতিশীল হয়েছে। মনে রাখবেন যে স্বয়ংক্রিয় ইউআরএল প্যাটার্ন সময়ের সাথে সাথে পরিবর্তিত হতে পারে এবং অ্যালার্ট কনফিগারেশন নতুন ইউআরএল প্যাটার্নে স্থানান্তরিত হয় না। এর ফলে আপনার প্রয়োজনীয় প্যাটার্নগুলোর জন্য ভুল বা অনুপস্থিত অ্যালার্ট আসতে পারে। এই প্যাটার্নটি স্থিতিশীল আছে তা নিশ্চিত করতে আপনি একটি কাস্টম ইউআরএল প্যাটার্ন তৈরি করার কথাও বিবেচনা করতে পারেন।
ওয়েব পেজ লোড হয়
ওয়েব মেট্রিক্স পরিমাপের জন্য প্রস্তাবিত থ্রেশহোল্ড সম্পর্কে জানতে, কোর ওয়েব ভাইটালস ডকুমেন্টেশন দেখুন।
স্ক্রিন রেন্ডারিং
সর্বোত্তম অ্যাপ অভিজ্ঞতা নিশ্চিত করতে, ব্যবহারকারীর সেশন ধীর এবং থেমে যাওয়া ফ্রেম থেকে মুক্ত থাকা উচিত। Performance Monitoring সুপারিশ করে যে আপনি ১%-এর বেশি থেমে যাওয়া ফ্রেমের জন্য এবং ৫%-এর বেশি ধীর ফ্রেমের জন্য অ্যালার্ট সেট আপ করুন। পারফরম্যান্স অ্যালার্ট কনফিগারেশনের সময় আপনি দেখবেন যে এই মানগুলি ডিফল্ট সেটিংস হিসাবে উপস্থিত থাকে। অতিরিক্ত ধীর বা থেমে যাওয়া ফ্রেম এবং অন্যান্য অ্যাপ পারফরম্যান্সের সেরা অনুশীলন সম্পর্কে আরও জানতে, Google Play-এর নির্দেশিকা দেখুন।