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

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

  • বিডিং এবং স্কোরিং স্ক্রিপ্ট 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 ডিরেক্টরি থেকে সুরক্ষিত দর্শক নমুনা অ্যাপটি খুলুন।

  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. কমপক্ষে 1 কাস্টম দর্শক সক্রিয় আছে তা নিশ্চিত করতে "জুতা CA" টগল করুন৷

    ডেমো অ্যাপের স্ক্রিনশট। জুতা CA টগল করা হয়েছে৷
    সুরক্ষিত শ্রোতা ডেমো অ্যাপ।
  4. গোপনীয়তা স্যান্ডবক্স 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" অনুসন্ধান করুন৷ অনুসন্ধান সম্পূর্ণ করতে এন্টার ক্লিক করুন এবং ফলাফলগুলি দেখান:

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

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

সুরক্ষিত শ্রোতা-নির্দিষ্ট ট্রেস সেগমেন্ট

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

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

গড় নির্বাহ বিলম্বের জন্য ক্যোয়ারী

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

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

  1. পারফেটোতে, বাম নেভিগেশন প্যানে "কোয়েরি (এসকিউএল)" এ নেভিগেট করুন।
  2. নিম্নলিখিত প্রশ্ন লিখুন:

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

    SQL ক্যোয়ারী ফলাফল. গড় বিলম্ব 17693688 ন্যানোসেকেন্ড।
    এসকিউএল ক্যোয়ারী ন্যানোসেকেন্ডে পরিণত হয়।