নির্দিষ্ট অ্যাপ কোডের জন্য কাস্টম মনিটরিং যোগ করুন


Performance Monitoring আপনার অ্যাপের পারফরম্যান্স নিরীক্ষণ করতে সাহায্য করার জন্য ট্রেস সংগ্রহ করে। ট্রেস হলো আপনার অ্যাপের দুটি ভিন্ন সময়ের মধ্যবর্তী সময়ে সংগৃহীত পারফরম্যান্স ডেটার একটি রিপোর্ট।

আপনার অ্যাপের নির্দিষ্ট কোডের সাথে সম্পর্কিত পারফরম্যান্স ডেটা নিরীক্ষণ করতে আপনি নিজস্ব ট্রেস তৈরি করতে পারেন। একটি কাস্টম কোড ট্রেসের মাধ্যমে, আপনি পরিমাপ করতে পারেন যে আপনার অ্যাপের একটি নির্দিষ্ট কাজ বা একাধিক কাজ সম্পন্ন করতে কত সময় লাগে, যেমন—একগুচ্ছ ছবি লোড করা বা আপনার ডাটাবেস কোয়েরি করা।

একটি কাস্টম কোড ট্রেসের ডিফল্ট মেট্রিক হলো এর 'ডিউরেশন' (ট্রেসটির শুরু এবং শেষের মধ্যবর্তী সময়), তবে আপনি কাস্টম মেট্রিকও যোগ করতে পারেন।

আপনার কোডে, আপনি Performance Monitoring SDK দ্বারা প্রদত্ত API ব্যবহার করে একটি কাস্টম কোড ট্রেসের শুরু এবং শেষ নির্ধারণ করেন।কাস্টম কোড ট্রেস তৈরি করার পর যেকোনো সময় চালু করা যেতে পারে এবং এগুলো থ্রেড সেফ।

যেহেতু এই ট্রেসগুলির জন্য সংগৃহীত ডিফল্ট মেট্রিকটি 'duration', তাই এগুলিকে কখনও কখনও 'Duration traces' বলা হয়।

আপনি পারফরম্যান্স ড্যাশবোর্ডের একেবারে নিচে থাকা ট্রেস টেবিলের কাস্টম ট্রেস সাবট্যাবে এই ট্রেসগুলোর ডেটা দেখতে পারেন (এই পৃষ্ঠার পরবর্তী অংশে কনসোল ব্যবহার সম্পর্কে আরও জানুন)।

ডিফল্ট অ্যাট্রিবিউট, কাস্টম অ্যাট্রিবিউট এবং কাস্টম মেট্রিক্স

কাস্টম কোড ট্রেসের জন্য, Performance Monitoring স্বয়ংক্রিয়ভাবে ডিফল্ট অ্যাট্রিবিউটগুলো (সাধারণ মেটাডেটা যেমন দেশ, ব্রাউজার, পেজ ইউআরএল, ইত্যাদি) লগ করে, যাতে আপনি Firebase কনসোলে ট্রেসের জন্য ডেটা ফিল্টার করতে পারেন। এছাড়াও আপনি কাস্টম অ্যাট্রিবিউট (যেমন, গেম লেভেল বা ব্যবহারকারীর প্রোপার্টি) যোগ এবং মনিটর করতে পারেন।

আপনি ট্রেসের আওতার মধ্যে ঘটা পারফরম্যান্স-সম্পর্কিত ইভেন্টগুলোর জন্য কাস্টম মেট্রিক রেকর্ড করতে একটি কাস্টম কোড ট্রেস আরও কনফিগার করতে পারেন। উদাহরণস্বরূপ, আপনি ক্যাশে হিট ও মিসের সংখ্যা অথবা উল্লেখযোগ্য সময়ের জন্য UI কতবার প্রতিক্রিয়াহীন হয়ে পড়ে, তার সংখ্যার জন্য একটি কাস্টম মেট্রিক তৈরি করতে পারেন।

