Performance Monitoring verilerini BigQuery'ye aktarın

Performance Monitoring verilerini Apple ve Android uygulamalarından Daha fazlası için BigQuery analiz. BigQuery, Google Analytics 4'teki verileri BigQuery SQL'e aktarabilir, başka bir bulut sağlayıcıya aktarabilir ve hatta verilerini kullanmanız gerekir.

BigQuery dışa aktarmayı etkinleştir

  1. Şuraya gidin: Entegrasyonlar Firebase konsolunda Bağla'yı tıklayın ve ardından BigQuery'de Bağla'yı tıklayın. kartını inceleyebilirsiniz.

  2. BigQuery'yi etkinleştirmek için ekrandaki talimatları uygulayın.

    Performance Monitoring için BigQuery verilerini dışa aktarmayı etkinleştirdiğinizde aşağıdakiler gerçekleşir:

    • Firebase, mevcut verilerinizin bir kopyasını BigQuery'ye gidin. Verilerin dışa aktarım için ilk yayılması yaklaşık 15 dakika sürebilir 48 saat içinde tamamlanır.

    • Veri kümesi oluşturulduktan sonra konum değiştirilemez, ancak veri kümesini farklı bir konuma kopyalayabilirsiniz ya da veri kümesini farklı bir konuma manuel olarak taşıyın (yeniden oluşturun). Öğrenmek için daha fazla bilgi için Veri kümesi konumunu değiştirme bölümüne bakın.

    • Firebase, Firebase projenizden Firebase'e veri aktarıp BigQuery'ye gidin. Bu günlük dışa aktarma işlemleri genellikle 24 saat içinde tamamlanır en iyi uygulamaları paylaşacağız.

    • Varsayılan olarak, projenizdeki tüm uygulamalar BigQuery'ye bağlıdır. Herhangi biri projeye daha sonra eklediğiniz uygulamalar otomatik olarak bağlanır BigQuery'ye gidin. Şunları yapabilirsiniz: hangi uygulamaların veri göndereceğini yönetin.

BigQuery dışa aktarmayı devre dışı bırakmak için: projenizin bağlantısını kaldırın Firebase konsolunda yer alır.

BigQuery'ye hangi veriler aktarılır?

Projedeki her bir uygulama için dışa aktarma işlemi, uygulamadaki tüm yakalanan performans olaylarıdır. Tablodaki her satır tek bir performans etkinliğidir şunlardan biri olabilir:

  • Süre izleme: Varsayılan olarak "süre"; uygulama başlatma, ön planda uygulama ve arka planda uygulama seçeneklerini içerir. geliştirici enstrümanı tarafından kullanılan özel kod izlemeleri,

    • event_type: DURATION_TRACE
    • event_name, iz adıyla aynı
  • İz metriği: Şununla ilişkili özel metrikler: geliştirici aracılı özel kod izlemeleri

    • event_type: TRACE_METRIC
    • event_name, metriğin adıdır
    • parent_trace_name, bu metriği içeren iz adıdır
  • Ekran izleme: Bir ekranın kullanım ömrünü kapsayan izler (ekran oluşturma izler)

    • event_type: SCREEN_TRACE
    • event_name, _st_ önekine ek olarak gerçek ekran adından oluşur
  • Ağ isteği: Ağ isteğinin ömrünü kapsayan izler (HTTP ağ isteği izleri)

    • event_type: NETWORK_REQUEST
    • event_name, ağ isteği URL'sinin kategorilere ayrılmış kalıbıdır

