Daha ayrıntılı analiz için Apple ve Android uygulamalarından BigQuery'ye Performans İzleme verilerini aktarabilirsiniz. BigQuery, verileri BigQuery SQL kullanarak analiz etmenize, başka bir bulut sağlayıcıya aktarmanıza ve hatta özel makine öğrenimi modelleriniz için kullanmanıza olanak tanır.
BigQuery dışa aktarmayı etkinleştir
Firebase konsolunda Entegrasyonlar sayfasına gidin ve ardından BigQuery kartında Bağla'yı tıklayın.
BigQuery'yi etkinleştirmek için ekrandaki talimatları uygulayın.
Performance Monitoring için BigQuery Export'u etkinleştirdiğinizde aşağıdakiler gerçekleşir:
Firebase, mevcut verilerinizin bir kopyasını BigQuery'ye aktarır. Dışa aktarma işlemi için verilerin ilk yayılması işleminin tamamlanması 48 saati bulabilir.
- Son 30 güne veya BigQuery Export'u etkinleştirdiğiniz en son tarihe (hangisi en güncelse) kadar veri doldurma işlemlerini manuel olarak planlayabilirsiniz.
Veri kümesi oluşturulduktan sonra konumu değiştirilemez ancak veri kümesini farklı bir konuma kopyalayabilir veya veri kümesini farklı bir konuma manuel olarak taşıyabilirsiniz (yeniden oluşturabilirsiniz). Daha fazla bilgi için Veri kümesi konumunu değiştirme bölümüne bakın.
Firebase, Firebase projenizdeki verilerinizi BigQuery'ye düzenli olarak senkronize eder. Bu günlük dışa aktarma işlemleri genellikle planlandıktan sonra 24 saat içinde biter.
Varsayılan olarak, projenizdeki tüm uygulamalar BigQuery'ye bağlıdır. Projeye daha sonra eklediğiniz tüm uygulamalar otomatik olarak BigQuery'ye bağlanır. Hangi uygulamaların veri göndereceğini yönetebilirsiniz.
BigQuery Export'u devre dışı bırakmak için Firebase konsolunda projenizin bağlantısını kaldırın.
BigQuery'ye hangi veriler aktarılır?
Dışa aktarma işlemi, projedeki her uygulama için yakalanan tüm performans etkinliklerini içeren bir tablo oluşturur. Tablodaki her satır, aşağıdakilerden biri olabilecek tek bir performans etkinliğidir:
Süre izleme: Varsayılan olarak uygulama başlatma, ön plandaki uygulama ve arka plandaki uygulama gibi "süre" metriğini toplayan izler ve geliştirici tarafından kullanılan özel kod izleri
event_type
:DURATION_TRACE
event_name
, iz adıyla aynı
İzleme metriği: Geliştiricinin kullandığı özel kod izleriyle ilişkilendirilen özel metrikler
event_type
:TRACE_METRIC
event_name
, metriğin adıdırparent_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 izleri)
event_type
:SCREEN_TRACE
event_name
,_st_
önekine ek olarak gerçek ekran adından oluşur
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 kategorilere ayrılmış kalıbıdır
Her performans etkinliği, etkinlik özelliklerinin (ör. istemci cihazının ülkesi ve operatörü) yanı sıra 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ü (ör. "4.1.7")
|
uygulama_oluşturma_sürümü | dize | Uygulamanın derleme sürümü (ör. "1523456")
|
os_sürümü | dize | İstemci cihazın OS sürümü
|
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 (ö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:
|
event_name | dize | Etkinliğin adı
|
üst_izleyici_adı | dize | İz metriğini taşıyan üst izlemenin adı Yalnızca TRACE_METRIC için mevcuttur |
iz_bilgisi | KAYIT | Yalnızca DURATION_TRACE , SCREEN_TRACE ve TRACE_METRIC için mevcut |
trace_info.duration_us | int64 |
|
trace_info.screen_info | KAYIT | Yalnızca SCREEN_TRACE için mevcut |
izleme_bilgisi.ekran_bilgisi.yavaş_kare_oranı | kayan64 | Bu ekran izi için yavaş karelerin oranı, 0 ile 1 arasındadır (örneğin, 0,05 değeri bu ekran örneğindeki karelerin% 5'inin oluşturulmasının 16 ms.den uzun sürdüğü anlamına gelir) |
trace_info.screen_info.frozen_frame_ratio | kayan64 | Bu ekran izi için 0 ile 1 arasında donmuş karelerin oranı (örneğin, 0, 05 değeri bu ekran örneğindeki karelerin% 5'inin oluşturulmasının 700 ms.den uzun sürdüğü anlamına gelir) |
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 gönderme işlemi tamamlandığında event_timestamp sonrasındaki mikrosaniyeBirim: mikrosaniye |
network_info.response_initiated_time_tr | int64 | Ağ yanıtı başlatıldığında event_timestamp sonrasındaki mikrosaniyeBirim: mikrosaniye |
network_info.response_completed_time_tr | int64 | Ağ yanıtı tamamlandığında event_timestamp sonrasındaki mikrosaniyeBirim: mikrosaniye |
Dışa aktarılan verilerle ne yapabilirsiniz?
Aşağıdaki bölümlerde, dışa aktarılan Performance Monitoring verilerinizle BigQuery'de çalıştırabileceğiniz sorgulara örnekler verilmiştir.
Ü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 kullanıcıların farklı radyo türlerini (kablosuz, 4G vb.) kullanırken uygulamanızın her bir ekranında geçirdiği sürenin oranını 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 türdeki dosyaları yüklemeye ilişkin önbellek isabet oranını hesapla
Bu analizde, diskten yükleme için file-extension
adlı bir özel özellik ve önbellek isabeti durumunda 1
ve önbellek eksikse 0
olarak ayarlanmış cache-hit
adlı bir özel metrik (TRACE_METRIC
) kullanarak özel bir kod izi uyguladığınız varsayılmıştır.
Örneğin, diskten PNG dosyalarını 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 günün hangi saatinde ağ isteği gönderdiğini kontrol etme
Örneğin, ABD'deki kullanıcıların günün hangi saatinde uygulamanızdan ağ isteği gönderdiğini 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ında erişmek veya verilerinizi başka bir üçüncü taraf çözümüne aktarmak istersiniz. Şu anda verilerin dışa aktarılması için ücret alınmamaktadır.
Verilerinizi aşağıdaki yöntemlerle dışa aktarabilirsiniz:
BigQuery web kullanıcı arayüzünü kullanma
CLI komutunu çalıştırma
bq extract
API veya istemci kitaplıklarıyla ayıklama işi gönderme.
Fiyatlandırma
Performance Monitoring'den veri dışa aktarım için ücret alınmaz. BigQuery, ücretsiz olarak kullanabileceğiniz yüksek kullanım sınırları sunar. Ayrıntılı bilgi için BigQuery fiyatlandırmasına veya BigQuery korumalı alanına bakın.