ট্রেসের জন্য ডিফল্ট অ্যাট্রিবিউট এবং ডিফল্ট মেট্রিকের পাশাপাশি কাস্টম অ্যাট্রিবিউট ও কাস্টম মেট্রিকগুলোও Firebase কনসোলে প্রদর্শিত হয়।

কাস্টম কোড ট্রেস যোগ করুন

নির্দিষ্ট অ্যাপ্লিকেশন কোড নিরীক্ষণ করার জন্য কাস্টম কোড ট্রেস যোগ করতে Performance Monitoring ট্রেস এপিআই ব্যবহার করুন।

নিম্নলিখিত বিষয়গুলো লক্ষ্য করুন:

  • একটি অ্যাপে একাধিক কাস্টম কোড ট্রেস থাকতে পারে।
  • একই সময়ে একাধিক কাস্টম কোড ট্রেস চালানো যেতে পারে।
  • কাস্টম কোড ট্রেসের নামের ক্ষেত্রে নিম্নলিখিত শর্তাবলী পূরণ করতে হবে: নামের শুরুতে বা শেষে কোনো স্পেস থাকা যাবে না, শুরুতে কোনো আন্ডারস্কোর ( _ ) অক্ষর থাকা যাবে না এবং এর সর্বোচ্চ দৈর্ঘ্য ১০০ অক্ষর হতে হবে।
  • কাস্টম কোড ট্রেস কাস্টম মেট্রিক এবং কাস্টম অ্যাট্রিবিউট যোগ করা সমর্থন করে।

কাস্টম কোড ট্রেস শুরু ও বন্ধ করতে, যে কোডটি ট্রেস করতে চান সেটিকে নিচের মতো কোডের লাইন দিয়ে মুড়ে দিন:

Web

import { trace } from "firebase/performance";

const t = trace(perf, "CUSTOM_TRACE_NAME");
t.start();

// Code that you want to trace 
// ...

t.stop();

Web

const trace = perf.trace("CUSTOM_TRACE_NAME");
trace.start();

// Code that you want to trace 
// ...

trace.stop();

ইউজার টাইমিং এপিআই ব্যবহার করে কাস্টম কোড ট্রেস যোগ করুন

Performance Monitoring ট্রেস এপিআই ছাড়াও, আপনি ব্রাউজারের নিজস্ব ইউজার টাইমিং এপিআই ব্যবহার করে কাস্টম কোড ট্রেস যোগ করতে পারেন। এই এপিআই ব্যবহার করে পরিমাপ করা একটি ট্রেসের সময়কাল Performance Monitoring এসডিকে স্বয়ংক্রিয়ভাবে গ্রহণ করে নেয়। আপনি যদি Performance Monitoring এসডিকে অ্যাসিঙ্ক্রোনাসভাবে লোড করতে পছন্দ করেন, তবে ইউজার টাইমিং এপিআই ব্যবহার করা বিশেষভাবে সহায়ক। একবার এসডিকে চালু হয়ে গেলে, এটি লোড হওয়ার আগে ঘটে যাওয়া পরিমাপগুলো রেকর্ড করে রাখবে।

এই বৈশিষ্ট্যটি ব্যবহার করতে, যে কোডটি আপনি ট্রেস করতে চান সেটিকে ইউজার টাইমিং মার্কস দিয়ে মুড়ে দিন:

Web

const performance = window.performance;

performance.mark("measurementStart");

// Code that you want to trace 
// ...

performance.mark("measurementStop");
performance.measure("customTraceName", "measurementStart", "measurementStop");

Web

const performance = window.performance;

performance.mark("measurementStart");

// Code that you want to trace 
// ...

performance.mark("measurementStop");
performance.measure("customTraceName", "measurementStart", "measurementStop");

উল্লেখ্য যে, উপরের উদাহরণে performance বলতে ব্রাউজারের window.performance অবজেক্টকে বোঝানো হয়েছে।

ইউজার টাইমিং এপিআই ব্যবহার করার সময়, কাস্টম কোড ট্রেসে কাস্টম মেট্রিক এবং অ্যাট্রিবিউট যোগ করা যায় না। যদি আপনি কাস্টম কোড ট্রেসে সেই কাস্টম উপাদানগুলি যোগ করতে চান, তাহলে Performance Monitoring ট্রেস এপিআই ব্যবহার করুন।

