Performance Monitoring আপনার অ্যাপে পর্যবেক্ষণ করা প্রক্রিয়া সম্পর্কে ডেটা সংগ্রহ করতে ট্রেস ব্যবহার করে। ট্রেস হল এমন একটি রিপোর্ট যাতে আপনার অ্যাপে দুটি সময়ের মধ্যে ক্যাপচার করা ডেটা থাকে।
সকল ধরণের অ্যাপের জন্য, Performance Monitoring আপনার অ্যাপ দ্বারা জারি করা প্রতিটি নেটওয়ার্ক অনুরোধের জন্য স্বয়ংক্রিয়ভাবে একটি ট্রেস সংগ্রহ করে, যাকে HTTP/S নেটওয়ার্ক অনুরোধ ট্রেস বলা হয়। এই ট্রেসগুলি আপনার অ্যাপ যখন কোনও পরিষেবার শেষ বিন্দুতে অনুরোধ জারি করে এবং সেই শেষ বিন্দু থেকে প্রতিক্রিয়া সম্পূর্ণ হয় তার মধ্যে সময়ের জন্য মেট্রিক্স সংগ্রহ করে। আপনার অ্যাপ যে কোনও শেষ বিন্দুতে অনুরোধ করে, Performance Monitoring বেশ কয়েকটি মেট্রিক্স ক্যাপচার করে:
প্রতিক্রিয়া সময় — অনুরোধ করা থেকে প্রতিক্রিয়া সম্পূর্ণরূপে প্রাপ্তির মধ্যে সময়কাল
রেসপন্স পেলোডের আকার — অ্যাপ দ্বারা ডাউনলোড করা নেটওয়ার্ক পেলোডের বাইট আকার
অনুরোধ পেলোডের আকার — অ্যাপ দ্বারা আপলোড করা নেটওয়ার্ক পেলোডের বাইট আকার
সাফল্যের হার — মোট প্রতিক্রিয়ার তুলনায় সফল প্রতিক্রিয়ার শতাংশ (প্রতিক্রিয়া কোড ১০০ - ৩৯৯ রেঞ্জের মধ্যে)
আপনি ট্রেস টেবিলের নেটওয়ার্ক অনুরোধ সাবট্যাবে এই ট্রেসগুলি থেকে ডেটা দেখতে পারেন, যা পারফরম্যান্স ড্যাশবোর্ডের নীচে রয়েছে (এই পৃষ্ঠায় পরে কনসোল ব্যবহার সম্পর্কে আরও জানুন)।
Performance Monitoring স্বয়ংক্রিয়ভাবে নিম্নলিখিত নেটওয়ার্কিং লাইব্রেরি ব্যবহার করে এমন নেটওয়ার্ক অনুরোধের মেট্রিক্স সংগ্রহ করে:
OkHttp3 , বিশেষ করে HTTP ক্লায়েন্ট v3.xx
জাভার URLConnection , বিশেষ করে HttpURLConnection এবং HttpsURLConnection
আপনি যদি এই লাইব্রেরিটি ব্যবহার করেন, তাহলে Apache HTTP ক্লায়েন্ট অপসারণ এবং Apache HTTP ক্লায়েন্ট অবচয় সম্পর্কে পড়তে ভুলবেন না।
নেটওয়ার্ক অনুরোধ ডেটা একত্রিতকরণ কাস্টমাইজ করুন
নেটওয়ার্ক অনুরোধের জন্য আউট-অফ-দ্য-বক্স টুলিং এবং ডেটা একত্রীকরণের পাশাপাশি, 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 প্যাটার্নগুলি হতে পারে:
- ফায়ারবেস থেকে প্রাপ্ত প্যাটার্ন — যাকে বলা হয় স্বয়ংক্রিয় URL প্যাটার্ন
- ব্যবহারকারী-সংজ্ঞায়িত প্যাটার্ন — যাকে বলা হয় কাস্টম URL প্যাটার্ন
উদাহরণস্বরূপ: নিম্নলিখিত URL অনুরোধগুলির যেকোনো একটি URL প্যাটার্ন example.com/*/animals/** এর সাথে মিলতে পারে।
-
example.com/singapore/animals -
example.com/australia/animals/spiders -
example.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 মেলানোর চেষ্টা করে।
আপনার অ্যাপের জন্য সবচেয়ে প্রতিনিধিত্বমূলক স্বয়ংক্রিয় URL প্যাটার্নের সাথে Firebase কীভাবে অনুরোধগুলি মেলানোর চেষ্টা করে তার একটি মৌলিক উদাহরণ নিচে দেওয়া হল।
আপনার অ্যাপটি URL গুলিতে অনেক অনুরোধ পাঠায় যেমন:
-
example.com/germany/animals/bears -
example.com/germany/animals/birds -
example.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/carsএexample.com/germany/**অধীনে অনুরোধের ডেটা একত্রিত করে চলেছে।তবে, পরবর্তী কয়েক সপ্তাহ ধরে, আপনার অ্যাপের
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 প্যাটার্ন এবং তাদের ডেটা দেখুন
ফায়ারবেস সমস্ত URL প্যাটার্ন এবং তাদের সমষ্টিগত ডেটা ট্রেস টেবিলের নেটওয়ার্ক অনুরোধ সাবট্যাবে প্রদর্শন করে, যা Firebase কনসোলের পারফরম্যান্স ড্যাশবোর্ডের নীচে অবস্থিত।
আপনি একটি অশ্রেণীবদ্ধ লেবেল সহ URL প্যাটার্ন দেখতে পারেন। এগুলি হল "বিস্তৃত" স্বয়ংক্রিয় URL প্যাটার্ন যার অধীনে Firebase এমন অনুরোধগুলির জন্য ডেটা একত্রিত করতে পারে যা কোনও নির্দিষ্ট URL প্যাটার্নের সাথে মেলে না।
যখন একটি URL প্যাটার্নের অধীনে সংগৃহীত ডেটার জন্য ডেটা ধরে রাখার সময়কাল শেষ হয়, তখন Firebase URL প্যাটার্ন থেকে সেই ডেটা মুছে ফেলে। যদি একটি স্বয়ংক্রিয় URL প্যাটার্নের অধীনে সংগৃহীত সমস্ত ডেটার মেয়াদ শেষ হয়ে যায়, তাহলে Firebase Firebase কনসোল থেকে সেই URL প্যাটার্নটি মুছে ফেলে।
কাস্টম URL প্যাটার্ন
আপনি কাস্টম URL প্যাটার্ন তৈরি করতে পারেন যাতে নির্দিষ্ট URL প্যাটার্নগুলি নিরীক্ষণ করা যায় যা Firebase তার প্রাপ্ত স্বয়ংক্রিয় URL প্যাটার্ন ম্যাচিং দিয়ে ক্যাপচার করছে না। উদাহরণস্বরূপ, আপনি একটি নির্দিষ্ট URL সমস্যা সমাধানের জন্য বা সময়ের সাথে সাথে URL-এর একটি নির্দিষ্ট সেট নিরীক্ষণ করতে একটি কাস্টম URL প্যাটার্ন ব্যবহার করতে পারেন।
আরও জানতে কাস্টম URL প্যাটার্ন তৈরি করুন দেখুন।
কর্মক্ষমতা ডেটা ট্র্যাক করুন, দেখুন এবং ফিল্টার করুন
রিয়েল-টাইম পারফর্ম্যান্স ডেটা দেখতে, নিশ্চিত করুন যে আপনার অ্যাপটি এমন একটি পারফর্ম্যান্স মনিটরিং SDK সংস্করণ ব্যবহার করে যা রিয়েল-টাইম ডেটা প্রক্রিয়াকরণের সাথে সামঞ্জস্যপূর্ণ। রিয়েল-টাইম পারফর্ম্যান্স ডেটা সম্পর্কে আরও জানুন ।
আপনার ড্যাশবোর্ডে নির্দিষ্ট মেট্রিক্স ট্র্যাক করুন
আপনার মূল মেট্রিকগুলি কীভাবে ট্রেন্ডিং করছে তা জানতে, পারফরম্যান্স ড্যাশবোর্ডের শীর্ষে আপনার মেট্রিক্স বোর্ডে সেগুলি যোগ করুন। সপ্তাহ-প্রতি-সপ্তাহের পরিবর্তনগুলি দেখে আপনি দ্রুত রিগ্রেশন সনাক্ত করতে পারেন অথবা আপনার কোডে সাম্প্রতিক পরিবর্তনগুলি কর্মক্ষমতা উন্নত করছে কিনা তা যাচাই করতে পারেন।
"ফায়ারবেস পারফরম্যান্স মনিটরিং ড্যাশবোর্ড" />আপনার মেট্রিক্স বোর্ডে একটি মেট্রিক যোগ করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
- Firebase কনসোলের পারফরম্যান্স ড্যাশবোর্ডে যান।
- একটি খালি মেট্রিক কার্ডে ক্লিক করুন, তারপর আপনার বোর্ডে যোগ করার জন্য একটি বিদ্যমান মেট্রিক নির্বাচন করুন।
- আরও বিকল্পের জন্য, উদাহরণস্বরূপ, একটি মেট্রিক প্রতিস্থাপন বা অপসারণের জন্য, একটি পূর্ণ মেট্রিক কার্ডে এ ক্লিক করুন।
মেট্রিক্স বোর্ড সময়ের সাথে সাথে সংগৃহীত মেট্রিক ডেটা গ্রাফিক্যাল আকারে এবং সংখ্যাসূচক শতাংশ পরিবর্তন উভয়ভাবেই দেখায়।
ড্যাশবোর্ড ব্যবহার সম্পর্কে আরও জানুন।
ট্রেস এবং তাদের ডেটা দেখুন
আপনার ট্রেসগুলি দেখতে, Firebase কনসোলের পারফরম্যান্স ড্যাশবোর্ডে যান, ট্রেস টেবিলে স্ক্রোল করুন, তারপর উপযুক্ত সাবট্যাবে ক্লিক করুন। টেবিলটি প্রতিটি ট্রেসের জন্য কিছু শীর্ষ মেট্রিক্স প্রদর্শন করে এবং আপনি একটি নির্দিষ্ট মেট্রিকের শতাংশ পরিবর্তন অনুসারে তালিকাটি সাজাতে পারেন।
Firebase কনসোলে Performance Monitoring একটি সমস্যা সমাধান পৃষ্ঠা প্রদান করে যা মেট্রিক পরিবর্তনগুলিকে হাইলাইট করে, যা আপনার অ্যাপ এবং ব্যবহারকারীদের উপর পারফরম্যান্স সমস্যার দ্রুত সমাধান করা এবং প্রভাব কমানো সহজ করে তোলে। সম্ভাব্য পারফরম্যান্স সমস্যা সম্পর্কে জানতে, উদাহরণস্বরূপ, নিম্নলিখিত পরিস্থিতিতে, আপনি সমস্যা সমাধান পৃষ্ঠাটি ব্যবহার করতে পারেন:
- আপনি ড্যাশবোর্ডে প্রাসঙ্গিক মেট্রিক্স নির্বাচন করেন এবং আপনি একটি বড় ডেল্টা লক্ষ্য করেন।
- ট্রেস টেবিলে আপনি উপরে সবচেয়ে বড় ডেল্টাগুলি প্রদর্শন করার জন্য সাজান, এবং আপনি একটি উল্লেখযোগ্য শতাংশ পরিবর্তন দেখতে পাবেন।
- আপনি একটি ইমেল সতর্কতা পাবেন যেখানে আপনাকে কর্মক্ষমতা সংক্রান্ত সমস্যার বিষয়ে জানানো হবে।
আপনি নিম্নলিখিত উপায়ে সমস্যা সমাধান পৃষ্ঠাটি অ্যাক্সেস করতে পারেন:
- মেট্রিক ড্যাশবোর্ডে, মেট্রিক বিবরণ দেখুন বোতামে ক্লিক করুন।
- যেকোনো মেট্রিক কার্ডে, নির্বাচন করুন
=> বিস্তারিত দেখুন । সমস্যা সমাধান পৃষ্ঠাটি আপনার নির্বাচিত মেট্রিক সম্পর্কে তথ্য প্রদর্শন করে। - ট্রেস টেবিলে, ট্রেসের নাম অথবা সেই ট্রেসের সাথে সম্পর্কিত সারিতে থাকা যেকোনো মেট্রিক মানে ক্লিক করুন।
- একটি ইমেল সতর্কতায়, এখনই তদন্ত করুন ক্লিক করুন।
যখন আপনি ট্রেস টেবিলে একটি ট্রেস নামে ক্লিক করেন, তখন আপনি আগ্রহের মেট্রিক্সগুলি ড্রিল করতে পারেন। ক্লিক করুন
"Firebase Performance Monitoring ডেটা অ্যাট্রিবিউট" /> দ্বারা ফিল্টার করা হচ্ছে- আপনার পূর্ববর্তী রিলিজ বা সর্বশেষ রিলিজ সম্পর্কে ডেটা দেখতে অ্যাপ ভার্সন অনুসারে ফিল্টার করুন
- পুরনো ডিভাইসগুলি আপনার অ্যাপ কীভাবে পরিচালনা করে তা জানতে ডিভাইস অনুসারে ফিল্টার করুন
- আপনার ডাটাবেসের অবস্থান কোনও নির্দিষ্ট অঞ্চলকে প্রভাবিত করছে না তা নিশ্চিত করতে দেশ অনুসারে ফিল্টার করুন।
আপনার ট্রেসের ডেটা দেখার বিষয়ে আরও জানুন।
পরবর্তী পদক্ষেপ
পারফর্ম্যান্স ডেটা পরীক্ষা করার জন্য অ্যাট্রিবিউট ব্যবহার সম্পর্কে আরও জানুন।
Firebase কনসোলে কর্মক্ষমতা সংক্রান্ত সমস্যাগুলি কীভাবে ট্র্যাক করবেন সে সম্পর্কে আরও জানুন।
আপনার অ্যাপের কর্মক্ষমতা হ্রাসকারী নেটওয়ার্ক অনুরোধগুলির জন্য সতর্কতা সেট আপ করুন । উদাহরণস্বরূপ, যদি কোনও নির্দিষ্ট URL প্যাটার্নের প্রতিক্রিয়া সময় আপনার সেট করা থ্রেশহোল্ড অতিক্রম করে তবে আপনি আপনার দলের জন্য একটি ইমেল সতর্কতা কনফিগার করতে পারেন।
- ব্যবহারকারীর সেশনের বিস্তারিত প্রতিবেদন দেখুন যেখানে আপনি একই সেশনের সময় সংগৃহীত অন্যান্য ট্রেসের একটি টাইমলাইন প্রসঙ্গে একটি নির্দিষ্ট ট্রেস দেখতে পাবেন।