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

একবার আপনার 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"
  • একটি নির্দিষ্ট ডিভাইস মডেলে (যেমন, পিক্সেল ৬এ) ঘটা ক্র্যাশগুলো শনাক্ত করুন:

    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"

লগ স্কিমা

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

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

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

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

  • পূর্বনির্ধারিত সিস্টেম মেট্রিক ব্যবহার করুন যা স্বয়ংক্রিয়ভাবে রেকর্ড করা হয়, যেমন একটি নির্দিষ্ট সময়কালের মধ্যে সংঘটিত লগিং ইভেন্টের সংখ্যা।

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

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

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

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

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

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

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

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

এরপর কী?