কাস্টম কোড ট্রেসে কাস্টম মেট্রিক যোগ করুন

কাস্টম কোড ট্রেসে কাস্টম মেট্রিক যোগ করতে Performance Monitoring ট্রেস এপিআই ব্যবহার করুন।

নিম্নলিখিত বিষয়গুলো লক্ষ্য করুন:

  • কাস্টম মেট্রিকের নাম অবশ্যই নিম্নলিখিত শর্তাবলী পূরণ করবে: নামের শুরুতে বা শেষে কোনো অতিরিক্ত স্পেস থাকবে না, শুরুতে কোনো আন্ডারস্কোর ( _ ) অক্ষর থাকবে না এবং এর সর্বোচ্চ দৈর্ঘ্য হবে ১০০ অক্ষর।
  • প্রতিটি কাস্টম কোড ট্রেস ৩২টি পর্যন্ত মেট্রিক রেকর্ড করতে পারে (ডিফল্ট ডিউরেশন মেট্রিক সহ)।

একটি কাস্টম মেট্রিক যোগ করতে, প্রতিবার ইভেন্টটি ঘটার সময় নিম্নলিখিতের মতো একটি কোড লাইন যোগ করুন। উদাহরণস্বরূপ, এই কাস্টম মেট্রিকটি আপনার অ্যাপে ঘটা পারফরম্যান্স-সম্পর্কিত ইভেন্টগুলো গণনা করে।

Web

import { trace } from "firebase/performance";

async function getInventory(inventoryIds) {
  const t = trace(perf, "inventoryRetrieval");

  // Tracks the number of IDs fetched (the metric could help you to optimize in the future)
  t.incrementMetric("numberOfIds", inventoryIds.length);

  // Measures the time it takes to request inventory based on the amount of inventory
  t.start();
  const inventoryData = await retrieveInventory(inventoryIds);
  t.stop();

  return inventoryData;
}

Web

async function getInventory(inventoryIds) {
  const trace = perf.trace("inventoryRetrieval");

  // Tracks the number of IDs fetched (the metric could help you to optimize in the future)
  trace.incrementMetric("numberOfIds", inventoryIds.length);

  // Measures the time it takes to request inventory based on the amount of inventory
  trace.start();
  const inventoryData = await retrieveInventory(inventoryIds);
  trace.stop();

  return inventoryData;
}

কাস্টম কোড ট্রেসের জন্য কাস্টম অ্যাট্রিবিউট তৈরি করুন

কাস্টম কোড ট্রেসে কাস্টম অ্যাট্রিবিউট যোগ করতে Performance Monitoring ট্রেস এপিআই ব্যবহার করুন।

কাস্টম অ্যাট্রিবিউট ব্যবহার করতে, আপনার অ্যাপে এমন কোড যোগ করুন যা অ্যাট্রিবিউটটি সংজ্ঞায়িত করে এবং এটিকে একটি নির্দিষ্ট কাস্টম কোড ট্রেসের সাথে যুক্ত করে। ট্রেস শুরু হওয়ার এবং ট্রেস শেষ হওয়ার মধ্যবর্তী যেকোনো সময়ে আপনি কাস্টম অ্যাট্রিবিউটটি সেট করতে পারেন।

নিম্নলিখিত বিষয়গুলো লক্ষ্য করুন:

  • কাস্টম অ্যাট্রিবিউটের নামগুলোকে অবশ্যই নিম্নলিখিত শর্তগুলো পূরণ করতে হবে:

    • শুরুতে বা শেষে কোনো স্পেস দেওয়া যাবে না, শুরুতে আন্ডারস্কোর ( _ ) চিহ্ন ব্যবহার করা যাবে না।
    • কোনো ফাঁকা স্থান নেই
    • সর্বোচ্চ দৈর্ঘ্য ৩২ অক্ষর
    • নামের জন্য অনুমোদিত অক্ষরগুলো হলো AZ , az , এবং _
  • প্রতিটি কাস্টম কোড ট্রেস সর্বোচ্চ ৫টি কাস্টম অ্যাট্রিবিউট রেকর্ড করতে পারে।

  • অনুগ্রহ করে নিশ্চিত করুন যে কাস্টম অ্যাট্রিবিউটগুলিতে এমন কোনো তথ্য নেই যা গুগলের কাছে কোনো ব্যক্তিকে ব্যক্তিগতভাবে শনাক্ত করতে পারে।

    এই নির্দেশিকা সম্পর্কে আরও জানুন

