Android-এর জন্য পারফর্ম্যান্স মনিটর করা শুরু করুন

শুরু করার আগে

আপনি আগে থেকে না করে থাকলে, আপনার Android প্রোজেক্টে Firebase যোগ করুন।

ধাপ ১: আপনার অ্যাপে Performance Monitoring SDK যোগ করুন

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

  1. আপনার মডিউল (অ্যাপ-লেভেল) Gradle ফাইলে (সাধারণত <project>/<app-module>/build.gradle.kts বা <project>/<app-module>/build.gradle), Android-এর জন্য Performance Monitoring লাইব্রেরির ডিপেন্ডেন্সি যোগ করুন। লাইব্রেরি ভার্সনিং নিয়ন্ত্রণ করতে আমরা Firebase Android BoM ব্যবহার করার সাজেশন দিই।

    dependencies {
        // Import the BoM for the Firebase platform
        implementation(platform("com.google.firebase:firebase-bom:35.0.1"))
    
        // Add the dependency for the Performance Monitoring library
        // When using the BoM, you don't specify versions in Firebase library dependencies
        implementation("com.google.firebase:firebase-perf")
    }

    Firebase Android BoM ব্যবহার করার মাধ্যমে, আপনার অ্যাপ সবসময় Firebase Android লাইব্রেরির মানানসই ভার্সন ব্যবহার করবে।

    (বিকল্প)  BoM ব্যবহার না করে Firebase লাইব্রেরি ডিপেন্ডেন্সি যোগ করুন

    আপনি যদি Firebase BoM ব্যবহার না করার সিদ্ধান্ত নেন, তাহলে আপনাকে অবশ্যই প্রতিটি Firebase লাইব্রেরি ভার্সন এর ডিপেন্ডেন্সি লাইনে উল্লেখ করতে হবে।

    মনে রাখবেন, আপনার অ্যাপে একাধিক Firebase লাইব্রেরি ব্যবহার করলে, লাইব্রেরি ভার্সন ম্যানেজ করার জন্য আমরা BoM ব্যবহার করার জন্য বিশেষভাবে সাজেস্ট করি, যা নিশ্চিত করে যে সব ভার্সন মানানসই।

    dependencies {
        // Add the dependency for the Performance Monitoring library
        // When NOT using the BoM, you must specify versions in Firebase library dependencies
        implementation("com.google.firebase:firebase-perf:23.0.1")
    }

  2. আপনার অ্যাপ রিকম্পাইল করুন।

ধাপ ২: আপনার অ্যাপে Performance Monitoring Gradle প্লাগ-ইন যোগ করুন

আপনি Performance Monitoring Gradle প্লাগ-ইন যোগ করার পরে, Firebase অটোমেটিক HTTP/S নেটওয়ার্ক অনুরোধ-এর জন্য ডেটা সংগ্রহ করা শুরু করে। এছাড়াও, প্লাগ-ইন আপনাকে @AddTrace অ্যানোটেশন ব্যবহার করে কাস্টম কোড ট্রেস ইনস্ট্রুমেন্ট করতে দেয়।

  1. আপনার রুট-লেভেল (প্রোজেক্ট-লেভেল) Gradle ফাইলে (<project>/build.gradle.kts অথবা <project>/build.gradle), Performance Monitoring Gradle প্লাগ-ইন যোগ করুন:

    Kotlin

    plugins {
        // To benefit from the latest Performance Monitoring plugin features,
        // update your Android Gradle plugin dependency to at least v3.4.0
        id("com.android.application") version "7.3.0" apply false
    
        // Make sure that you have the Google services Gradle plugin dependency
        id("com.google.gms.google-services") version "4.5.0" apply false
    
        // Add the dependency for the Performance Monitoring Gradle plugin
        id("com.google.firebase.firebase-perf") version "2.0.2" apply false
    }

    Groovy

    plugins {
        // To benefit from the latest Performance Monitoring plugin features,
        // update your Android Gradle plugin dependency to at least v3.4.0
        id 'com.android.application' version '7.3.0' apply false
    
        // Make sure that you have the Google services Gradle plugin dependency
        id 'com.google.gms.google-services' version '4.5.0' apply false
    
        // Add the dependency for the Performance Monitoring Gradle plugin
        id 'com.google.firebase.firebase-perf' version '2.0.2' apply false
    }
  2. আপনার মডিউল (অ্যাপ-লেভেল) Gradle ফাইলে (সাধারণত <project>/<app-module>/build.gradle.kts বা <project>/<app-module>/build.gradle), Performance Monitoring Gradle প্লাগ-ইন যোগ করুন:

    Kotlin

    plugins {
        id("com.android.application")
    
        // Make sure that you have the Google services Gradle plugin
        id("com.google.gms.google-services")
    
        // Add the Performance Monitoring Gradle plugin
        id("com.google.firebase.firebase-perf")
        ...
    }

    Groovy

    plugins {
        id 'com.android.application'
    
        // Make sure that you have the Google services Gradle plugin
        id 'com.google.gms.google-services'
    
        // Add the Performance Monitoring Gradle plugin
        id 'com.google.firebase.firebase-perf'
        ...
    }
  3. আপনার অ্যাপ রিকম্পাইল করুন।

