Performance Monitoring আপনার অ্যাপে নিরীক্ষণ করা প্রক্রিয়া সম্পর্কে ডেটা সংগ্রহ করতে ট্রেস ব্যবহার করে। একটি ট্রেস হল একটি প্রতিবেদন যাতে আপনার অ্যাপে দুটি সময়ের মধ্যে ক্যাপচার করা ডেটা থাকে।
সব ধরনের অ্যাপের জন্য, Performance Monitoring স্বয়ংক্রিয়ভাবে আপনার অ্যাপ দ্বারা জারি করা প্রতিটি নেটওয়ার্ক অনুরোধের জন্য একটি ট্রেস সংগ্রহ করে, যাকে বলা হয় HTTP/S নেটওয়ার্ক অনুরোধ ট্রেস । এই ট্রেসগুলি আপনার অ্যাপ যখন কোনও পরিষেবার এন্ডপয়েন্টে একটি অনুরোধ জারি করে এবং সেই শেষপয়েন্ট থেকে প্রতিক্রিয়া সম্পূর্ণ হওয়ার মধ্যবর্তী সময়ের জন্য মেট্রিক্স সংগ্রহ করে৷ আপনার অ্যাপ অনুরোধ করে এমন যেকোনো শেষ পয়েন্টের জন্য, Performance Monitoring বেশ কয়েকটি মেট্রিক্স ক্যাপচার করে:
প্রতিক্রিয়ার সময় - যখন অনুরোধ করা হয় এবং কখন প্রতিক্রিয়া সম্পূর্ণরূপে প্রাপ্ত হয় তার মধ্যে সময়
রেসপন্স পেলোড সাইজ — অ্যাপ দ্বারা ডাউনলোড করা নেটওয়ার্ক পেলোডের বাইট সাইজ
অনুরোধ পেলোড আকার — অ্যাপ দ্বারা আপলোড করা নেটওয়ার্ক পেলোডের বাইট আকার
সাফল্যের হার — মোট প্রতিক্রিয়ার তুলনায় সফল প্রতিক্রিয়ার শতাংশ (100 - 399 পরিসরে প্রতিক্রিয়া কোড)
আপনি ট্রেস টেবিলের নেটওয়ার্ক অনুরোধ সাবট্যাবে এই ট্রেসগুলি থেকে ডেটা দেখতে পারেন, যা পারফরম্যান্স ড্যাশবোর্ডের নীচে (এই পৃষ্ঠায় পরে কনসোল ব্যবহার সম্পর্কে আরও জানুন)।
Performance Monitoring স্বয়ংক্রিয়ভাবে নেটওয়ার্ক অনুরোধগুলির জন্য মেট্রিক্স সংগ্রহ করে যা নিম্নলিখিত নেটওয়ার্কিং লাইব্রেরিগুলি ব্যবহার করে:
OkHttp3 , বিশেষ করে HTTP ক্লায়েন্ট v3.xx
জাভার URL সংযোগ , বিশেষ করে HttpURL সংযোগ এবং HttpsURL সংযোগ
আপনি যদি এই লাইব্রেরিটি ব্যবহার করেন তবে Apache HTTP ক্লায়েন্ট অপসারণ এবং Apache HTTP ক্লায়েন্ট অবচয় সম্পর্কে পড়তে ভুলবেন না।
নেটওয়ার্ক অনুরোধ ডেটা একত্রীকরণ কাস্টমাইজ করুন
নেটওয়ার্ক অনুরোধের জন্য আউট-অফ-দ্য-বক্স টুলিং এবং ডেটা একত্রীকরণ ছাড়াও, Performance Monitoring নিম্নলিখিত বিকল্পগুলিকে সমর্থন করে:
- ম্যানুয়ালি ইনস্ট্রুমেন্ট নেটওয়ার্ক রিকোয়েস্ট ট্রেস: আউট-অফ-দ্য-বক্স পর্যবেক্ষণে আপনার অ্যাপের জন্য বেশিরভাগ নেটওয়ার্ক অনুরোধ অন্তর্ভুক্ত থাকে। যাইহোক, কিছু অনুরোধ রিপোর্ট করা নাও হতে পারে বা আপনি নেটওয়ার্ক অনুরোধ করতে একটি ভিন্ন লাইব্রেরি ব্যবহার করতে পারেন। এই ক্ষেত্রে, আপনি কাস্টম নেটওয়ার্ক অনুরোধ ট্রেসগুলিকে ম্যানুয়ালি ইনস্ট্রুমেন্ট করতে Performance Monitoring API ব্যবহার করতে পারেন৷
- কাস্টম ইউআরএল প্যাটার্নের অধীনে একত্রিত ডেটা: যদি নির্দিষ্ট ইউআরএল থাকে যা ফায়ারবেস তার প্রাপ্ত স্বয়ংক্রিয় ইউআরএল প্যাটার্ন ম্যাচিং দিয়ে ক্যাপচার করছে না, তাহলে আপনি সময়ের সাথে ইউআরএলের একটি নির্দিষ্ট সেট নিরীক্ষণ করতে কাস্টম ইউআরএল প্যাটার্ন তৈরি করতে পারেন।
- সাফল্যের হার কীভাবে গণনা করা হয় তা কাস্টমাইজ করুন: কখনও কখনও নির্দিষ্ট API এন্ডপয়েন্টের জন্য একটি ত্রুটি কোড প্রত্যাশিত হয় বা আপনার অ্যাপে ইতিমধ্যেই পরিচালনা করা হয়। এই ক্ষেত্রে, আপনি কীভাবে সাফল্যের হার গণনা করা হয় তা কনফিগার করতে পারেন এবং আপনার অ্যাপের নেটওয়ার্ক কলগুলির সাফল্যের হার আরও নিখুঁতভাবে নিরীক্ষণ করতে পারেন।
ইউআরএল প্যাটার্নের অধীনে ডেটা একত্রিত করা
Firebase Performance Monitoring স্বয়ংক্রিয়ভাবে অনুরূপ নেটওয়ার্ক অনুরোধের জন্য ডেটা একত্রিত করে যাতে আপনি আপনার নেটওয়ার্ক অনুরোধের কার্যক্ষমতার প্রবণতা বুঝতে সাহায্য করে।
প্রতিটি অনুরোধের জন্য, Firebase চেক করে যে নেটওয়ার্ক অনুরোধের URL একটি URL প্যাটার্নের সাথে মেলে কিনা। অনুরোধের URL একটি URL প্যাটার্নের সাথে মিলে গেলে, Firebase স্বয়ংক্রিয়ভাবে URL প্যাটার্নের অধীনে অনুরোধের ডেটা একত্রিত করে। Firebase Firebase কনসোলের পারফরম্যান্স ড্যাশবোর্ডে নেটওয়ার্ক ট্যাবে URL প্যাটার্ন এবং তাদের সমষ্টিগত ডেটা প্রদর্শন করে।
একটি URL প্যাটার্ন কি?
একটি URL প্যাটার্নে একটি ডোমেন এবং একটি প্যাটার্ন থাকে যা একটি URL পাথের সাথে মেলে, উদাহরণস্বরূপ: example.com/*/animals/**
।
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/**
।
ফায়ারবেস প্রতিটি অনুরোধকে শুধুমাত্র একটি URL প্যাটার্নে ম্যাপ করে। আপনি যদি কোনো কাস্টম ইউআরএল প্যাটার্ন কনফিগার করে থাকেন, ফায়ারবেস প্রথমে সেই প্যাটার্নের সাথে অনুরোধের ইউআরএল মেলানোর চেষ্টা করে। যদি Firebase কোনো মিলিত কাস্টম URL প্যাটার্ন খুঁজে না পায়, তাহলে এটি সবচেয়ে প্রতিনিধিত্বমূলক স্বয়ংক্রিয় URL প্যাটার্নের সাথে একটি অনুরোধ URL এর সাথে মেলে। নিম্নলিখিত বিভাগে স্বয়ংক্রিয় এবং কাস্টম URL প্যাটার্ন সম্পর্কে আরও জানুন।
স্বয়ংক্রিয় URL প্যাটার্ন
আপনার কোনো কনফিগারেশন ছাড়াই, Performance Monitoring স্বয়ংক্রিয় URL প্যাটার্নের সাথে আপনার অ্যাপের অনুরোধের সাথে মিল করে আপনার অ্যাপের সর্বশেষ ব্যবহার আচরণ প্রতিফলিত করার চেষ্টা করে।
কিভাবে স্বয়ংক্রিয় URL প্যাটার্ন মিলে কাজ করে?
Firebase প্রতিটি অনুরোধের সাথে সর্বাধিক প্রতিনিধিত্বশীল স্বয়ংক্রিয় URL প্যাটার্নের সাথে মেলে যা এটি আপনার অ্যাপের পাঠানো অনুরোধ থেকে প্রাপ্ত হয়েছে। উল্লেখ্য, যদিও, Firebase অনুরোধের URL গুলিকে যে কোনো কনফিগার করা কাস্টম URL প্যাটার্নের সাথে মেলানোর চেষ্টা করে।
Firebase কীভাবে আপনার অ্যাপের জন্য সবচেয়ে প্রতিনিধিত্বশীল স্বয়ংক্রিয় URL প্যাটার্নের সাথে অনুরোধগুলিকে মেলানোর চেষ্টা করে তার একটি প্রাথমিক উদাহরণ নিচে দেওয়া হল।
আপনার অ্যাপ ইউআরএল-এ অনেক অনুরোধ পাঠায় যেমন:
-
example.com/germany/animals/bears
-
example.com/germany/animals/birds
-
example.com/germany/cars
Firebase নির্ধারণ করে যে
example.com/germany/**
এই ইউআরএল প্যাটার্নের সাথে যেকোনও নতুন মিলে যাওয়া অনুরোধের জন্য, Firebase স্বয়ংক্রিয় URL প্যাটার্ন
example.com/germany/**
এর অধীনে অনুরোধের ডেটা একত্রিত করে।-
এক সপ্তাহ পরে, আপনার অ্যাপের বেশিরভাগ অনুরোধ
example.com/germany/animals/bears
এবংexample.com/germany/animals/birds
এ। সুতরাং, ফায়ারবেসexample.com/germany/animals/**
এর একটি আরও প্রতিনিধি 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 প্যাটার্ন তৈরি করুন দেখুন।
ট্র্যাক, দেখুন, এবং ফিল্টার কর্মক্ষমতা ডেটা
রিয়েল-টাইম কর্মক্ষমতা ডেটা দেখতে, নিশ্চিত করুন যে আপনার অ্যাপটি একটি পারফরম্যান্স মনিটরিং SDK সংস্করণ ব্যবহার করে যা রিয়েল-টাইম ডেটা প্রক্রিয়াকরণের সাথে সামঞ্জস্যপূর্ণ। রিয়েল-টাইম কর্মক্ষমতা ডেটা সম্পর্কে আরও জানুন ।
আপনার ড্যাশবোর্ডে নির্দিষ্ট মেট্রিক্স ট্র্যাক করুন
আপনার মূল মেট্রিক্স কীভাবে ট্রেন্ড করছে তা জানতে, পারফরম্যান্স ড্যাশবোর্ডের শীর্ষে আপনার মেট্রিক্স বোর্ডে সেগুলি যোগ করুন। আপনি সপ্তাহে সপ্তাহে পরিবর্তনগুলি দেখে দ্রুত রিগ্রেশন শনাক্ত করতে পারেন বা আপনার কোডে সাম্প্রতিক পরিবর্তনগুলি কর্মক্ষমতা উন্নত করছে তা যাচাই করতে পারেন৷
ফায়ারবেস পারফরম্যান্স মনিটরিং ড্যাশবোর্ড" />আপনার মেট্রিক্স বোর্ডে একটি মেট্রিক যোগ করতে, এই ধাপগুলি অনুসরণ করুন:
- Firebase কনসোলে পারফরম্যান্স ড্যাশবোর্ডে যান।
- একটি খালি মেট্রিক কার্ডে ক্লিক করুন, তারপর আপনার বোর্ডে যোগ করতে একটি বিদ্যমান মেট্রিক নির্বাচন করুন।
- আরও বিকল্পের জন্য একটি জনবহুল মেট্রিক কার্ডে ক্লিক করুন, উদাহরণস্বরূপ একটি মেট্রিক প্রতিস্থাপন বা সরানোর জন্য।
মেট্রিক্স বোর্ড সময়ের সাথে সংগৃহীত মেট্রিক ডেটা দেখায়, উভয় গ্রাফিকাল আকারে এবং সংখ্যাগত শতাংশ পরিবর্তন হিসাবে।
ড্যাশবোর্ড ব্যবহার সম্পর্কে আরও জানুন।
ট্রেস এবং তাদের ডেটা দেখুন
আপনার ট্রেস দেখতে, Firebase কনসোলে পারফরম্যান্স ড্যাশবোর্ডে যান, ট্রেস টেবিলে নিচে স্ক্রোল করুন, তারপর উপযুক্ত সাবট্যাবে ক্লিক করুন। সারণী প্রতিটি ট্রেসের জন্য কিছু শীর্ষস্থানীয় মেট্রিক প্রদর্শন করে, এবং আপনি একটি নির্দিষ্ট মেট্রিকের শতাংশ পরিবর্তন দ্বারা তালিকাটি সাজাতেও পারেন।
Performance Monitoring Firebase কনসোলে একটি সমস্যা সমাধানের পৃষ্ঠা সরবরাহ করে যা মেট্রিক পরিবর্তনগুলিকে হাইলাইট করে, এটি আপনার অ্যাপ এবং ব্যবহারকারীদের উপর কার্যক্ষমতা সংক্রান্ত সমস্যাগুলির প্রভাব দ্রুত সমাধান এবং কমিয়ে আনা সহজ করে তোলে। আপনি সম্ভাব্য কর্মক্ষমতা সমস্যা সম্পর্কে জানলে আপনি সমস্যা সমাধানের পৃষ্ঠাটি ব্যবহার করতে পারেন, উদাহরণস্বরূপ, নিম্নলিখিত পরিস্থিতিতে:
- আপনি ড্যাশবোর্ডে প্রাসঙ্গিক মেট্রিক্স নির্বাচন করেন এবং আপনি একটি বড় ডেল্টা লক্ষ্য করেন।
- ট্রেস টেবিলে আপনি শীর্ষে সবচেয়ে বড় ডেল্টা প্রদর্শনের জন্য সাজান, এবং আপনি একটি উল্লেখযোগ্য শতাংশ পরিবর্তন দেখতে পান।
- আপনি একটি ইমেল সতর্কতা পাবেন যা আপনাকে একটি কর্মক্ষমতা সমস্যা সম্পর্কে অবহিত করে।
আপনি নিম্নলিখিত উপায়ে সমস্যা সমাধান পৃষ্ঠা অ্যাক্সেস করতে পারেন:
- মেট্রিক ড্যাশবোর্ডে, মেট্রিকের বিবরণ দেখুন বোতামে ক্লিক করুন।
- যেকোনো মেট্রিক কার্ডে নির্বাচন করুন
- ট্রেস টেবিলে, সেই ট্রেসের সাথে যুক্ত সারিতে একটি ট্রেস নাম বা যেকোনো মেট্রিক মান ক্লিক করুন।
- একটি ইমেল সতর্কতায়, এখন তদন্ত করুন ক্লিক করুন।
আপনি যখন ট্রেস টেবিলে একটি ট্রেস নাম ক্লিক করেন, তখন আপনি আগ্রহের মেট্রিক্সে ড্রিল ডাউন করতে পারেন। ক্লিক করুন
- অতীতের রিলিজ বা আপনার সাম্প্রতিক রিলিজ সম্পর্কে ডেটা দেখতে অ্যাপ সংস্করণ অনুসারে ফিল্টার করুন
- পুরানো ডিভাইসগুলি কীভাবে আপনার অ্যাপ পরিচালনা করে তা জানতে ডিভাইস অনুসারে ফিল্টার করুন
- আপনার ডাটাবেসের অবস্থান একটি নির্দিষ্ট অঞ্চলকে প্রভাবিত করছে না তা নিশ্চিত করতে দেশ অনুসারে ফিল্টার করুন
আপনার ট্রেসের জন্য ডেটা দেখার বিষয়ে আরও জানুন।
পরবর্তী পদক্ষেপ
পারফরম্যান্স ডেটা পরীক্ষা করার জন্য বৈশিষ্ট্যগুলি ব্যবহার করার বিষয়ে আরও জানুন।
Firebase কনসোলে পারফরম্যান্সের সমস্যাগুলি কীভাবে ট্র্যাক করতে হয় সে সম্পর্কে আরও জানুন।
নেটওয়ার্ক অনুরোধের জন্য সতর্কতা সেট আপ করুন যেগুলি আপনার অ্যাপের কর্মক্ষমতা নষ্ট করছে। উদাহরণস্বরূপ, আপনি আপনার দলের জন্য একটি ইমেল সতর্কতা কনফিগার করতে পারেন যদি একটি নির্দিষ্ট URL প্যাটার্নের প্রতিক্রিয়া সময় আপনার সেট করা থ্রেশহোল্ড অতিক্রম করে।
- ব্যবহারকারী সেশনের বিশদ প্রতিবেদন দেখুন যেখানে আপনি একই সেশনের সময় সংগৃহীত অন্যান্য ট্রেসগুলির একটি সময়রেখা প্রসঙ্গে একটি নির্দিষ্ট ট্রেস দেখতে পারেন৷