Web

import { trace } from "firebase/performance";

const t = trace(perf, "test_trace");
t.putAttribute("experiment", "A");

// Update scenario
t.putAttribute("experiment", "B");

// Reading scenario
const experimentValue = t.getAttribute("experiment");

// Delete scenario
t.removeAttribute("experiment");

// Read attributes
const traceAttributes = t.getAttributes();

Web

const trace = perf.trace("test_trace");
trace.putAttribute("experiment", "A");

// Update scenario
trace.putAttribute("experiment", "B");

// Reading scenario
const experimentValue = trace.getAttribute("experiment");

// Delete scenario
trace.removeAttribute("experiment");

// Read attributes
const traceAttributes = trace.getAttributes();

পারফরম্যান্স ডেটা ট্র্যাক করুন, দেখুন এবং ফিল্টার করুন

রিয়েল-টাইম পারফরম্যান্স ডেটা দেখতে, নিশ্চিত করুন যে আপনার অ্যাপটি রিয়েল-টাইম ডেটা প্রসেসিংয়ের সাথে সামঞ্জস্যপূর্ণ একটি পারফরম্যান্স মনিটরিং SDK সংস্করণ ব্যবহার করছে। রিয়েল-টাইম পারফরম্যান্স ডেটা সম্পর্কে আরও জানুন

আপনার ড্যাশবোর্ডে নির্দিষ্ট মেট্রিকগুলি ট্র্যাক করুন

আপনার মূল মেট্রিকগুলোর প্রবণতা কেমন তা জানতে, সেগুলোকে পারফরম্যান্স ড্যাশবোর্ডের শীর্ষে থাকা মেট্রিক্স বোর্ডে যোগ করুন। সপ্তাহ-ভিত্তিক পরিবর্তন দেখে আপনি দ্রুত অবনতি শনাক্ত করতে পারবেন অথবা আপনার কোডের সাম্প্রতিক পরিবর্তনগুলো পারফরম্যান্স উন্নত করছে কিনা তা যাচাই করতে পারবেন।

মেট্রিক্স বোর্ডের একটি ছবি <span class= ফায়ারবেস পারফরম্যান্স মনিটরিং ড্যাশবোর্ড

আপনার মেট্রিক্স বোর্ডে একটি মেট্রিক যোগ করতে, এই ধাপগুলো অনুসরণ করুন:

  1. Firebase কনসোলে পারফরম্যান্স ড্যাশবোর্ডে যান।
  2. একটি খালি মেট্রিক কার্ডে ক্লিক করুন, তারপর আপনার বোর্ডে যোগ করার জন্য একটি বিদ্যমান মেট্রিক নির্বাচন করুন।
  3. আরও বিকল্পের জন্য, যেমন কোনো মেট্রিক প্রতিস্থাপন বা অপসারণ করতে, ডেটাযুক্ত মেট্রিক কার্ডে ক্লিক করুন।

মেট্রিক্স বোর্ডটি সময়ের সাথে সাথে সংগৃহীত মেট্রিক ডেটা গ্রাফিক্যাল আকারে এবং সংখ্যাসূচক শতাংশ পরিবর্তন হিসেবে প্রদর্শন করে।

ড্যাশবোর্ড ব্যবহার সম্পর্কে আরও জানুন।

চিহ্ন এবং তাদের ডেটা দেখুন

