সুরক্ষিত শ্রোতা নিলাম বিশ্লেষণ করা যেতে পারে ( দৃষ্টিগতভাবে বা Perfetto এর সাথে SQL কোয়েরি দ্বারা। বিজ্ঞাপন প্রযুক্তিগুলি সুরক্ষিত দর্শক নিলামের কার্যকারিতা পরিমাপ করতে পারফেটোর সাথে প্রোফাইলিং ব্যবহার করতে পারে, যার মধ্যে রয়েছে:
- বিডিং এবং স্কোরিং স্ক্রিপ্ট CPU সময়
- HTTP অনুরোধের লেটেন্সি যেমন কী/মান পরিষেবা
- ঠান্ডা ক্যাশ বনাম গরম ক্যাশে কর্মক্ষমতা প্রভাব
- বেশি বনাম কম কাস্টম দর্শক
- বড় বনাম সংকেত ছোট সেট
- সমস্ত বিডিংয়ের জন্য একই স্ক্রিপ্ট ব্যবহার করার তুলনায় কাস্টম শ্রোতা প্রতি বিভিন্ন বিডিং লজিক স্ক্রিপ্ট
সেটআপ
পারফেটো এবং গোপনীয়তা স্যান্ডবক্স সংগ্রহস্থল ক্লোন করুন।
git clone https://android.googlesource.com/platform/external/perfetto
git clone https://github.com/android/privacy-sandbox-samples
অ্যান্ড্রয়েড স্টুডিওতে,
privacy-sandbox-samples/Fledge/FledgeKotlin
ডিরেক্টরি থেকে সুরক্ষিত দর্শক নমুনা অ্যাপটি খুলুন।আপনার টেস্ট ডিভাইস বা এমুলেটরে নমুনা অ্যাপ তৈরি এবং ইনস্টল করুন।
একটি নিলাম চালান এবং একটি পারফেটো ট্রেস নিন
- পরীক্ষা HTTPS এন্ডপয়েন্ট সেট আপ এবং স্থাপন করুন । সুরক্ষিত অডিয়েন্স ডেমো অ্যাপের কাজ করার জন্য হোস্ট করা শেষ পয়েন্টগুলির URL এর একটি নোট নিন।
নির্দিষ্ট করা একটি পরীক্ষার শেষ পয়েন্ট URL দিয়ে ডেমো অ্যাপ চালু করুন।
<test-endpoint-url>
একটি হোস্টেড এন্ডপয়েন্ট URL দিয়ে প্রতিস্থাপন করুন যা আপনি আগের ধাপে রেকর্ড করেছেন।adb shell am start -n com.example.adservices.samples.fledge.sampleapp/.MainActivity \ -e baseUrl "<test-endpoint-url>"
কমপক্ষে 1 কাস্টম দর্শক সক্রিয় আছে তা নিশ্চিত করতে "জুতা CA" টগল করুন৷
সুরক্ষিত শ্রোতা ডেমো অ্যাপ। গোপনীয়তা স্যান্ডবক্স DevTools GitHub সংগ্রহস্থল থেকে trace_config.textproto ফাইল ব্যবহার করে একটি ট্রেস রেকর্ড করুন:
./perfetto/tools/record_android_trace \ -c path/to/trace_config.textproto
"বিজ্ঞাপন নির্বাচন চালান" বোতামে আলতো চাপুন এবং নিলামের ফলাফলের জন্য অপেক্ষা করুন৷ যখন নিলাম শেষ হয়, আউটপুট একটি বার্তা প্রদর্শন করে যেমন "
http://example.com/bidding/render_shoes
থেকে বিজ্ঞাপন প্রদর্শন করবে"।আপনার টার্মিনালে, ট্রেস শেষ করতে
record_android_trace
প্রোগ্রামটি বন্ধ করুন (CTRL+C)। Perfetto UI আপনার ব্রাউজারে খোলে এবং ট্রেস ডেটা লোড হয়।
Perfetto মধ্যে দৃশ্যত ট্রেস অন্বেষণ
UI এর শীর্ষে ঠিকানা বার ব্যবহার করে "RunOnDeviceAdSelection" অনুসন্ধান করুন৷ অনুসন্ধান সম্পূর্ণ করতে এন্টার ক্লিক করুন এবং ফলাফলগুলি দেখান:
পারফেটোতে একক-ক্রেতা সুরক্ষিত দর্শক নিলাম। এটি পরিদর্শন করতে একটি ট্রেস ক্লিক করুন. বিস্তারিত যেমন এক্সিকিউশন লেটেন্সি এখানে পাওয়া যায়।
একটি ট্রেস সেগমেন্ট পরিদর্শন করা হচ্ছে।
সুরক্ষিত শ্রোতা-নির্দিষ্ট ট্রেস সেগমেন্ট
সুরক্ষিত শ্রোতা নিলাম একটি জটিল প্রক্রিয়া এবং পারফেটো ট্রেস দ্বারা ক্যাপচার করা বিভিন্ন সেগমেন্ট রয়েছে। প্রতিটি ট্রেস সেগমেন্ট কি প্রতিনিধিত্ব করে তা এই টেবিলটি নথিভুক্ত করে।
সময় | সেগমেন্ট | বর্ণনা | ফ্রিকোয়েন্সি |
---|---|---|---|
প্রাক নিলাম | RunOnDeviceAdSelection | নিলাম এন্ড টু এন্ড | নিলাম প্রতি |
বিডিং (ক্রয়ের দিক) | FilterContextualAds | প্রাসঙ্গিক বিজ্ঞাপনগুলিতে অ্যাপ ইনস্টল এবং ফ্রিকোয়েন্সি ক্যাপ ফিল্টারিং সম্পাদন করুন | নিলাম প্রতি |
GetBuyersCustomAudience | ডাটাবেস থেকে ক্রেতার কাস্টম দর্শক লোড করুন | ক্রেতা প্রতি | |
FilterCustomAudiences | কাস্টম দর্শকদের উপর অ্যাপ ইনস্টল এবং ফ্রিকোয়েন্সি ক্যাপ ফিল্টারিং সঞ্চালন করুন | নিলাম প্রতি | |
GetTrustedBiddingSignals | লোড ক্রেতার বিডিং সংকেত | ক্রেতা প্রতি | |
RunBiddingPerCustomAudience | একটি একক কাস্টম দর্শকদের জন্য বিজ্ঞাপন বিডিং | কাস্টম দর্শকদের জন্য | |
GetBuyerDecisionLogic | ক্যাশে থাকলে নেটওয়ার্ক বা ডাটাবেস থেকে ক্রেতার জাভাস্ক্রিপ্ট লোড করুন | কাস্টম দর্শকদের জন্য | |
RunBidding | একজন ক্রেতার জন্য জাভাস্ক্রিপ্ট এক্সিকিউশন | ক্রেতা প্রতি | |
GenerateBids | কাস্টম দর্শকদের জন্য জাভাস্ক্রিপ্ট এক্সিকিউশন | কাস্টম দর্শকদের জন্য | |
স্কোরিং (সেল-সাইড) | GetTrustedScoringSignals | বিক্রেতার স্কোরিং সংকেত লোড করুন | বিক্রেতা প্রতি |
RunAdScoring | স্কোর করার জন্য জাভাস্ক্রিপ্ট এক্সিকিউশন | নিলাম প্রতি | |
ScoreAd | একটি বিজ্ঞাপনের জন্য জাভাস্ক্রিপ্ট এক্সিকিউশন | বিজ্ঞাপন প্রতি | |
GetAdSelectionLogic | বিক্রেতার বিজ্ঞাপন নির্বাচনের যুক্তি লোড করুন | নিলাম প্রতি | |
RunAdOutcomeSelection | চূড়ান্ত ফিল্টারিং | নিলাম প্রতি | |
পোস্ট নিলাম | PersistOnDeviceAdSelection | ডাটাবেসে নিলামের ফলাফল লিখুন | নিলাম প্রতি |
গড় নির্বাহ বিলম্বের জন্য ক্যোয়ারী
একটি নির্দিষ্ট ট্রেসের ভিতরে কী ঘটছে তার সুনির্দিষ্ট পরিমাপ পেতে Perfetto SQL কোয়েরি ব্যবহার করতে পারে।
এই বিভাগে জাভাস্ক্রিপ্ট এক্সিকিউশনের জন্য গড় এক্সিকিউশন লেটেন্সি কীভাবে পরিমাপ করা যায় তা নথিভুক্ত করা হয়েছে।
- পারফেটোতে, বাম নেভিগেশন প্যানে "কোয়েরি (এসকিউএল)" এ নেভিগেট করুন।
নিম্নলিখিত প্রশ্ন লিখুন:
SELECT AVG(dur) FROM slice WHERE slice.name GLOB 'FetchPayload';
ক্যোয়ারী চালান এবং ফলাফল পরিদর্শন করুন.
এসকিউএল ক্যোয়ারী ন্যানোসেকেন্ডে পরিণত হয়।
সুরক্ষিত শ্রোতা নিলাম বিশ্লেষণ করা যেতে পারে ( দৃষ্টিগতভাবে বা Perfetto এর সাথে SQL কোয়েরি দ্বারা। বিজ্ঞাপন প্রযুক্তিগুলি সুরক্ষিত দর্শক নিলামের কার্যকারিতা পরিমাপ করতে পারফেটোর সাথে প্রোফাইলিং ব্যবহার করতে পারে, যার মধ্যে রয়েছে:
- বিডিং এবং স্কোরিং স্ক্রিপ্ট CPU সময়
- HTTP অনুরোধের লেটেন্সি যেমন কী/মান পরিষেবা
- ঠান্ডা ক্যাশ বনাম গরম ক্যাশে কর্মক্ষমতা প্রভাব
- বেশি বনাম কম কাস্টম দর্শক
- বড় বনাম সংকেত ছোট সেট
- সমস্ত বিডিংয়ের জন্য একই স্ক্রিপ্ট ব্যবহার করার তুলনায় কাস্টম শ্রোতা প্রতি বিভিন্ন বিডিং লজিক স্ক্রিপ্ট
সেটআপ
পারফেটো এবং গোপনীয়তা স্যান্ডবক্স সংগ্রহস্থল ক্লোন করুন।
git clone https://android.googlesource.com/platform/external/perfetto
git clone https://github.com/android/privacy-sandbox-samples
অ্যান্ড্রয়েড স্টুডিওতে,
privacy-sandbox-samples/Fledge/FledgeKotlin
ডিরেক্টরি থেকে সুরক্ষিত দর্শক নমুনা অ্যাপটি খুলুন।আপনার টেস্ট ডিভাইস বা এমুলেটরে নমুনা অ্যাপ তৈরি এবং ইনস্টল করুন।
একটি নিলাম চালান এবং একটি পারফেটো ট্রেস নিন
- পরীক্ষা HTTPS এন্ডপয়েন্ট সেট আপ এবং স্থাপন করুন । সুরক্ষিত অডিয়েন্স ডেমো অ্যাপের কাজ করার জন্য হোস্ট করা শেষ পয়েন্টগুলির URL এর একটি নোট নিন।
নির্দিষ্ট করা একটি পরীক্ষার শেষ পয়েন্ট URL দিয়ে ডেমো অ্যাপ চালু করুন।
<test-endpoint-url>
একটি হোস্টেড এন্ডপয়েন্ট URL দিয়ে প্রতিস্থাপন করুন যা আপনি আগের ধাপে রেকর্ড করেছেন।adb shell am start -n com.example.adservices.samples.fledge.sampleapp/.MainActivity \ -e baseUrl "<test-endpoint-url>"
কমপক্ষে 1 কাস্টম দর্শক সক্রিয় আছে তা নিশ্চিত করতে "জুতা CA" টগল করুন৷
সুরক্ষিত শ্রোতা ডেমো অ্যাপ। গোপনীয়তা স্যান্ডবক্স DevTools GitHub সংগ্রহস্থল থেকে trace_config.textproto ফাইল ব্যবহার করে একটি ট্রেস রেকর্ড করুন:
./perfetto/tools/record_android_trace \ -c path/to/trace_config.textproto
"বিজ্ঞাপন নির্বাচন চালান" বোতামে আলতো চাপুন এবং নিলামের ফলাফলের জন্য অপেক্ষা করুন৷ যখন নিলাম শেষ হয়, আউটপুট একটি বার্তা প্রদর্শন করে যেমন "
http://example.com/bidding/render_shoes
থেকে বিজ্ঞাপন প্রদর্শন করবে"।আপনার টার্মিনালে, ট্রেস শেষ করতে
record_android_trace
প্রোগ্রামটি বন্ধ করুন (CTRL+C)। Perfetto UI আপনার ব্রাউজারে খোলে এবং ট্রেস ডেটা লোড হয়।
Perfetto মধ্যে দৃশ্যত ট্রেস অন্বেষণ
UI এর শীর্ষে ঠিকানা বার ব্যবহার করে "RunOnDeviceAdSelection" অনুসন্ধান করুন৷ অনুসন্ধান সম্পূর্ণ করতে এন্টার ক্লিক করুন এবং ফলাফলগুলি দেখান:
পারফেটোতে একক-ক্রেতা সুরক্ষিত দর্শক নিলাম। এটি পরিদর্শন করতে একটি ট্রেস ক্লিক করুন. বিস্তারিত যেমন এক্সিকিউশন লেটেন্সি এখানে পাওয়া যায়।
একটি ট্রেস সেগমেন্ট পরিদর্শন করা হচ্ছে।
সুরক্ষিত শ্রোতা-নির্দিষ্ট ট্রেস সেগমেন্ট
সুরক্ষিত শ্রোতা নিলাম একটি জটিল প্রক্রিয়া এবং পারফেটো ট্রেস দ্বারা ক্যাপচার করা বিভিন্ন সেগমেন্ট রয়েছে। প্রতিটি ট্রেস সেগমেন্ট কি প্রতিনিধিত্ব করে তা এই টেবিলটি নথিভুক্ত করে।
সময় | সেগমেন্ট | বর্ণনা | ফ্রিকোয়েন্সি |
---|---|---|---|
প্রাক নিলাম | RunOnDeviceAdSelection | নিলাম এন্ড টু এন্ড | নিলাম প্রতি |
বিডিং (ক্রয়ের দিক) | FilterContextualAds | প্রাসঙ্গিক বিজ্ঞাপনগুলিতে অ্যাপ ইনস্টল এবং ফ্রিকোয়েন্সি ক্যাপ ফিল্টারিং সম্পাদন করুন | নিলাম প্রতি |
GetBuyersCustomAudience | ডাটাবেস থেকে ক্রেতার কাস্টম দর্শক লোড করুন | ক্রেতা প্রতি | |
FilterCustomAudiences | কাস্টম দর্শকদের উপর অ্যাপ ইনস্টল এবং ফ্রিকোয়েন্সি ক্যাপ ফিল্টারিং সঞ্চালন করুন | নিলাম প্রতি | |
GetTrustedBiddingSignals | লোড ক্রেতার বিডিং সংকেত | ক্রেতা প্রতি | |
RunBiddingPerCustomAudience | একটি একক কাস্টম দর্শকদের জন্য বিজ্ঞাপন বিডিং | কাস্টম দর্শকদের জন্য | |
GetBuyerDecisionLogic | ক্যাশে থাকলে নেটওয়ার্ক বা ডাটাবেস থেকে ক্রেতার জাভাস্ক্রিপ্ট লোড করুন | কাস্টম দর্শকদের জন্য | |
RunBidding | একজন ক্রেতার জন্য জাভাস্ক্রিপ্ট এক্সিকিউশন | ক্রেতা প্রতি | |
GenerateBids | কাস্টম দর্শকদের জন্য জাভাস্ক্রিপ্ট এক্সিকিউশন | কাস্টম দর্শকদের জন্য | |
স্কোরিং (সেল-সাইড) | GetTrustedScoringSignals | বিক্রেতার স্কোরিং সংকেত লোড করুন | বিক্রেতা প্রতি |
RunAdScoring | স্কোর করার জন্য জাভাস্ক্রিপ্ট এক্সিকিউশন | নিলাম প্রতি | |
ScoreAd | একটি বিজ্ঞাপনের জন্য জাভাস্ক্রিপ্ট এক্সিকিউশন | বিজ্ঞাপন প্রতি | |
GetAdSelectionLogic | বিক্রেতার বিজ্ঞাপন নির্বাচনের যুক্তি লোড করুন | নিলাম প্রতি | |
RunAdOutcomeSelection | চূড়ান্ত ফিল্টারিং | নিলাম প্রতি | |
পোস্ট নিলাম | PersistOnDeviceAdSelection | ডাটাবেসে নিলামের ফলাফল লিখুন | নিলাম প্রতি |
গড় নির্বাহ বিলম্বের জন্য ক্যোয়ারী
একটি নির্দিষ্ট ট্রেসের ভিতরে কী ঘটছে তার সুনির্দিষ্ট পরিমাপ পেতে Perfetto SQL কোয়েরি ব্যবহার করতে পারে।
এই বিভাগে জাভাস্ক্রিপ্ট এক্সিকিউশনের জন্য গড় এক্সিকিউশন লেটেন্সি কীভাবে পরিমাপ করা যায় তা নথিভুক্ত করা হয়েছে।
- পারফেটোতে, বাম নেভিগেশন প্যানে "কোয়েরি (এসকিউএল)" এ নেভিগেট করুন।
নিম্নলিখিত প্রশ্ন লিখুন:
SELECT AVG(dur) FROM slice WHERE slice.name GLOB 'FetchPayload';
ক্যোয়ারী চালান এবং ফলাফল পরিদর্শন করুন.
এসকিউএল ক্যোয়ারী ন্যানোসেকেন্ডে পরিণত হয়।