একটি সুরক্ষিত শ্রোতা নিলাম প্রোফাইল, একটি সুরক্ষিত দর্শক নিলাম প্রোফাইল, একটি সুরক্ষিত দর্শক নিলাম প্রোফাইল

সুরক্ষিত শ্রোতা নিলাম বিশ্লেষণ করা যেতে পারে ( দৃশ্যত অথবা Perfetto ব্যবহার করে SQL কোয়েরি ব্যবহার করে)। বিজ্ঞাপন প্রযুক্তিবিদরা সুরক্ষিত শ্রোতা নিলামের কর্মক্ষমতা পরিমাপ করতে Perfetto ব্যবহার করে প্রোফাইলিং ব্যবহার করতে পারেন, যার মধ্যে রয়েছে:

  • বিডিং এবং স্কোরিং স্ক্রিপ্ট CPU সময়
  • কী/মান পরিষেবার মতো HTTP অনুরোধের বিলম্ব
  • কোল্ড ক্যাশ বনাম হট ক্যাশের পারফরম্যান্সের প্রভাব
  • কাস্টম দর্শক সংখ্যা কম বনাম বেশি
  • বৃহত্তর বনাম ছোট সংকেত সেট
  • সমস্ত বিডিংয়ের জন্য একই স্ক্রিপ্ট ব্যবহারের তুলনায় কাস্টম দর্শকদের জন্য আলাদা আলাদা বিডিং লজিক স্ক্রিপ্ট

সেটআপ

  1. পারফেটো এবং প্রাইভেসি স্যান্ডবক্স রিপোজিটরি ক্লোন করুন।

    git clone https://android.googlesource.com/platform/external/perfetto
    git clone https://github.com/android/privacy-sandbox-samples
  2. অ্যান্ড্রয়েড স্টুডিওতে, privacy-sandbox-samples/Fledge/FledgeKotlin ডিরেক্টরি থেকে Protected Audience নমুনা অ্যাপটি খুলুন।

  3. আপনার পরীক্ষামূলক ডিভাইস বা এমুলেটরে নমুনা অ্যাপটি তৈরি এবং ইনস্টল করুন।

একটি নিলাম চালাও এবং একটি পারফেটো ট্রেস নাও।

  1. পরীক্ষামূলক HTTPS এন্ডপয়েন্ট সেট আপ এবং স্থাপন করুন । প্রোটেক্টেড অডিয়েন্স ডেমো অ্যাপটি কাজ করার জন্য হোস্ট করা এন্ডপয়েন্টগুলির URL টি নোট করুন কারণ এগুলি প্রয়োজন।
  2. একটি টেস্ট এন্ডপয়েন্ট URL নির্দিষ্ট করে ডেমো অ্যাপটি চালু করুন। <test-endpoint-url> এর পরিবর্তে একটি হোস্টেড এন্ডপয়েন্ট URL দিন যা আপনি আগের ধাপে রেকর্ড করেছিলেন।

    adb shell am start -n com.example.adservices.samples.fledge.sampleapp/.MainActivity \
      -e baseUrl "<test-endpoint-url>"
  3. কমপক্ষে ১ জন কাস্টম অডিয়েন্স সক্রিয় আছে কিনা তা যাচাই করতে "Shoes CA" টগল করুন।

    ডেমো অ্যাপে জুতা CA টগল করা হয়েছে।
    সুরক্ষিত শ্রোতাদের ডেমো অ্যাপ।
  4. Privacy Sandbox DevTools GitHub রিপোজিটরি থেকে trace_config.textproto ফাইল ব্যবহার করে একটি ট্রেস রেকর্ড করুন:

    ./perfetto/tools/record_android_trace \
      -c path/to/trace_config.textproto
  5. "বিজ্ঞাপন নির্বাচন চালান" বোতামটি আলতো চাপুন এবং নিলামের ফলাফলের জন্য অপেক্ষা করুন। নিলাম সম্পন্ন হলে, আউটপুটটিতে " http://example.com/bidding/render_shoes থেকে বিজ্ঞাপন প্রদর্শন করা হবে" এর মতো একটি বার্তা প্রদর্শিত হবে।

  6. আপনার টার্মিনালে, ট্রেস শেষ করতে record_android_trace প্রোগ্রামটি বন্ধ করুন (CTRL+C)। ট্রেস ডেটা লোড হওয়ার সাথে সাথে আপনার ব্রাউজারে Perfetto UI খোলে।

Perfetto-তে দৃশ্যত ট্রেস অন্বেষণ করুন

  1. UI এর উপরে ঠিকানা বার ব্যবহার করে "RunOnDeviceAdSelection" অনুসন্ধান করুন। অনুসন্ধান সম্পূর্ণ করতে এবং ফলাফলগুলি দেখাতে Enter ক্লিক করুন:

    Perfetto UI Protected Audience নিলাম দেখছে। RunOnDeviceAdSelection এবং RunBidding এর মতো ট্র্যাকগুলি দৃশ্যমান।
    পারফেটোতে একক-ক্রেতা সুরক্ষিত দর্শক নিলাম।
  2. একটি ট্রেস পরিদর্শন করতে ক্লিক করুন। এক্সিকিউশন লেটেন্সির মতো বিশদ বিবরণ এখানে পাওয়া যাবে।

    Perfetto UI একটি ট্রেস সেগমেন্ট পরিদর্শন করছে। লেটেন্সির বিবরণ দৃশ্যমান।
    একটি ট্রেস সেগমেন্ট পরিদর্শন করা হচ্ছে।

