Performans İzleme verilerini BigQuery'ye aktarın

Daha ayrıntılı analiz için Performans İzleme verilerini Apple ve Android uygulamalarından BigQuery'ye aktarabilirsiniz. BigQuery, verileri BigQuery SQL kullanarak analiz etmenize, başka bir bulut sağlayıcıya aktarmanıza ve hatta verileri özel makine öğrenimi modelleriniz için kullanmanıza olanak tanır.

BigQuery dışa aktarmayı etkinleştir

  1. Firebase konsolunda Entegrasyonlar sayfasına gidin ve ardından BigQuery kartında Bağlantı'yı tıklayın.

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

    Performans İzleme için BigQuery dışa aktarmayı etkinleştirdiğinizde aşağıdakiler gerçekleşir:

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

BigQuery'ye hangi veriler aktarılır?

Projedeki her uygulama için dışa aktarma, yakalanan tüm performans olaylarını içeren bir tablo oluşturur. Tablodaki her satır aşağıdakilerden biri olabilecek tek bir performans olayıdır:

  • Süre izleme — varsayılan olarak uygulama başlangıcı, ön plandaki uygulama ve arka plandaki uygulamanın yanı sıra geliştirici tarafından sağlanan özel kod izlemelerini içeren "süre" metriğini toplayan izlemeler

    • event_type DURATION_TRACE
    • event_name izleme adıyla aynı
  • İzleme metriği — geliştirici tarafından sağlanan özel kod izlemeleriyle ilişkili özel metrikler

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

    • event_type : SCREEN_TRACE
    • event_name _st_ öneki artı gerçek ekran adıdır
  • Ağ isteği — bir ağ isteğinin ömrünü kapsayan izler (HTTP ağ isteği izleri)

    • event_type : NETWORK_REQUEST
    • event_name , ağ isteği URL'sinin kategorize edilmiş modelidir

Her performans olayı, olayın niteliklerinin (istemci cihazının ülkesi ve operatörü gibi) yanı sıra etkinliğe özgü bilgileri içerir:

  • Süre izleri, iz metrikleri ve ekran izleri trace_info içerir
  • İzleme metrikleri trace_info.metric_info içerir
  • Ekran izlemeleri trace_info.screen_info içerir
  • Ağ izlemeleri network_info içerir

Ayrıntılı veri şeması

Alan adı Tip Tanım
event_timestamp zaman damgası İstemci cihazında olayın başlatıldığı Epoch'tan bu yana zaman damgası (izleme başlangıcı, ağ başlangıcı vb.)
app_display_version sicim Uygulamanın sürümünü görüntüleyin (örneğin, "4.1.7")
  • Android için — VersionName
  • iOS için — CFBundleShortVersionString
app_build_version sicim Uygulamanın sürümünü oluşturun (örneğin, "1523456")
  • Android için — VersionCode
  • iOS için — CFBundleVersion
OS sürümü sicim İstemci cihazının işletim sistemi sürümü
  • Android için — Android API düzeyi (örneğin "26")
  • iOS için — iOS sürümü (örneğin "11.4")
cihaz adı sicim İstemci cihazının adı (örneğin, "Google Pixel")
ülke sicim Etkinliğin gerçekleştiği ülkenin iki harfli ülke kodu (örneğin, "ABD" veya bilinmeyen ülke için "ZZ")
taşıyıcı sicim İstemci cihazının taşıyıcısı
radyo_tipi sicim Olayın gerçekleştiği andaki aktif radyo türü (örneğin, "WIFI")
özel_attributes DİZİ<KAYIT> Bu etkinliğe eklenen tüm özel özellikler
özel_attributes.key sicim Özel özelliğin anahtarı
özel_attributes.value sicim Özel özelliğin değeri
etkinlik tipi sicim Etkinliğin türü; olası değerler:
  • DURATION_TRACE — varsayılan olarak uygulama başlangıcı, ön plandaki uygulama ve arka plandaki uygulamanın yanı sıra geliştirici tarafından sağlanan özel kod izlemelerini içeren "süre" metriğini toplayan izlemeler
  • SCREEN_TRACE — bir ekranın ömrünü kapsayan izler (ekran oluşturma izleri)
  • TRACE_METRIC — geliştirici tarafından sağlanan özel kod izleriyle ilişkili özel ölçümler
  • NETWORK_REQUEST — bir ağ isteğinin ömrünü kapsayan izler (HTTP ağ isteği izleri)
