Protected Audience açık artırmasını profilleme

Protected Audience açık artırmaları, Perfetto ile görsel olarak veya SQL sorgusu ile 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. Buna aşağıdakiler dahildir:

  • Teklif verme ve puanlama komut dosyası CPU süresi
  • Anahtar/değer hizmeti gibi HTTP isteklerinin gecikmesi
  • Soğuk önbelleğin sıcak önbelleğe kıyasla performans üzerindeki etkisi
  • Daha fazla veya daha az özel kitle kullanma
  • Daha büyük ve daha 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ı derleyip test cihazınıza veya emülatörünüze yükleyin.

Açık artırma çalıştırma ve Perfetto izleme

  1. Test HTTPS uç noktaları oluşturun ve dağıtın. Protected Audience demo uygulamasının çalışması için barındırılan uç noktaların URL'sini not edin.
  2. Demo uygulamayı, test uç noktası URL'si belirtilmiş şekilde başlatın. <test-endpoint-url> değerini, önceki adımda kaydettiğiniz barındırılan uç nokta URL'siyle 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 "Ayakkabı CA"yı etkinleştirin.

    Demo uygulamasında Shoes CA etkinleştirildi.
    Protected Audience Demo Uygulaması.
  4. Privacy Sandbox DevTools GitHub deposundaki trace_config.textproto dosyasını kullanarak bir izleme kaydı oluşturun:

    ./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 reklamı gösterilecek" gibi bir mesaj gösterilir.

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

Perfetto'da izleri görsel olarak keşfetme

  1. Kullanıcı arayüzünün üst kısmındaki adres çubuğunu kullanarak "RunOnDeviceAdSelection"ı arayın. Aramayı tamamlamak ve sonuçları göstermek için Enter tuşuna basın:

    Protected Audience açık artırmasını gösteren Perfetto kullanıcı arayüzü. RunOnDeviceAdSelection ve RunBidding gibi kanallar görünür.
    Perfetto'da tek alıcılı Protected Audience açık artırması.
  2. İncelemek istediğiniz bir izi tıklayın. Yürütme gecikmesi gibi ayrıntıları burada bulabilirsiniz.

    Bir izleme segmentini inceleyen Perfetto kullanıcı arayüzü. Gecikme ayrıntıları görünür.
    Bir izleme segmentini inceleme.

Protected Audience'a özgü izleme segmentleri

Protected Audience açık artırması karmaşık bir süreçtir ve Perfetto izlemesi tarafından yakalanan birçok farklı segment vardır. Bu tabloda, her bir izleme segmentinin neyi temsil ettiği belirtilmektedir.

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

Ortalama yürütme gecikmesi için sorgu

Perfetto, belirli bir izleme içinde neler olduğunu hassas bir şekilde ölçmek için SQL sorgularını kullanabilir.

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

  1. Perfetto'da sol gezinme bölmesinde "Sorgu (SQL)"ye gidin.
  2. Aşağıdaki 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 nanosaniyedir.
    SQL sorgu sonuçları nanosaniye cinsindendir.