সুরক্ষিত দর্শক-নির্দিষ্ট ট্রেস বিভাগগুলি

সুরক্ষিত শ্রোতা নিলাম একটি জটিল প্রক্রিয়া এবং পারফেটো ট্রেস দ্বারা ধারণ করা অনেকগুলি ভিন্ন ভিন্ন অংশ রয়েছে। এই টেবিলটি প্রতিটি ট্রেস সেগমেন্ট কী প্রতিনিধিত্ব করে তা নথিভুক্ত করে।

সময় অংশ বিবরণ ফ্রিকোয়েন্সি
প্রাক নিলাম RunOnDeviceAdSelection নিলাম শেষ থেকে শেষ পর্যন্ত নিলাম প্রতি
বিডিং (বাই-সাইড) FilterContextualAds প্রাসঙ্গিক বিজ্ঞাপনগুলিতে অ্যাপ ইনস্টল এবং ফ্রিকোয়েন্সি ক্যাপ ফিল্টারিং সম্পাদন করুন নিলাম প্রতি
GetBuyersCustomAudience ডাটাবেস থেকে ক্রেতার কাস্টম দর্শক লোড করুন প্রতি ক্রেতা
FilterCustomAudiences কাস্টম দর্শকদের উপর অ্যাপ ইনস্টল এবং ফ্রিকোয়েন্সি ক্যাপ ফিল্টারিং সম্পাদন করুন নিলাম প্রতি
GetTrustedBiddingSignals ক্রেতার বিডিং সিগন্যাল লোড করুন প্রতি ক্রেতা
RunBiddingPerCustomAudience একক কাস্টম দর্শকের জন্য বিজ্ঞাপন বিডিং কাস্টম দর্শকদের জন্য
GetBuyerDecisionLogic ক্যাশে করা থাকলে, নেটওয়ার্ক বা ডাটাবেস থেকে ক্রেতার জাভাস্ক্রিপ্ট লোড করুন। কাস্টম দর্শকদের জন্য
RunBidding ক্রেতার জন্য জাভাস্ক্রিপ্ট এক্সিকিউশন প্রতি ক্রেতা
GenerateBids কাস্টম দর্শকদের জন্য জাভাস্ক্রিপ্ট এক্সিকিউশন কাস্টম দর্শকদের জন্য
স্কোরিং (বিক্রয়-পক্ষ) GetTrustedScoringSignals বিক্রেতার স্কোরিং সিগন্যাল লোড করুন প্রতি বিক্রেতা
RunAdScoring স্কোরিংয়ের জন্য জাভাস্ক্রিপ্ট এক্সিকিউশন নিলাম প্রতি
ScoreAd একটি বিজ্ঞাপনের জন্য জাভাস্ক্রিপ্ট এক্সিকিউশন বিজ্ঞাপন প্রতি
GetAdSelectionLogic বিক্রেতার বিজ্ঞাপন নির্বাচনের যুক্তি লোড করুন নিলাম প্রতি
RunAdOutcomeSelection চূড়ান্ত ফিল্টারিং নিলাম প্রতি
নিলামের পর PersistOnDeviceAdSelection ডাটাবেসে নিলামের ফলাফল লিখুন নিলাম প্রতি

গড় এক্সিকিউশন লেটেন্সির জন্য কোয়েরি

Perfetto একটি নির্দিষ্ট ট্রেসের ভিতরে কী ঘটছে তার সুনির্দিষ্ট পরিমাপ পেতে SQL কোয়েরি ব্যবহার করতে পারে।

এই বিভাগে জাভাস্ক্রিপ্ট এক্সিকিউশনের জন্য গড় এক্সিকিউশন ল্যাটেন্সি কীভাবে পরিমাপ করা যায় তা নথিভুক্ত করা হয়েছে।

  1. Perfetto-তে, বাম নেভিগেশন প্যানে "Query (SQL)"-এ নেভিগেট করুন।
  2. নিম্নলিখিত প্রশ্নটি লিখুন:

    SELECT AVG(dur)
    FROM slice
    WHERE slice.name GLOB 'FetchPayload';
    
  3. কোয়েরিটি চালান এবং ফলাফলগুলি পরীক্ষা করুন।

    SQL কোয়েরির ফলাফল। গড় ল্যাটেন্সি হল ১৭৬৯৩৬৮৮ ন্যানোসেকেন্ড।
    SQL কোয়েরির ফলাফল ন্যানোসেকেন্ডে আসে।