etkinlik adı sicim Etkinliğin adı
  • DURATION_TRACE için — izleme adı
  • TRACE_METRIC için — özel metrik adı
  • SCREEN_TRACE için — _st_ ve ardından izleme adı
  • NETWORK_REQUEST için — ağ isteği URL modeli
parent_trace_name sicim İzleme metriğini taşıyan üst izlemenin adı
Yalnızca TRACE_METRIC için mevcut
trace_info KAYIT Yalnızca DURATION_TRACE , SCREEN_TRACE ve TRACE_METRIC için mevcut
trace_info.duration_us int64
  • DURATION_TRACE ve SCREEN_TRACE için — İzin başlangıcından sonuna kadar geçen süre ("süre")
  • TRACE_METRIC için — ana izin başlangıcından sonuna kadar geçen süre ("süre")
Birim: mikrosaniye
trace_info.screen_info KAYIT Yalnızca SCREEN_TRACE için mevcut
trace_info.screen_info.slow_frame_ratio kayan nokta64 Bu ekran izleme için yavaş karelerin oranı, 0 ile 1 arasında (örneğin, 0,05 değeri, bu ekran örneği için karelerin %5'inin oluşturulmasının 16 ms'den uzun sürdüğü anlamına gelir)
trace_info.screen_info.frozen_frame_ratio kayan nokta64 Bu ekran izlemesi için dondurulmuş karelerin oranı (0 ile 1 arasında) (örneğin, 0,05 değeri, bu ekran örneği için karelerin %5'inin oluşturulmasının 700 ms'den fazla sürdüğü anlamına gelir)
trace_info.metric_info KAYIT Yalnızca TRACE_METRIC için mevcut
trace_info.metric_info.metric_value int64 İzleme metriğinin değeri
Ağ bilgisi KAYIT Yalnızca NETWORK_REQUEST için mevcut
network_info.response_code int64 Ağ yanıtına ilişkin HTTP yanıt kodu (örneğin, 200, 404)
network_info.response_mime_type sicim Ağ yanıtının MIME türü (örneğin, "text/html")
network_info.request_http_method sicim 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_us int64 Ağ isteği gönderimi tamamlandığında event_timestamp mikrosaniye sonra
Birim: mikrosaniye
network_info.response_initiated_time_us int64 Ağ yanıtı başlatıldığında event_timestamp sonraki mikrosaniye
Birim: mikrosaniye
network_info.response_completed_time_us int64 Ağ yanıtı tamamlandığında event_timestamp sonraki mikrosaniye
Birim: mikrosaniye

Dışa aktarılan verilerle ne yapabilirsiniz?

Aşağıdaki bölümlerde BigQuery'de dışa aktarılan Performans İzleme verilerinize karşı çalıştırabileceğiniz sorgu örnekleri sunulmaktadı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;

Dondurulmuş karelerin oranını çeşitli koşullara göre kontrol edin

Örneğin, donmuş karelerin oranını ve kullanıcıların farklı radyo türlerini (WiFi, 4G vb.) kullanırken uygulamanızın her ekranında geçirdiği süreyi kontrol edebilirsiniz.

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 dosya türlerini yüklemek için önbellek isabet oranını hesaplayın

Bu analiz, diskten yükleme için file-extension adlı özel bir öznitelik ve cache-hit ederse 1 ve önbellek kaçırılırsa 0 ayarlanan önbellek isabeti adlı özel bir ölçüm (bir TRACE_METRIC ) ile diskten yükleme için özel bir kod izlemesi uyguladığınızı varsayar.

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

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 ağ istekleri yayınladığı günün saatini kontrol edin

Örneğin, ABD'deki kullanıcıların uygulamanızdan ağ isteklerini günün hangi saatinde gerçekleştirdiklerini kontrol edebilirsiniz:

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ından erişmek veya verileri başka bir üçüncü taraf çözümüne göndermek isteyebilirsiniz. Şu anda verileri dışa aktarmak için herhangi bir ücret alınmamaktadır.

Verilerinizi şu şekilde dışa aktarabilirsiniz:

  • BigQuery web kullanıcı arayüzünü kullanma

  • CLI komutunu çalıştırma bq extract

  • API veya istemci kitaplıkları aracılığıyla bir çıkarma işi gönderme.

Fiyatlandırma

Performance Monitoring'den veri dışa aktarmak için herhangi bir ücret alınmaz ve BigQuery, cömert, ücretsiz kullanım limitleri sağlar. Ayrıntılı bilgi için BigQuery fiyatlandırmasına veya BigQuery korumalı alanına bakın.