ধাপ ৩: প্রাথমিক ডেটা দেখানোর জন্য পারফর্ম্যান্স ইভেন্ট জেনারেট করুন

আপনার অ্যাপে SDK যোগ করার পর Firebase ইভেন্ট প্রসেস করা শুরু করে। আপনি যদি এখনও লোকালভাবে ডেভেলপ করেন, তাহলে প্রাথমিক ডেটা সংগ্রহ ও প্রসেস করার জন্য ইভেন্ট তৈরি করতে আপনার অ্যাপের সাথে ইন্টার‍্যাক্ট করুন।

  1. ব্যাকগ্রাউন্ড ও ফোরগ্রাউন্ডের মধ্যে আপনার অ্যাপকে বেশ কয়েকবার পাল্টে, স্ক্রিন জুড়ে নেভিগেট করে আপনার অ্যাপের সাথে ইন্টার‍্যাক্ট করে এবং/অথবা নেটওয়ার্ক অনুরোধ ট্রিগার করে ইভেন্ট জেনারেট করুন।

  2. Firebase কনসোলের পারফর্ম্যান্স ড্যাশবোর্ডে যান। কয়েক মিনিটের মধ্যে আপনার প্রাথমিক ডেটা ডিসপ্লে দেখতে পাবেন।

    আপনার প্রাথমিক ডেটা দেখতে না পেলে, সমস্যার সমাধানকরণ পরামর্শ পর্যালোচনা করুন।

ধাপ ৪: (ঐচ্ছিক) পারফর্ম্যান্স ইভেন্টের জন্য লগ মেসেজ দেখুন

  1. বিল্ড করার সময় Performance Monitoring-এর জন্য ডিবাগ লগিং চালু করতে, আপনার অ্যাপের AndroidManifest.xml ফাইলে <meta-data> এলিমেন্ট যোগ করুন, যেমন:

    <application>
        <meta-data
          android:name="firebase_performance_logcat_enabled"
          android:value="true" />
    </application>
  2. কোনও ত্রুটি মেসেজ আছে কিনা তা জানতে আপনার লগ মেসেজ চেক করুন।

  3. Performance Monitoring, FirebasePerformance-এর সাথে এর লগ মেসেজ ট্যাগ করে। logcat ফিল্টারিং ব্যবহার করে, আপনি নিম্নলিখিত কমান্ড রান করার মাধ্যমে বিশেষভাবে ডিউরেশন ট্রেস এবং HTTP/S নেটওয়ার্ক রিকোয়েস্ট লগিং দেখতে পারবেন:

    adb logcat -s FirebasePerformance
  4. নিম্নলিখিত ধরনের লগ চেক করুন যা থেকে বোঝা যায় যে Performance Monitoring পারফর্ম্যান্স ইভেন্ট লগ করছে:

    • Logging trace metric: TRACE_NAME, FIREBASE_PERFORMANCE_CONSOLE_URL
    • Logging network request trace: URL
  5. Firebase কনসোলে আপনার ডেটা দেখতে URL-এ ক্লিক করুন। ড্যাশবোর্ডে ডেটা আপডেট হতে কিছুক্ষণ সময় লাগতে পারে।

আপনার অ্যাপ পারফর্ম্যান্স ইভেন্ট লগ না করলে, সমস্যার সমাধানকরণ পরামর্শ পর্যালোচনা করুন।

ধাপ ৫: (ঐচ্ছিক) নির্দিষ্ট কোডের জন্য কাস্টম মনিটরিং যোগ করুন

আপনার অ্যাপে নির্দিষ্ট কোডের সাথে সম্পর্কিত পারফর্ম্যান্স ডেটা মনিটর করতে, আপনি কাস্টম কোড ট্রেস ইন্সট্রুমেন্ট করতে পারেন।

