লগ ফিল্টার করা এবং লগ-ভিত্তিক মেট্রিক তৈরি করা

আপনার Crashlytics ডেটা এবং (ঐচ্ছিকভাবে) Firebase সেশন ডেটা Cloud Logging-এ এক্সপোর্ট করা হয়ে গেলে, আপনি আপনার লগ ফিল্টার করতে এবং লগ-ভিত্তিক মেট্রিক তৈরি করতে পারবেন। এই দুটিই নির্দিষ্ট ডেটা দেখা, ব্যবহার করা ও বিশ্লেষণ করার জন্য সহায়ক।

আপনি আগে থেকে না করে থাকলে, নিশ্চিত করুন যে আপনার ডেটা দিয়ে কী কী করতে পারবেন? এই লিঙ্কে গিয়ে বিস্তারিত তালিকা ও Cloud Logging-এ সেভ করা ডেটা নিয়ে কাজ করার উদাহরণ দেখে নিন।

কোয়েরির মাধ্যমে আপনার লগ ফিল্টার করা

নির্দিষ্ট ডেটা দেখা এবং ডেটা স্টোরেজ ও আরও বিশ্লেষণের খরচ কমাতে লগ ফিল্টার করা সহায়ক। আপনি LQL (লগিং কোয়েরি ল্যাঙ্গুয়েজ) ব্যবহার করে লগ ফিল্টার করতে পারেন।

কোয়েরির মাধ্যমে কীভাবে আপনার লগ ফিল্টার করবেন সেই সম্পর্কে জানতে, Logs Explorer ব্যবহার করে নমুনা কোয়েরি এবং লগ কোয়েরি তৈরি করা দেখুন। নিচে দেওয়া টেবিলে সেইসব কোয়েরির জন্য উপলভ্য ফিল্ডের বিবরণ দেওয়া হল।

ফিল্টারের উদাহরণ

Crashlytics-এর জন্য, কোয়েরির কিছু প্রাথমিক ফিল্টার এখানে দেওয়া হল:

  • কোনও নির্দিষ্ট অ্যাপ ভার্সনের জন্য সবকটি মারাত্মক ক্র্যাশ খুঁজে দেখুন:

    logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fevents"
    jsonPayload.issue.errorType="FATAL"
    jsonPayload.version.displayVersion="3.2.0"
  • নির্দিষ্ট ডিভাইস মডেলে (যেমন, Pixel 6a) হওয়া ক্র্যাশ শনাক্ত করুন:

    logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fevents"
    jsonPayload.device.model="Pixel 6a"
  • সব মারাত্মক ইভেন্ট জুড়ে নির্দিষ্ট OutOfMemoryError সার্চ করুন:

    logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fevents"
    jsonPayload.issue.errorType="FATAL"
    jsonPayload.issue.subtitle="java.lang.OutOfMemoryError"
  • নির্দিষ্ট Crashlytics সমস্যার আইডির জন্য ইভেন্ট খুঁজুন:

    logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fevents"
    jsonPayload.issue.id="ISSUE_ID"

লগ স্কিমা

প্রতিটি লগ এন্ট্রির একটি পূর্বনির্ধারিত স্ট্রাকচার এবং কোয়েরি করা যায় এমন ফিল্ড থাকে (দেখুন LogEntry)।

এক্সপোর্ট করা ডেটার জন্য লগ স্কিমা, যার মধ্যে রয়েছে Crashlytics ডেটা, Firebase সেশন ডেটা, এবং ডিভাইস লগ সম্পর্কে জানুন।

লগ-ভিত্তিক মেট্রিক তৈরি করা

আপনি লগ-ভিত্তিক মেট্রিক্স দেখতে ও তৈরি করতে পারবেন, এবং তারপরে Cloud Monitoring-এ এই মেট্রিক্স ব্যবহার করে চার্ট, কাস্টম ড্যাশবোর্ড ও কাস্টম অ্যালার্ট তৈরি করতে পারবেন।

  • অটোমেটিক রেকর্ড করা আগে থেকে সংজ্ঞায়িত সিস্টেম মেট্রিক ব্যবহার করুন, যেমন নির্দিষ্ট সময়সীমার মধ্যে লগ করা ইভেন্টের সংখ্যা।

  • আপনার প্রোজেক্টের জন্য ব্যবহারকারী-নির্ধারিত মেট্রিক তৈরি করুন। আপনি প্রদত্ত কোয়েরির সাথে ম্যাচ করা লগ এন্ট্রির সংখ্যা গণনা করতে পারেন অথবা ম্যাচ করা লগ এন্ট্রি সহ নির্দিষ্ট ভ্যালু ট্র্যাক করতে পারেন। আপনি রেগুলার এক্সপ্রেশন ব্যবহার করে ফিল্টার করতে পারবেন। ব্যবহারকারীর-সংজ্ঞায়িত মেট্রিকের জন্য দাম পর্যালোচনা করতে ভুলবেন না।

  • নির্দিষ্ট মেসেজ থাকা লগ এন্ট্রির সংখ্যা রেকর্ড করতে Cloud Monitoring ব্যবহার করুন অথবা লগ এন্ট্রিতে রিপোর্ট করা লেটেন্সি সংক্রান্ত তথ্য এক্সট্র্যাক্ট করুন। আপনি তারপরে চার্ট ও কাস্টম অ্যালার্টে এইসব মেট্রিক ব্যবহার করতে পারবেন।

লগ-ভিত্তিক মেট্রিক্সের উদাহরণ

এখানে ব্যবহারকারী-সংজ্ঞায়িত লগ-ভিত্তিক মেট্রিকের দুটি উদাহরণ দেওয়া হল যা আপনি আপনার এক্সপোর্ট করা Crashlytics এবং Firebase সেশন ডেটা থেকে তৈরি করতে পারেন:

  • Crashlytics ডেটা ব্যবহার করে:
    errorType লেবেল সহ firebase/crashlytics_events নামের একটি মেট্রিক তৈরি করুন এবং এটিকে এইভাবে সংজ্ঞায়িত করুন:

    logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fevents"

  • Firebase সেশন ডেটা ব্যবহার করে:
    firebase/session_events লেবেল সহ eventTypeনামের একটি মেট্রিক তৈরি করুন, এবং এটিকে এইভাবে সংজ্ঞায়িত করুন:

    logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fsession_events"

এরপরে কী?