Korunan Kitle açık artırmasını profilleme

Korunan Kitle açık artırmaları, görsel olarak veya Perfetto ile SQL sorgusu kullanılarak analiz edilebilir. Reklam teknolojileri, Protected Audience açık artırmalarının performansını ölçmek için Perfetto ile profil oluşturma özelliğini kullanabilir. Örneğin:

  • Teklif verme ve puanlama komut dosyası CPU süresi
  • Anahtar/değer hizmeti gibi HTTP isteklerinin gecikmesi
  • Soğuk önbelleğin, çalışır durumda önbelleğin performans üzerindeki etkisi
  • Daha fazla veya daha az özel kitle
  • Büyük veya küçük sinyal grupları
  • Tüm teklifler için aynı komut dosyasının kullanılmasına kıyasla özel kitle başına farklı teklif mantığı komut dosyaları

Kurulum

  1. Perfetto ve Özel Korumalı Alan depolarını klonlayın.

    git clone https://android.googlesource.com/platform/external/perfetto
    git clone https://github.com/android/privacy-sandbox-samples
    
  2. Android Studio'da, privacy-sandbox-samples/Fledge/FledgeKotlin dizininden Protected Audience örnek uygulamasını açın.

  3. Örnek uygulamayı test cihazınızda veya emülatörünüzde derleyip yükleyin.

Açık artırma yaparak Perfetto'nun izini sürün

  1. Test HTTPS uç noktalarını ayarlayın ve dağıtın. Protected Audience demo uygulamasının çalışması için gerekli olduğundan, barındırılan uç noktaların URL'lerini not edin.
  2. Demo uygulamayı bir test uç nokta URL'si belirterek başlatın. <test-endpoint-url> değerini, önceki adımda kaydettiğiniz bir barındırılan uç nokta URL'si ile değiştirin.

    adb shell am start -n com.example.adservices.samples.fledge.sampleapp/.MainActivity \
      -e baseUrl "<test-endpoint-url>"
    
  3. En az 1 özel kitlenin etkin olduğundan emin olmak için "Shoes CA"yı açın.

    Demo uygulamanın ekran görüntüsü. Ayakkabı CA&#39;sı ayarı değiştirildi.
    Protected Audience Demo Uygulaması.
  4. Özel Korumalı Alan Geliştirici Araçları GitHub deposundaki trace_config.textproto dosyasını kullanarak bir iz kaydedin:

    ./perfetto/tools/record_android_trace \
      -c path/to/trace_config.textproto
    
  5. "Reklam Seçimini Çalıştır" düğmesine dokunun ve açık artırma sonuçlarını bekleyin. Açık artırma tamamlandığında çıkışta "http://example.com/bidding/render_shoes sitesinden reklam gösterilirdi" gibi bir mesaj gösterilir.

  6. İzlemeyi tamamlamak için terminalinizde record_android_trace programını sonlandırın (CTRL+C). Perfetto kullanıcı arayüzü, iz verileri yüklenmiş olarak tarayıcınızda açılır.

Perfetto'da izleri görsel olarak keşfedin

  1. Kullanıcı arayüzünün üst kısmındaki adres çubuğunu kullanarak "RunOnDeviceAdSelection" araması yapın. Aramayı tamamlayıp sonuçları görmek için Enter'a basın:

    Perfetto kullanıcı arayüzü, Protected Audience açık artırmasına bakıyor. RunOnDeviceAdSelection ve RunBidding gibi kanallar görünür durumdadır.
    Perfetto'da tek alıcılı Korunan Kitle açık artırması.
  2. İncelemek için bir izi tıklayın. Yürütme gecikmesi gibi ayrıntıları burada bulabilirsiniz.

    Perfetto kullanıcı arayüzü, bir iz segmentini inceliyor. Gecikme ayrıntıları görünür.
    İz segmentini inceleme.

Korunan kitleye özgü iz segmentleri

Protected Audience açık artırması karmaşık bir süreçtir ve Perfetto izinin yakaladığı birçok farklı segment bulunur. Bu tablo, her iz segmentinin neyi temsil ettiğini belgelemektedir.

Saat Segment Açıklama Frekans
Açık artırma öncesi RunOnDeviceAdSelection Açık artırma uçtan uca Açık artırma başına
Teklif verme (alıcı tarafı) FilterContextualAds İçeriğe dayalı reklamlarda uygulama yükleme ve sıklık sınırı filtrelemesi gerçekleştirme Açık artırma başına
GetBuyersCustomAudience Alıcının özel kitlesini veritabanından yükle Alıcı başına
FilterCustomAudiences Özel kitlelerde uygulama yükleme ve sıklık sınırı filtreleme işlemleri gerçekleştirme Açık artırma başına
GetTrustedBiddingSignals Alıcının teklif sinyallerini yükleme Alıcı başına
RunBiddingPerCustomAudience Tek bir özel kitle için reklam teklifi verme Özel kitle başına
GetBuyerDecisionLogic Önbelleğe alınmışsa alıcının JavaScript'ini ağdan veya veritabanından yükle Özel kitle başına
RunBidding Bir alıcı için JavaScript yürütmesi Alıcı başına
GenerateBids Özel bir kitle için JavaScript yürütme Özel kitle başına
Puanlama (satış tarafı) GetTrustedScoringSignals Satıcının puan sinyallerini yükle Satıcı başına
RunAdScoring Puanlama için JavaScript yürütmesi Açık artırma başına
ScoreAd Bir reklam için JavaScript yürütmesi Reklam başına
GetAdSelectionLogic Satıcının reklam seçimi mantığını yükle Açık artırma başına
RunAdOutcomeSelection Son filtreleme Açık artırma başına
Açık artırma sonrası PersistOnDeviceAdSelection Açık artırma sonucunu veritabanına yaz Açık artırma başına

Ortalama yürütme gecikmesi için sorgu

Perfetto, belirli bir iz içinde neler olup bittiğini hassas bir şekilde ölçmek için SQL sorgularını kullanabilir.

Bu bölümde, JavaScript yürütmesi için ortalama yürütme gecikmesinin nasıl ölçüleceği açıklanmaktadır.

  1. Perfetto'da, sol gezinme bölmesindeki "Query (SQL)" (Sorgu (SQL)) bölümüne gidin.
  2. Şu sorguyu girin:

    SELECT AVG(dur)
    FROM slice
    WHERE slice.name GLOB 'FetchPayload';
    
  3. Sorguyu çalıştırın ve sonuçları inceleyin.

    SQL sorgu sonuçları. Ortalama gecikme 17693688 nanosaniye.
    Nanosaniye cinsinden SQL sorgusu sonuçları.