কাস্টম কোড ট্রেসের মাধ্যমে, আপনার অ্যাপের কোনও নির্দিষ্ট টাস্ক বা টাস্কের সেট সম্পূর্ণ করতে কত সময় লাগে তা পরিমাপ করতে পারবেন, যেমন, ছবির সেট লোড করা বা আপনার ডেটাবেস কোয়েরি করা। কাস্টম কোড ট্রেসের ডিফল্ট মেট্রিক হল এর সময়সীমা, তবে আপনি কাস্টম মেট্রিকও যোগ করতে পারেন, যেমন ক্যাশে হিট এবং মেমরি সংক্রান্ত সতর্কতা।

আপনার কোডে, আপনি Performance Monitoring SDK-এর মাধ্যমে প্রদান করা API ব্যবহার করে কাস্টম কোড ট্রেসের শুরু এবং শেষ (এবং যেকোনও পছন্দসই কাস্টম মেট্রিক যোগ করুন) নির্ধারণ করেন। Android অ্যাপের ক্ষেত্রে, আপনি @AddTrace অ্যানোটেশন ব্যবহার করে নির্দিষ্ট পদ্ধতির সময়সীমাও মনিটর করতে পারবেন।

এইসব ফিচার সম্পর্কে এবং কীভাবে আপনার অ্যাপে সেগুলি যোগ করবেন সেই বিষয়ে আরও জানতে নির্দিষ্ট কোডের জন্য মনিটরিং যোগ করুন লিঙ্কে যান।

ধাপ ৬: আপনার অ্যাপ ডিপ্লয় করুন, তারপর ফলাফল পর্যালোচনা করুন

এক বা একাধিক টেস্ট ডিভাইস ব্যবহার করে Performance Monitoring যাচাই করার পরে, আপনি আপনার অ্যাপের আপডেট করা ভার্সন ব্যবহারকারীদের জন্য ডিপ্লয় করতে পারবেন।

আপনি Firebase কনসোলের পারফর্ম্যান্স ড্যাশবোর্ড থেকে পারফর্ম্যান্স ডেটা মনিটর করতে পারবেন।

পরিচিত সমস্যা

  • Performance Monitoring Gradle প্লাগ-ইন v1.1.0-এর কারণে Guava ডিপেন্ডেন্সিতে অমিল হতে পারে, যার ফলে নিম্নলিখিত সমস্যা দেখা দিতে পারে:

    Error:Execution failed for task ':app:packageInstantRunResourcesDebug'.
    > com.google.common.util.concurrent.MoreExecutors.directExecutor()Ljava/util/concurrent/Executor;

    আপনি এই সমস্যা দেখতে পেলে, এগুলির মধ্যে যেকোনও একটি করতে পারেন:

    • Performance Monitoring প্লাগ-ইন v1.1.1 বা তার পরবর্তী ভার্সনে আপগ্রেড করুন (সবচেয়ে সাম্প্রতিক ভার্সন হল v2.0.2)।

    • আপনার রুট-লেভেল (প্রোজেক্ট-লেভেল) Gradle ফাইলে (<project>/build.gradle.kts বা <project>/build.gradle) Performance Monitoring প্লাগ-ইন ডিপেন্ডেন্সি লাইনটি নিম্নলিখিতভাবে পরিবর্তন করুন:

      Kotlin

      buildscript {
        // ...
      
        dependencies {
          // ...
      
          // Replace the standard Performance Monitoring plugin dependency line, as follows:
          classpath("com.google.firebase:perf-plugin:1.1.0") {
              exclude(group = "com.google.guava", module = "guava-jdk5")
          }
        }
      }

      Groovy

      buildscript {
        // ...
      
        dependencies {
          // ...
      
          // Replace the standard Performance Monitoring plugin dependency line, as follows:
          classpath('com.google.firebase:perf-plugin:1.1.0') {
              exclude group: 'com.google.guava', module: 'guava-jdk5'
          }
        }
      }
  • HTTP কন্টেন্ট-লেংথ হেডারে সেট করা ভ্যালুর উপর ভিত্তি করে HTTP নেটওয়ার্ক অনুরোধের জন্য Performance Monitoring মোট পেলোড সাইজ রিপোর্ট করে। এই মান সবসময় সঠিক নাও হতে পারে।

  • Performance Monitoring শুধুমাত্র মাল্টি-প্রসেস Android অ্যাপের মূল প্রসেসকে সাপোর্ট করে।

পরবর্তী ধাপ