এই পৃষ্ঠাটি পারফরম্যান্স মনিটরিং শুরু করার জন্য বা পারফরম্যান্স মনিটরিং বৈশিষ্ট্য এবং টুলিং ব্যবহার করার জন্য সমস্যা সমাধানের পরামর্শ প্রদান করে।
সমস্যা সমাধানের জন্য প্রথমে পরীক্ষা করে
নিম্নলিখিত দুটি চেক হল সাধারণ সর্বোত্তম অনুশীলন যা পরবর্তী সমস্যা সমাধানের আগে যে কারও জন্য সুপারিশ করা হয়।
1. পারফরম্যান্স ইভেন্টগুলির জন্য লগ বার্তাগুলি পরীক্ষা করুন৷
পারফরম্যান্স মনিটরিং SDK পারফরম্যান্স ইভেন্টগুলি ক্যাপচার করছে কিনা তা নিশ্চিত করতে আপনার লগ বার্তাগুলি পরীক্ষা করুন৷
পারফরম্যান্স ইভেন্টগুলির জন্য লগ বার্তাগুলি কীভাবে দেখতে হয়
আপনার ব্রাউজারের বিকাশকারী সরঞ্জামগুলি খুলুন (উদাহরণস্বরূপ, Chrome ডেভ টুলগুলির জন্য নেটওয়ার্ক ট্যাব বা Firefox এর জন্য নেটওয়ার্ক মনিটরে )৷
ব্রাউজারে আপনার ওয়েব অ্যাপ রিফ্রেশ করুন।
কোনো ত্রুটি বার্তা জন্য আপনার লগ বার্তা পরীক্ষা করুন.
কয়েক সেকেন্ড পরে, আপনার ব্রাউজারের বিকাশকারী সরঞ্জামগুলিতে
firebaselogging.googleapis.com
এ একটি নেটওয়ার্ক কল খুঁজুন। সেই নেটওয়ার্ক কলের উপস্থিতি দেখায় যে ব্রাউজারটি ফায়ারবেসে কর্মক্ষমতা ডেটা পাঠাচ্ছে।
যদি আপনার অ্যাপ পারফরম্যান্স ইভেন্টগুলি লগিং না করে, তাহলে সমস্যা সমাধানের টিপস পর্যালোচনা করুন৷
2. ফায়ারবেস স্ট্যাটাস ড্যাশবোর্ড চেক করুন
Firebase বা পারফরম্যান্স মনিটরিংয়ের জন্য পরিচিত কোনো বিভ্রাট হলে Firebase স্ট্যাটাস ড্যাশবোর্ড দেখুন।
পারফরম্যান্স মনিটরিং দিয়ে শুরু করা
আপনি যদি পারফরম্যান্স মনিটরিং ( iOS+ | Android | Web ) দিয়ে শুরু করছেন, তাহলে নিম্নলিখিত সমস্যা সমাধানের টিপসগুলি Firebase-এর SDK সনাক্তকরণ বা Firebase কনসোলে আপনার প্রথম কর্মক্ষমতা ডেটা প্রদর্শনের সাথে জড়িত সমস্যাগুলির জন্য সাহায্য করতে পারে৷
অ্যাপে SDK যোগ করা হয়েছে, কিন্তু কনসোল এখনও SDK যোগ করতে বলে
Firebase শনাক্ত করতে পারে যে আপনি সফলভাবে আপনার অ্যাপে পারফরম্যান্স মনিটরিং SDK যোগ করেছেন কিনা যখন এটি আপনার অ্যাপ থেকে ইভেন্টের তথ্য (যেমন অ্যাপ ইন্টারঅ্যাকশন) পায়। সাধারণত আপনার অ্যাপ শুরু করার 10 মিনিটের মধ্যে, Firebase কনসোলের পারফরম্যান্স ড্যাশবোর্ড একটি "SDK সনাক্ত করা হয়েছে" বার্তা প্রদর্শন করে। তারপর, 30 মিনিটের মধ্যে, ড্যাশবোর্ড প্রাথমিক প্রক্রিয়াকৃত ডেটা প্রদর্শন করে।
আপনি যদি আপনার অ্যাপে SDK-এর সর্বশেষ সংস্করণ যোগ করার 10 মিনিটেরও বেশি সময় হয়ে যায় এবং আপনি এখনও কোনও পরিবর্তন দেখতে না পান, তাহলে আপনার লগ বার্তাগুলি পরীক্ষা করে নিশ্চিত করুন যে পারফরম্যান্স মনিটরিং ইভেন্টগুলি লগিং করছে৷ একটি বিলম্বিত SDK সনাক্তকরণ বার্তার সমস্যা সমাধানের জন্য নীচে বর্ণিত যথাযথ সমস্যা সমাধানের পদক্ষেপগুলি চেষ্টা করুন৷
অ্যাপটি লগিং ইভেন্ট: সমস্যা সমাধানের পদক্ষেপ
আপনি যদি এখনও স্থানীয়ভাবে বিকাশ করছেন, তথ্য সংগ্রহের জন্য আরও ইভেন্ট তৈরি করার চেষ্টা করুন:
পরিবেশন করুন এবং একটি স্থানীয় পরিবেশে আপনার ওয়েব অ্যাপ দেখুন।
আপনার সাইটের জন্য সাবপেজ লোড করে, আপনার অ্যাপের সাথে ইন্টারঅ্যাক্ট করে এবং/অথবা নেটওয়ার্ক অনুরোধ ট্রিগার করে ইভেন্ট তৈরি করুন। পৃষ্ঠা লোড হওয়ার পরে অন্তত 10 সেকেন্ডের জন্য ব্রাউজার ট্যাবটি খোলা রাখা নিশ্চিত করুন৷
নিশ্চিত করুন যে আপনার ফায়ারবেস কনফিগারেশন অবজেক্টটি আপনার অ্যাপে সঠিকভাবে যোগ করা হয়েছে এবং আপনি অবজেক্টটি পরিবর্তন করেননি। বিশেষ করে, নিম্নলিখিত পরীক্ষা করুন:
- কনফিগার অবজেক্টে Firebase ওয়েব অ্যাপ আইডি (
appId
) আপনার অ্যাপের জন্য সঠিক। আপনার settings প্রকল্প সেটিংসের আপনার অ্যাপস কার্ডে আপনার Firebase অ্যাপ আইডি খুঁজুন।
আপনার অ্যাপে কনফিগার অবজেক্টের সাথে কিছু ভুল মনে হলে, নিম্নলিখিতগুলি চেষ্টা করুন:
আপনার অ্যাপে বর্তমানে যে কনফিগার অবজেক্টটি আছে সেটি মুছুন।
একটি নতুন কনফিগার অবজেক্ট পেতে এই নির্দেশাবলী অনুসরণ করুন এবং এটি আপনার ওয়েব অ্যাপে যোগ করুন।
- কনফিগার অবজেক্টে Firebase ওয়েব অ্যাপ আইডি (
যদি SDK ইভেন্টগুলি লগিং করে এবং সবকিছু সঠিকভাবে সেট আপ করা বলে মনে হয়, কিন্তু আপনি এখনও SDK সনাক্তকরণ বার্তা বা প্রক্রিয়াকৃত ডেটা (2 ঘন্টা পরে) দেখতে পাচ্ছেন না, Firebase সহায়তার সাথে যোগাযোগ করুন ৷
অ্যাপটি ইভেন্টগুলি লগ করছে না : সমস্যা সমাধানের পদক্ষেপগুলি৷
নিশ্চিত করুন যে আপনার অ্যাপে পারফরম্যান্স মনিটরিং SDK সঠিকভাবে শুরু হয়েছে ।
নিশ্চিত করুন যে নিম্নলিখিত পতাকার মাধ্যমে পারফরম্যান্স মনিটরিং SDK অক্ষম করা হয়নি :
-
performance.instrumentationEnabled
-
আপনার ব্রাউজার ক্যাশিং অক্ষম করা হয়েছে তা নিশ্চিত করুন, অন্যথায় ব্রাউজারটি কোনো নতুন ইন্সট্রুমেন্টেশন সেটিংস নাও নিতে পারে।
বন্ধ করুন, তারপর ওয়েবপৃষ্ঠা ট্যাবটি পুনরায় খুলুন। আবার লগিং জন্য চেক করুন.
আপনি যদি এইমাত্র আপনার অ্যাপে পারফরম্যান্স মনিটরিং SDK যোগ করেন, তাহলে SDK কাজ শুরু করার জন্য আপনাকে আপনার অ্যাপটি সম্পূর্ণরূপে পুনরায় চালু করতে হতে পারে।
আপনার অ্যাপে অক্ষম করা কিছু খুঁজে না পেলে, Firebase সহায়তার সাথে যোগাযোগ করুন ।
কনসোল বলে যে SDK সনাক্ত করা হয়েছে, কিন্তু কোন ডেটা প্রদর্শিত হয় না
পারফরম্যান্স মনিটরিং পারফরম্যান্স ড্যাশবোর্ডে প্রদর্শন করার আগে কর্মক্ষমতা ইভেন্ট ডেটা প্রক্রিয়া করে।
যদি "SDK সনাক্ত করা" বার্তাটি উপস্থিত হওয়ার 24 ঘন্টারও বেশি সময় হয়ে গেছে এবং আপনি এখনও ডেটা দেখতে পাচ্ছেন না, তাহলে কোনো পরিচিত বিভ্রাট হলে Firebase স্ট্যাটাস ড্যাশবোর্ড দেখুন। যদি কোন বিভ্রাট না থাকে, Firebase সহায়তার সাথে যোগাযোগ করুন ।
সাধারণ সমস্যা সমাধান
আপনি যদি সফলভাবে SDK যোগ করে থাকেন এবং আপনার অ্যাপে পারফরম্যান্স মনিটরিং ব্যবহার করে থাকেন, তাহলে নিম্নলিখিত সমস্যা সমাধানের টিপসগুলি পারফরম্যান্স মনিটরিং বৈশিষ্ট্য এবং টুলিংয়ের সাথে জড়িত সাধারণ সমস্যাগুলির জন্য সাহায্য করতে পারে৷
অ্যাপ পারফরম্যান্স ইভেন্টগুলি লগিং করছে না
আপনি যদি পারফরম্যান্স ইভেন্টগুলির জন্য লগ বার্তাগুলি দেখতে না পান তবে নিম্নলিখিত সমস্যা সমাধানের পদক্ষেপগুলি চেষ্টা করুন:
নিশ্চিত করুন যে আপনার অ্যাপে পারফরম্যান্স মনিটরিং SDK সঠিকভাবে শুরু হয়েছে ।
নিশ্চিত করুন যে নিম্নলিখিত পতাকার মাধ্যমে পারফরম্যান্স মনিটরিং SDK অক্ষম করা হয়নি :
-
performance.instrumentationEnabled
-
আপনার ব্রাউজার ক্যাশিং অক্ষম করা হয়েছে তা নিশ্চিত করুন, অন্যথায় ব্রাউজারটি কোনো নতুন ইন্সট্রুমেন্টেশন সেটিংস নাও নিতে পারে।
বন্ধ করুন, তারপর ওয়েবপৃষ্ঠা ট্যাবটি পুনরায় খুলুন। আবার লগিং জন্য চেক করুন.
আপনি যদি এইমাত্র আপনার অ্যাপে পারফরম্যান্স মনিটরিং SDK যোগ করেন, তাহলে SDK কাজ শুরু করার জন্য আপনাকে আপনার অ্যাপটি সম্পূর্ণরূপে পুনরায় চালু করতে হতে পারে।
আপনার অ্যাপে অক্ষম করা কিছু খুঁজে না পেলে, Firebase সহায়তার সাথে যোগাযোগ করুন ।
কর্মক্ষমতা ড্যাশবোর্ডে প্রথম ইনপুট বিলম্ব ডেটা অনুপস্থিত
আপনি যদি প্রথম ইনপুট বিলম্ব মেট্রিকের জন্য ডেটা দেখতে না পান তবে নিম্নলিখিত সমস্যা সমাধানের পদক্ষেপগুলি চেষ্টা করুন:
সচেতন থাকুন যে পারফরম্যান্স মনিটরিং শুধুমাত্র প্রথম ইনপুট বিলম্বের মেট্রিক রেকর্ড করে যখন কোনো ব্যবহারকারী পৃষ্ঠা লোডের পর প্রথম 5 সেকেন্ডের মধ্যে ওয়েব পৃষ্ঠায় ক্লিক করে।
এই মেট্রিক পরিমাপ করার জন্য আপনি আপনার অ্যাপ সেট আপ করেছেন তা নিশ্চিত করুন। প্রথম ইনপুট বিলম্ব মেট্রিক ম্যানুয়াল সেটআপ প্রয়োজন। বিশেষ করে, আপনাকে এই মেট্রিকের জন্য পলিফিল লাইব্রেরি যোগ করতে হবে। ইনস্টলেশন নির্দেশাবলীর জন্য, লাইব্রেরির ডকুমেন্টেশন পড়ুন।
মনে রাখবেন যে এই পলিফিল লাইব্রেরি যোগ করার প্রয়োজন হয় না পারফরম্যান্স মনিটরিংয়ের জন্য অন্যান্য ওয়েব অ্যাপ মেট্রিক্সের রিপোর্ট করার জন্য।
কর্মক্ষমতা ড্যাশবোর্ডে কাস্টম ট্রেস ডেটা অনুপস্থিত
আপনি কি স্বয়ংক্রিয়ভাবে সংগৃহীত ট্রেসগুলির জন্য কর্মক্ষমতা ডেটা দেখছেন কিন্তু কাস্টম কোড ট্রেসের জন্য নয় ? নিম্নলিখিত সমস্যা সমাধানের পদক্ষেপগুলি চেষ্টা করুন:
Trace API এর মাধ্যমে কাস্টম কোড ট্রেসের সেটআপ পরীক্ষা করুন, বিশেষ করে নিম্নলিখিতগুলি:
- কাস্টম কোড ট্রেস এবং কাস্টম মেট্রিক্সের জন্য নামগুলি অবশ্যই নিম্নলিখিত প্রয়োজনীয়তাগুলি পূরণ করতে হবে: কোনও অগ্রণী বা পিছনের সাদা স্থান নেই, কোনও অগ্রণী আন্ডারস্কোর (
_
) অক্ষর নেই এবং সর্বাধিক দৈর্ঘ্য 32 অক্ষর৷ - সমস্ত ট্রেস শুরু এবং বন্ধ করা আবশ্যক. যে কোনো ট্রেস যা শুরু হয়নি, বন্ধ করা হয়নি বা শুরু হওয়ার আগে বন্ধ করা হয়েছে তা লগ করা হবে না।
মনে রাখবেন যে আপনি
record()
পদ্ধতি ব্যবহার করছেন, তাহলে আপনাকে স্পষ্টভাবে আপনার ট্রেস শুরু বা বন্ধ করতে হবে না।- কাস্টম কোড ট্রেস এবং কাস্টম মেট্রিক্সের জন্য নামগুলি অবশ্যই নিম্নলিখিত প্রয়োজনীয়তাগুলি পূরণ করতে হবে: কোনও অগ্রণী বা পিছনের সাদা স্থান নেই, কোনও অগ্রণী আন্ডারস্কোর (
নিশ্চিত করুন যে নিম্নলিখিত পতাকার মাধ্যমে পারফরম্যান্স মনিটরিং ডেটা সংগ্রহ অক্ষম করা হয়নি :
performance.dataCollectionEnabled
এই পতাকা শুধুমাত্র কাস্টম কোড ট্রেসের জন্য ডেটা সংগ্রহ নিয়ন্ত্রণ করে (সমস্ত ডেটা নয়)।
পারফরম্যান্স মনিটরিং প্রত্যাশিত কাস্টম কোড ট্রেস লগিং করছে কিনা তা নিশ্চিত করতে আপনার লগ বার্তাগুলি পরীক্ষা করুন ৷
যদি পারফরম্যান্স মনিটরিং ইভেন্টগুলি লগিং করে, কিন্তু 24 ঘন্টা পরে কোনও ডেটা প্রদর্শিত না হয়, Firebase সহায়তার সাথে যোগাযোগ করুন ৷
পারফরম্যান্স ড্যাশবোর্ডে নেটওয়ার্ক অনুরোধ ডেটা অনুপস্থিত৷
আপনি যদি নেটওয়ার্ক অনুরোধের ডেটা অনুপস্থিত থাকেন তবে নিম্নলিখিতগুলি সম্পর্কে সচেতন হন:
পারফরম্যান্স মনিটরিং ব্রাউজার API দ্বারা রিপোর্ট করা নেটওয়ার্ক অনুরোধের জন্য স্বয়ংক্রিয়ভাবে মেট্রিক্স সংগ্রহ করে। এই প্রতিবেদনগুলিতে ব্যর্থ নেটওয়ার্ক অনুরোধগুলি অন্তর্ভুক্ত নয়৷
আপনার কোড এবং আপনার কোড দ্বারা ব্যবহৃত নেটওয়ার্কিং লাইব্রেরিগুলির আচরণের উপর নির্ভর করে, পারফরম্যান্স মনিটরিং শুধুমাত্র সম্পূর্ণ হওয়া নেটওয়ার্ক অনুরোধগুলিতে রিপোর্ট করতে পারে। এর মানে হল যে HTTP/S সংযোগগুলি খোলা রেখে দেওয়া হয় তা রিপোর্ট করা যাবে না।
নেটওয়ার্ক অনুরোধ ডেটা প্রত্যাশিত হিসাবে একত্রিত হয় না
পারফরম্যান্স মনিটরিং কীভাবে URL প্যাটার্নের অধীনে নেটওয়ার্ক অনুরোধের ডেটা একত্রিত করে সে সম্পর্কে আরও জানুন।
এছাড়াও আপনি কাস্টম URL প্যাটার্ন ব্যবহার করে দেখতে পারেন!
FAQ
প্রোজেক্ট হোমে পারফরম্যান্স কার্ডে শীর্ষ সমস্যাগুলির কী ঘটেছে?
আমরা আমাদের সাম্প্রতিক সতর্কতার প্রবর্তনের ফলো-আপ হিসাবে সাম্প্রতিক সতর্কতাগুলির সাথে শীর্ষ সমস্যাগুলি প্রতিস্থাপন করেছি, যা আপনার সেট করা থ্রেশহোল্ডগুলি অতিক্রম করার পরে স্বয়ংক্রিয়ভাবে আপনাকে অবহিত করে৷ সমস্যাগুলি এখন অবহেলিত হয়েছে এবং সতর্কতা দ্বারা প্রতিস্থাপিত হয়েছে৷
পারফরম্যান্স কার্ডের শীর্ষে থাকা অ্যাপস নির্বাচক সাম্প্রতিক সতর্কতার অধীনে সতর্কতা এন্ট্রিগুলি ফিল্টার করে। নির্বাচিত অ্যাপ(গুলি) জন্য শুধুমাত্র তিনটি সাম্প্রতিক সতর্কতা প্রদর্শিত হয়৷
সতর্কতা সম্পর্কে আরও জানতে, কর্মক্ষমতা সমস্যাগুলির জন্য সতর্কতা সেট আপ দেখুন।
কনসোলে সমস্যাগুলির জন্য থ্রেশহোল্ড সেট করার ক্ষমতার কী ঘটেছে?
পারফরম্যান্স মনিটরিং সংজ্ঞায়িত থ্রেশহোল্ড অতিক্রম করে এমন মেট্রিকগুলির জন্য সতর্কতা সমর্থন করে। পারফরম্যান্স মেট্রিক্সের জন্য এই কনফিগারযোগ্য থ্রেশহোল্ডগুলির সাথে বিভ্রান্তি এড়াতে, আমরা সমস্যার জন্য থ্রেশহোল্ডগুলি কনফিগার করার ক্ষমতা সরিয়ে দিয়েছি।
ফায়ারবেস কনসোলে বিশদ এবং মেট্রিক্স তথ্যের কী হয়েছে?
আপনি কীভাবে সমস্যার সমাধান করবেন তা উন্নত করতে আমরা একটি নতুন নতুন ডিজাইন করা, কেন্দ্রীভূত ইউজার ইন্টারফেস (UI) দিয়ে বিবরণ এবং মেট্রিক্স পৃষ্ঠাগুলি প্রতিস্থাপন করেছি। এই নতুন সমস্যা সমাধানকারী UI একই মূল কার্যকারিতা অফার করে যা বিবরণ এবং মেট্রিক্স অফার করে। সমস্যা সমাধান সম্পর্কে আরও জানতে, একটি নির্দিষ্ট ট্রেসের জন্য আরও ডেটা দেখুন দেখুন।
কেন নমুনা সংখ্যা আমি আশা করা হয় না?
পারফরম্যান্স মনিটরিং আপনার অ্যাপের ব্যবহারকারী ডিভাইস থেকে কর্মক্ষমতা ডেটা সংগ্রহ করে। যদি আপনার অ্যাপ্লিকেশনটিতে অনেক ব্যবহারকারী থাকে বা অ্যাপটি যদি প্রচুর পরিমাণে কর্মক্ষমতা ক্রিয়াকলাপ তৈরি করে, তবে পারফরম্যান্স মনিটরিং প্রক্রিয়াকৃত ইভেন্টের সংখ্যা কমাতে ডিভাইসের একটি উপসেটে ডেটা সংগ্রহ সীমাবদ্ধ করতে পারে। এই সীমাগুলি যথেষ্ট উচ্চ যাতে, এমনকি কম ইভেন্ট থাকা সত্ত্বেও, মেট্রিক মানগুলি এখনও আপনার ব্যবহারকারীর অ্যাপ অভিজ্ঞতার প্রতিনিধিত্ব করে৷
আমরা যে ডেটা সংগ্রহ করি তার ভলিউম পরিচালনা করতে, পারফরম্যান্স মনিটরিং নিম্নলিখিত নমুনা বিকল্পগুলি ব্যবহার করে:
অন-ডিভাইস রেট সীমিত করা : কোনো ডিভাইসকে হঠাৎ করে বিস্ফোরিত ট্রেস পাঠানো থেকে বিরত রাখতে, আমরা প্রতি 10 মিনিটে একটি ডিভাইস থেকে পাঠানো কোড এবং নেটওয়ার্ক অনুরোধ ট্রেসের সংখ্যা 300টি ইভেন্টে সীমাবদ্ধ করি। এই পদ্ধতিটি ডিভাইসটিকে লুপ করা ইন্সট্রুমেন্টেশন থেকে রক্ষা করে যা প্রচুর পরিমাণে পারফরম্যান্স ডেটা পাঠাতে পারে এবং এটি একটি একক ডিভাইসকে পারফরম্যান্সের পরিমাপকে স্কুই করা থেকে বাধা দেয়।
ডায়নামিক স্যাম্পলিং : পারফরম্যান্স মনিটরিং কোড ট্রেসের জন্য আনুমানিক 100M ইভেন্টের একটি সীমা সংগ্রহ করে এবং সমস্ত অ্যাপ ব্যবহারকারীদের জন্য প্রতিদিন প্রতি অ্যাপের জন্য নেটওয়ার্ক অনুরোধ ট্রেসের জন্য 100M সংগ্রহ করে। একটি র্যান্ডম ডিভাইস ক্যাপচার এবং ট্রেস পাঠাতে হবে কিনা তা নির্ধারণ করতে ডিভাইসগুলিতে (Firebase Remote Config ব্যবহার করে) একটি গতিশীল স্যাম্পলিং রেট আনা হয়। নমুনা নেওয়ার জন্য নির্বাচিত নয় এমন একটি ডিভাইস কোনো ইভেন্ট পাঠায় না। ডায়নামিক স্যাম্পলিং রেট অ্যাপ-নির্দিষ্ট এবং সংগৃহীত ডেটার সামগ্রিক ভলিউম সীমার নিচে থাকে তা নিশ্চিত করতে সমন্বয় করে।
ব্যবহারকারীর সেশনগুলি ব্যবহারকারীর ডিভাইস থেকে অতিরিক্ত, বিস্তারিত ডেটা পাঠায়, ডেটা ক্যাপচার এবং পাঠাতে আরও সংস্থান প্রয়োজন। ব্যবহারকারীর সেশনের প্রভাব কমাতে, পারফরম্যান্স মনিটরিং সেশনের সংখ্যা সীমাবদ্ধ করতে পারে।
সার্ভার-সাইড রেট সীমিত করা : অ্যাপগুলি যাতে স্যাম্পলিং সীমা অতিক্রম না করে তা নিশ্চিত করতে, পারফরম্যান্স মনিটরিং ডিভাইস থেকে প্রাপ্ত কিছু ইভেন্ট ড্রপ করতে সার্ভার-সাইড স্যাম্পলিং ব্যবহার করতে পারে। যদিও এই ধরনের সীমাবদ্ধতা আমাদের মেট্রিক্সের কার্যকারিতা পরিবর্তন করে না, তবে এটি নিম্নোক্তগুলি সহ ছোটখাটো প্যাটার্ন পরিবর্তনের কারণ হতে পারে:
- কোডের একটি অংশ কতবার কার্যকর করা হয়েছিল তার থেকে ট্রেসের সংখ্যা আলাদা হতে পারে।
- কোডে ঘনিষ্ঠভাবে সংযুক্ত ট্রেসগুলির প্রতিটিতে আলাদা সংখ্যক নমুনা থাকতে পারে।
কনসোলে ইস্যু ট্যাবের কী হয়েছে?
আমরা সতর্কতার প্রবর্তনের সাথে সমস্যা ট্যাবটি প্রতিস্থাপন করেছি, যা আপনার সেট করা থ্রেশহোল্ড অতিক্রম করলে স্বয়ংক্রিয়ভাবে আপনাকে অবহিত করে। থ্রেশহোল্ডের স্থিতি নির্ধারণ করতে আপনাকে আর ম্যানুয়ালি Firebase কনসোল চেক করতে হবে না। সতর্কতা সম্পর্কে জানতে, কর্মক্ষমতা সংক্রান্ত সমস্যার জন্য সতর্কতা সেট আপ দেখুন।
কনসোলে ডিভাইস এবং নেটওয়ার্ক ট্যাবগুলিতে কী ঘটেছে? আমি কীভাবে সেই পৃষ্ঠাগুলিতে থাকা ট্রেসগুলি দেখতে পারি?
আমরা ফায়ারবেস কনসোলের পারফরম্যান্স মনিটরিং বিভাগটিকে নতুনভাবে ডিজাইন করেছি যাতে ড্যাশবোর্ড ট্যাব আপনার মূল মেট্রিক্স এবং আপনার সমস্ত ট্রেস এক জায়গায় প্রদর্শন করে। পুনরায় ডিজাইনের অংশ হিসাবে, আমরা ডিভাইস এবং নেটওয়ার্ক পৃষ্ঠাগুলি সরিয়ে দিয়েছি।
ড্যাশবোর্ড ট্যাবের নীচের ট্রেস টেবিলে সমস্ত একই তথ্য রয়েছে যা অন ডিভাইস এবং নেটওয়ার্ক ট্যাবগুলি প্রদর্শিত হয়, তবে নির্দিষ্ট মেট্রিকের শতাংশ পরিবর্তনের মাধ্যমে আপনার ট্রেসগুলিকে সাজানোর ক্ষমতা সহ কিছু অতিরিক্ত বৈশিষ্ট্য সহ। একটি নির্দিষ্ট ট্রেসের জন্য সমস্ত মেট্রিক্স এবং ডেটা দেখতে, ট্রেস টেবিলের ট্রেস নামের উপর ক্লিক করুন।
ট্রেস টেবিলের নিম্নলিখিত সাবট্যাবগুলিতে আপনার ট্রেসগুলি দেখুন:
- নেটওয়ার্ক অনুরোধ ট্রেস (বক্সের বাইরে এবং কাস্টম উভয়ই) — নেটওয়ার্ক অনুরোধ সাবট্যাব
- কাস্টম কোড ট্রেস — কাস্টম ট্রেস সাবট্যাব
- অ্যাপ শুরু, অ্যাপ-ইন-ফোরগ্রাউন্ড, অ্যাপ-ইন-ব্যাকগ্রাউন্ড ট্রেস — কাস্টম ট্রেস সাবট্যাব
- স্ক্রীন রেন্ডারিং ট্রেস — স্ক্রীন রেন্ডারিং সাবট্যাব
- পৃষ্ঠা লোড ট্রেস — পৃষ্ঠা লোড সাবট্যাব
ট্রেস টেবিল এবং দেখার মেট্রিক্স এবং ডেটা সম্পর্কে বিশদ বিবরণের জন্য, কনসোল ওভারভিউ পৃষ্ঠাটি দেখুন ( iOS+ | Android | ওয়েব )।
ধীরগতির এবং হিমায়িত ফ্রেমের সংখ্যা আমি যা আশা করি তা কেন নয়?
ধীর রেন্ডারিং ফ্রেম এবং হিমায়িত ফ্রেমগুলি 60Hz এর অনুমানকৃত ডিভাইস রিফ্রেশ রেট দিয়ে গণনা করা হয়। একটি ডিভাইস রিফ্রেশ রেট 60Hz-এর কম হলে, প্রতিটি ফ্রেমের রেন্ডারিং সময় ধীর হবে কারণ প্রতি সেকেন্ডে কম ফ্রেম রেন্ডার করা হয়। ধীর রেন্ডারিং সময় আরও ধীর বা হিমায়িত ফ্রেমের রিপোর্ট করতে পারে কারণ আরও ফ্রেম ধীরে রেন্ডার করা হবে বা হিমায়িত হবে। যাইহোক, যদি একটি ডিভাইস রিফ্রেশ রেট 60Hz-এর বেশি হয়, প্রতিটি ফ্রেমের দ্রুত রেন্ডারিং সময় থাকবে। এর ফলে কম ধীর বা হিমায়িত ফ্রেম রিপোর্ট করা হতে পারে। পারফরম্যান্স মনিটরিং SDK-এ এটি একটি বর্তমান সীমাবদ্ধতা।
আমি কীভাবে আমার ওয়েব অ্যাপে ছোট, নেমস্পেসড পারফরম্যান্স মনিটরিং JS SDK ("স্ট্যান্ডএলোন" SDK) যোগ করব?
যদি আপনার অ্যাপ্লিকেশনটিতে পারফরম্যান্স মনিটরিং একমাত্র ফায়ারবেস পণ্য হয় তবে আপনি যদি আগ্রহী হন তবে আপনি স্ট্যান্ডেলোন পারফরম্যান্স মনিটরিং এসডিকে (এবং নীচে প্রস্তাবিত শিরোনাম স্ক্রিপ্ট) ব্যবহার করতে পারেন:
- একটি নেমস্পেসড লাইব্রেরি ব্যবহার করে
- আপনার এসডিকে প্যাকেজের আকার হ্রাস করা
- আপনার পৃষ্ঠা লোড হওয়ার পরে এসডিকে আরম্ভকরণ বিলম্বিত
আপনার অ্যাপ্লিকেশনটিতে স্ট্যান্ডেলোন পারফরম্যান্স মনিটরিং এসডিকে অন্তর্ভুক্ত করতে এবং আপনার পৃষ্ঠার লোডগুলির পরে এর সূচনাটি বিলম্বিত করতে:
- আপনার সূচক ফাইলের শিরোনামে নিম্নলিখিত স্ক্রিপ্টটি যুক্ত করুন।
- আপনার অ্যাপের ফায়ারবেস প্রকল্প কনফিগারেশন অবজেক্ট যুক্ত করার বিষয়টি নিশ্চিত করুন।
(function(sa,fbc){function load(f,c){var a=document.createElement('script'); a.async=1;a.src=f;var s=document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(a,s);}load(sa); window.addEventListener('load',function(){firebase.initializeApp(fbc).performance()}); })(performance_standalone, firebaseConfig);
কোথায়,
- performance_standalone হয়
'https://www.gstatic.com/firebasejs/10.11.0/firebase-performance.js'
firebaseConfig হ'ল আপনার অ্যাপের ফায়ারবেস কনফিগারেশন অবজেক্ট
onload
ইভেন্টের আগুনের পরে ফায়ারবেস শুরু করে। এই কৌশলটি আপনি এসডিকে আরম্ভ করার সময় ব্রাউজারটি ইতিমধ্যে তার লোডিং মেট্রিকগুলি রিপোর্ট করেছে বলে এসডিকে পৃষ্ঠা লোড মেট্রিকগুলিতে যে প্রভাব ফেলতে পারে তা হ্রাস করে।
fetch
এবং Promise
এপিআই ব্যবহার করে যা পুরানো ব্রাউজারগুলিতে উপলভ্য নয়। এই এপিআইগুলির পলিফিলগুলি স্ট্যান্ডার্ড ফায়ারবেস পারফরম্যান্স মনিটরিং জেএস এসডিকে অন্তর্ভুক্ত করা হয়েছে, তবে আকার হ্রাস করার জন্য এগুলি স্ট্যান্ডেলোন এসডিকে থেকে বাদ দেওয়া হয়।
(function(sdkSource, firebaseConfigObject) { function load(f, c) { // Creates a script tag to load the standalone SDK var sdkScript = document.createElement('script'); // Sets it to an async script so that it doesn't interfere with page load sdkScript.async = 1; // Sets the source of the script sdkScript.src = f; // Inserts the script into the head of the page var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(sdkScript, s); } // Calls the load method load(sdkSource); // Initializes the SDK only when the onload method is called window.addEventListener('load', function() { firebase.initializeApp(firebaseConfigObject).performance(); }); })(performance_standalone, firebaseConfig);
performance_standalone হয় 'https://www.gstatic.com/firebasejs/10.11.0/firebase-performance-standalone.js'
firebaseConfig হ'ল আপনার অ্যাপের ফায়ারবেস কনফিগারেশন অবজেক্ট
রিয়েল-টাইম ডেটা প্রসেসিং এবং প্রদর্শন কাছাকাছি
"নিকটবর্তী রিয়েল-টাইম" পারফরম্যান্সের ডেটা কী বোঝায়?
আমি কীভাবে আমার অ্যাপ্লিকেশনটির জন্য রিয়েল-টাইম পারফরম্যান্স ডেটা পেতে পারি?
আইওএস - v7.3.0 বা তার পরে টিভিওএস - v8.9.0 বা তার পরে অ্যান্ড্রয়েড - v19.0.10 বা তার পরে (বা ফায়ারবেস অ্যান্ড্রয়েড বম ভি 26.1.0 বা তার পরে) ওয়েব - v7.14.0 বা তার পরে
পারফরম্যান্স মনিটরিং এসডিকে কোন সংস্করণগুলি রিয়েল-টাইম সামঞ্জস্যপূর্ণ হিসাবে বিবেচিত হয়?
আইওএস - v7.3.0 বা তার পরে টিভিওএস - v8.9.0 বা তার পরে অ্যান্ড্রয়েড - v19.0.10 বা তার পরে (বা ফায়ারবেস অ্যান্ড্রয়েড বম ভি 26.1.0 বা তার পরে) ওয়েব - v7.14.0 বা তার পরে