Android এর জন্য পারফরম্যান্স মনিটরিং দিয়ে শুরু করুন

শুরু করার আগে

যদি আগে থেকে না করে থাকেন, তাহলে আপনার অ্যান্ড্রয়েড প্রজেক্টে ফায়ারবেস যোগ করুন

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

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

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

    dependencies {
        // Import the BoM for the Firebase platform
        implementation(platform("com.google.firebase:firebase-bom:34.11.0"))
    
        // 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 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:22.0.4")
    }

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

ধাপ ২ : আপনার অ্যাপে Performance Monitoring গ্রেডল প্লাগইনটি যোগ করুন।

আপনি Performance Monitoring গ্র্যাডল প্লাগইনটি যোগ করার পর, ফায়ারবেস স্বয়ংক্রিয়ভাবে 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.4.4" 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.4.4' 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. আপনার অ্যাপের AndroidManifest.xml ফাইলে একটি <meta-data> এলিমেন্ট যোগ করে বিল্ড টাইমে Performance Monitoring জন্য ডিবাগ লগিং চালু করুন, যেমনটি নিচে দেখানো হয়েছে:

    <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. ফায়ারবেস কনসোলে আপনার ডেটা দেখতে ইউআরএল-টিতে ক্লিক করুন। ড্যাশবোর্ডে ডেটা আপডেট হতে কয়েক মুহূর্ত সময় লাগতে পারে।

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

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

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

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

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

এই বৈশিষ্ট্যগুলি সম্পর্কে আরও জানতে এবং আপনার অ্যাপে সেগুলি কীভাবে যুক্ত করবেন তা জানতে, 'নির্দিষ্ট কোডের জন্য মনিটরিং যোগ করুন' (Add monitoring for specific code) অংশটি দেখুন।

ধাপ ৬ : আপনার অ্যাপটি স্থাপন করুন এবং তারপর ফলাফল পর্যালোচনা করুন।

এক বা একাধিক টেস্ট ডিভাইস ব্যবহার করে Performance Monitoring যাচাই করার পর, আপনি আপনার অ্যাপের আপডেট করা সংস্করণটি ব্যবহারকারীদের কাছে পৌঁছে দিতে পারেন।

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

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

  • Performance Monitoring গ্রেডল প্লাগইন v1.1.0 গুয়াভা ডিপেন্ডেন্সিতে অমিল ঘটাতে পারে, যার ফলে নিম্নলিখিত ত্রুটি দেখা দেয়:

    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'
          }
        }
      }
  • Performance Monitoring HTTP কন্টেন্ট-লেংথ হেডারে সেট করা মানের উপর ভিত্তি করে HTTP নেটওয়ার্ক অনুরোধগুলির মোট পেলোড সাইজ রিপোর্ট করে। এই মানটি সবসময় নির্ভুল নাও হতে পারে।

  • মাল্টি-প্রসেস অ্যান্ড্রয়েড অ্যাপে Performance Monitoring শুধুমাত্র প্রধান প্রসেসকে সমর্থন করে।

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