Her performans etkinliği, etkinliğin özelliklerini (örneğin, ülke ve operatörüne ait bilgileri ve etkinliğe özel bilgileri içerir:

  • Süre izleri, iz metrikleri ve ekran izleri şunları içerir: trace_info
  • İz metrikleri trace_info.metric_info içeriyor
  • Ekran izleri şunları içeriyor: trace_info.screen_info
  • Ağ izleri şunu içeriyor: network_info

Ayrıntılı veri şeması

Alan Adı Tür Açıklama
event_timestamp zaman damgası İstemci cihazında etkinliğin başladığı Epoch'tan bu yana geçen zaman damgası (izleme başlangıcı, ağ başlangıcı vb.)
uygulama_görüntülü_sürümü dize Uygulamanın görüntüleme sürümü (örneğin, "4.1.7")
  • Android için — VersionName
  • iOS için — CFBundleShortVersionString
uygulama_oluşturma_sürümü dize Uygulamanın derleme sürümü (örneğin, "1523456")
  • Android için — VersionCode
  • iOS için — CFBundleVersion
os_sürümü dize İstemci cihazın OS sürümü
  • Android için — Android API düzeyi (örneğin, "26")
  • iOS için - iOS sürümü (örneğin "11.4")
device_name [cihaz_adı] dize İstemci cihazın adı (örneğin, "Google Pixel")
country dize Etkinliğin gerçekleştiği ülkenin iki harfli ülke kodu gerçekleşti (örneğin, bilinmeyen ülke için "US" veya "ZZ")
nakliyeci dize İstemci cihazın operatörü
radyo_türü dize Etkinlik gerçekleştiğinde etkin radyo türü (ör. "Kablosuz")
özel_özellikler DİZİ<KAYIT> Bu etkinliğe ekli tüm özel özellikler
özel_özellikler.anahtar dize Özel özelliğin anahtarı
özel_özellikler.değer dize Özel özelliğin değeri
event_type [etkinlik_türü] dize Etkinliğin türü; olası değerler:
  • DURATION_TRACE - toplanan izler, varsayılan değer olan "süre", buna uygulama başlatma, arka planda uygulama ve uygulamaların yanı sıra geliştirici aracılı özel kod izlemeleri
  • SCREEN_TRACE — yaşam döngüsü boyunca uzanan izler bir ekran (ekran oluşturma izleri)
  • TRACE_METRIC — özel metrikler: geliştirici aracılı özel kod izlemelerle ilişkili
  • NETWORK_REQUEST — yaşam boyu uzanan izler (HTTP ağ istek izleri)
event_name dize Etkinliğin adı
  • DURATION_TRACE için — iz adı
  • TRACE_METRIC için — özel metrik adı
  • SCREEN_TRACE için — _st_ takip ediliyor iz adına göre
  • NETWORK_REQUEST için — ağ isteği URL'si desen
üst_izleyici_adı dize İz metriğini taşıyan üst izlemenin adı
Yalnızca TRACE_METRIC için mevcut
iz_bilgisi KAYIT Yalnızca DURATION_TRACE için mevcut, SCREEN_TRACE TRACE_METRIC
trace_info.duration_us int64
  • DURATION_TRACE ve SCREEN_TRACE için — Programın başlangıcından sonuna kadar olan süre ("süre") iz
  • TRACE_METRIC için — süre ("süre") başlangıcından sonuna kadar
ziyaret edin. Birim: mikrosaniye
trace_info.screen_info KAYIT Yalnızca SCREEN_TRACE için mevcut
izleme_bilgisi.ekran_bilgisi.yavaş_kare_oranı kayan64 Bu ekran izlemedeki yavaş karelerin oranı (0 ile 1 arasındadır) (örneğin, 0,05 değeri bu ekrandaki karelerin% 5'i anlamına gelir örneğin oluşturulması 16 ms'den uzun sürdü)
trace_info.screen_info.frozen_frame_ratio kayan64 Bu ekran izlemedeki donmuş karelerin oranı (0 ile 1 arasındadır) (örneğin, 0,05 değeri bu ekrandaki karelerin% 5'i anlamına gelir örneğin oluşturulması 700 ms'den uzun sürdü)
izleme_bilgisi.metrik_bilgisi KAYIT Yalnızca TRACE_METRIC için mevcut
izleme_bilgisi.metrik_bilgi.metrik_değer int64 İz metriğinin değeri
ağ_bilgileri KAYIT Yalnızca NETWORK_REQUEST için mevcut
network_info.response_code [Ağ_bilgisi.yanıt_kodu] int64 Ağ yanıtı için HTTP yanıt kodu (örneğin, 200, 404)
network_info.response_mime_type [ağ_bilgisi.yanıt_mime_türü] dize Ağ yanıtının MIME türü (örneğin, "metin/html")
network_info.request_http_method dize Ağ isteğinin HTTP yöntemi (örneğin "GET" veya "POST")
network_info.request_payload_bytes int64 Ağ isteği yükünün boyutu
Birim: bayt
network_info.response_payload_bytes int64 Ağ yanıt yükünün boyutu
Birim: bayt
network_info.request_completed_time_tr int64 Ağ isteği olduğunda event_timestamp sonrasındaki mikrosaniye gönderme işlemi tamamlandı
Birim: mikrosaniye
network_info.response_initiated_time_tr int64 Ağ yanıtı olduğunda event_timestamp sonrasındaki mikrosaniye başlatıldıysa
Birim: mikrosaniye
network_info.response_completed_time_tr int64 Ağ yanıtı olduğunda event_timestamp sonrasındaki mikrosaniye tamamlandı
Birim: mikrosaniye

Dışa aktarılan verilerle ne yapabilirsiniz?

Aşağıdaki bölümlerde, çalıştırabileceğiniz sorgu örnekleri sunulmaktadır: BigQuery'yi dışa aktarılan Performance Monitoring verilerinizle karşılaştırır.

Ülkeye göre ortalama uygulama başlatma gecikmesi dökümünü görüntüleyin

SELECT AVG(trace_info.duration_us), country
FROM `TABLE_NAME`
WHERE _PARTITIONTIME > TIMESTAMP("YYYY-MM-DD")
AND event_type = "DURATION_TRACE"
AND event_name = "_app_start"
GROUP BY 2;

Donmuş karelerin oranını çeşitli koşullarla karşılaştırarak kontrol etme

Örneğin, donmuş karelerin oranını ve dikey kare sayısını gösteren kullanıcıların farklı radyo türlerinde (Kablosuz, 4G vb.).

SELECT
  AVG(trace_info.duration_us / 1000000) AS seconds_on_screen,
  AVG(trace_info.screen_info.frozen_frame_ratio) AS frozen_frame_ratio,
  event_name,
  radio_type
FROM `TABLE_NAME`
WHERE _PARTITIONTIME > TIMESTAMP("YYYY-MM-DD")
AND event_type = "SCREEN_TRACE"
GROUP BY event_name, radio_type
ORDER BY event_name, radio_type;

Diskten belirli türdeki dosyaları yüklemeye ilişkin önbellek isabet oranını hesapla

Bu analizde, file-extension adlı özel bir özellik ve bir özel metrik ( TRACE_METRIC) olarak adlandırılmıştır. cache-hit; önbellek isabeti ise 1, önbellek isabeti ise 0 olarak ayarlanır. önbellekte yok.

Örneğin, PNG dosyalarını yüklemek için önbellek isabet oranını hesaplayabilirsiniz. diskten:

SELECT AVG(trace_info.metric_info.metric_value) AS cache_hit_rate
FROM `TABLE_NAME`
WHERE _PARTITIONTIME > TIMESTAMP("YYYY-MM-DD")
AND event_type = "TRACE_METRIC"
AND event_name = "cache-hit"
AND parent_trace_name = "loadFromDisk"
AND STRUCT("file-extension", "png") IN UNNEST(custom_attributes);

Kullanıcıların günün hangi saatinde ağ isteği gönderdiğini kontrol etme

Örneğin, Amerika Birleşik Devletleri'ndeki kullanıcıların günün hangi saatinde uygulamanızdan ağ istekleri gönderme:

SELECT
  count(1) AS hourly_count,
  EXTRACT(HOUR FROM event_timestamp) AS hour_of_day
FROM `TABLE_NAME`
WHERE _PARTITIONTIME > TIMESTAMP("YYYY-MM-DD")
AND event_type = "NETWORK_REQUEST"
AND country = "US"
GROUP BY 2 ORDER BY 2;

Performans İzleme verilerinizi istediğiniz yere götürün

Bazen Performans İzleme verilerinize sunucu tarafında erişmek ya da verileri doğrudan üçüncü taraf çözümüdür. Şu anda verilerin dışa aktarılması için ücret alınmamaktadır.

Verilerinizi aşağıdaki yöntemlerle dışa aktarabilirsiniz:

Fiyatlandırma

Performance Monitoring'den ve BigQuery'den veri dışa aktarma işlemi ücretsizdir ücretsiz kullanım sınırları sunuyor. Ayrıntılı bilgi için BigQuery fiyatlandırması veya BigQuery korumalı alanını kullanabilirsiniz.