আপনার ট্রেসগুলো দেখতে, Firebase কনসোলের পারফরম্যান্স ড্যাশবোর্ডে যান, ট্রেস টেবিল পর্যন্ত স্ক্রল করুন, তারপর উপযুক্ত সাবট্যাবে ক্লিক করুন। টেবিলটি প্রতিটি ট্রেসের জন্য কিছু শীর্ষ মেট্রিক প্রদর্শন করে, এবং আপনি এমনকি একটি নির্দিষ্ট মেট্রিকের শতাংশ পরিবর্তন অনুসারে তালিকাটি সাজাতেও পারেন।

Performance Monitoring Firebase কনসোলে একটি ট্রাবলশুটিং পেজ প্রদান করে, যা মেট্রিকের পরিবর্তনগুলো তুলে ধরে। এর ফলে আপনার অ্যাপ এবং ব্যবহারকারীদের উপর পারফরম্যান্স সংক্রান্ত সমস্যার প্রভাব দ্রুত সমাধান করা ও কমানো সহজ হয়। সম্ভাব্য পারফরম্যান্স সমস্যা সম্পর্কে জানতে পারলে আপনি এই ট্রাবলশুটিং পেজটি ব্যবহার করতে পারেন, যেমন— নিম্নলিখিত পরিস্থিতিগুলোতে:

  • আপনি ড্যাশবোর্ডে প্রাসঙ্গিক মেট্রিকগুলো নির্বাচন করেন এবং একটি বড় পার্থক্য লক্ষ্য করেন।
  • ট্রেসেস টেবিলে আপনি সবচেয়ে বড় ডেল্টাগুলোকে উপরে দেখানোর জন্য সর্ট করেন, এবং আপনি একটি উল্লেখযোগ্য শতাংশ পরিবর্তন দেখতে পান।
  • আপনি একটি পারফরম্যান্স সমস্যা সম্পর্কে অবহিত করে একটি ইমেল সতর্কতা পেয়েছেন।

আপনি নিম্নলিখিত উপায়ে সমস্যা সমাধান পৃষ্ঠায় প্রবেশ করতে পারেন:

  • মেট্রিক ড্যাশবোর্ডে, 'মেট্রিকের বিবরণ দেখুন' বোতামটিতে ক্লিক করুন।
  • যেকোনো মেট্রিক কার্ডে, নির্বাচন করুন => বিস্তারিত দেখুন । সমস্যা সমাধান পৃষ্ঠাটি আপনার নির্বাচিত মেট্রিক সম্পর্কে তথ্য প্রদর্শন করে।
  • ট্রেস টেবিলে, একটি ট্রেসের নামে অথবা সেই ট্রেসের সাথে যুক্ত সারিতে থাকা যেকোনো মেট্রিক মানে ক্লিক করুন।
  • ইমেল সতর্কবার্তায়, ‘এখনই তদন্ত করুন’ এ ক্লিক করুন।

ট্রেস টেবিলে কোনো ট্রেসের নামে ক্লিক করলে, আপনি আপনার আগ্রহের মেট্রিকগুলো আরও বিস্তারিতভাবে দেখতে পারবেন। ক্লিক করুন অ্যাট্রিবিউট অনুযায়ী ডেটা ফিল্টার করার জন্য ফিল্টার বাটন, উদাহরণস্বরূপ:

একটি ছবি <span class= অ্যাট্রিবিউট দ্বারা ফিল্টার করা ফায়ারবেস পারফরম্যান্স মনিটরিং ডেটা
  • আপনার সাইটের কোনো নির্দিষ্ট পৃষ্ঠার ডেটা দেখতে পৃষ্ঠার URL দ্বারা ফিল্টার করুন।
  • একটি 3G সংযোগ আপনার অ্যাপকে কীভাবে প্রভাবিত করে তা জানতে কার্যকরী সংযোগের ধরণ অনুসারে ফিল্টার করুন।
  • আপনার ডেটাবেসের অবস্থান কোনো নির্দিষ্ট অঞ্চলকে প্রভাবিত করছে না তা নিশ্চিত করতে দেশ অনুযায়ী ফিল্টার করুন।

আপনার ট্রেসগুলির ডেটা দেখার বিষয়ে আরও জানুন।

পরবর্তী পদক্ষেপ