Daha fazla analiz için Apple ve Android uygulamalarından Performans İzleme verilerini BigQuery'ye aktarabilirsiniz . BigQuery, verileri BigQuery SQL kullanarak analiz etmenize, başka bir bulut sağlayıcısına aktarmanıza ve hatta verileri özel makine öğrenimi modelleriniz için kullanmanıza olanak tanır.
BigQuery dışa aktarımını etkinleştir
Firebase konsolundaki Entegrasyonlar sayfasına gidin, ardından BigQuery kartında Bağlantı'yı tıklayın.
BigQuery'yi etkinleştirmek için ekrandaki talimatları izleyin.
Performans İzleme için BigQuery dışa aktarımını etkinleştirdiğinizde:
Firebase , mevcut verilerinizin bir kopyasını BigQuery'ye aktarır .
İlk bağlantıda, Firebase, hemen denemeye başlayabilmeniz için BigQuery tablolarınızı son 7 güne ait verileri doldurmak üzere otomatik olarak planlar. İlk verilerin BigQuery'de kullanılabilir olması için birkaç saat bekleyin.
Ayrıca son 30 güne kadar veri dolgularını manuel olarak planlayabilirsiniz .
Veri kümesi oluşturulduktan sonra konum değiştirilemez, ancak veri kümesini farklı bir konuma kopyalayabilir veya veri kümesini farklı bir konuma manuel olarak taşıyabilir (yeniden oluşturabilirsiniz). Daha fazla bilgi edinmek için Veri kümesi konumunu değiştirme konusuna bakın.
Firebase, verilerinizin Firebase projenizden BigQuery'ye düzenli senkronizasyonlarını ayarlar. Bu günlük ihracat operasyonları Pasifik Saati ile 04:00'te başlar ve genellikle 24 saat içinde tamamlanır.
Varsayılan olarak, projenizdeki tüm uygulamalar BigQuery'ye bağlanır ve daha sonra projeye eklediğiniz tüm uygulamalar otomatik olarak BigQuery'ye bağlanır. Hangi uygulamaların veri gönderdiğini yönetebilirsiniz .
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 olabilen tek bir performans olayıdır:
Süre izleme — varsayılan olarak, uygulama başlangıcı, ön planda uygulama ve arka planda uygulama dahil olmak üzere "süre" metriğini ve ayrıca geliştirici tarafından yönlendirilen özel kod izlerini toplayan izler
-
event_type
:DURATION_TRACE
-
event_name
, izleme adıyla aynı
-
İzleme metriği — geliştirici tarafından kullanılan ö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 izi — bir ekranın ömrünü kapsayan izler (ekran işleme 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ı, olaya ilişkin özelliklerin yanı sıra olaya özel bilgileri (ülke ve müşteri cihazının taşıyıcısı gibi) içerir:
- Süre izleri, izleme ölçümleri ve ekran izleri
trace_info
içerir - İzleme metrikleri
trace_info.metric_info
içerir - Ekran izleri
trace_info.screen_info
içerir - Ağ izleri
network_info
içerir
Ayrıntılı veri şeması
Alan adı | Tip | Tanım |
---|---|---|
event_timestamp | zaman damgası | İstemci cihazında olay başladığında Epoch'tan bu yana zaman damgası (izleme başlangıcı, ağ başlangıcı vb.) |
app_display_version | sicim | Uygulamanın görüntüleme sürümü (örneğin, "4.1.7")
|
app_build_version | sicim | Uygulamanın sürümünü oluşturun (örneğin, "1523456")
|
OS sürümü | sicim | İstemci cihazının işletim sistemi sürümü
|
cihaz adı | sicim | İstemci cihazın adı (örneğin, "Google Pixel") |
ülke | sicim | Etkinliğin gerçekleştiği ülkenin iki harfli ülke kodu (örneğin, bilinmeyen ülke için "US" veya "ZZ") |
taşıyıcı | sicim | İstemci cihazının taşıyıcısı |
radyo_tipi | sicim | Etkinliğin gerçekleştiği andaki aktif radyo türü (örneğin, "WIFI") |
custom_attributes | DİZİ<KAYIT> | Bu etkinliğe eklenen tüm özel özellikler |
custom_attributes.key | sicim | Özel özelliğin anahtarı |
custom_attributes.value | sicim | Özel özelliğin değeri |
etkinlik tipi | sicim | Etkinliğin türü; olası değerler:
|
etkinlik adı | sicim | Etkinliğin adı
|
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 |
|
trace_info.screen_info | KAYIT | Yalnızca SCREEN_TRACE için mevcut |
trace_info.screen_info.slow_frame_ratio | şamandıra64 | Bu ekran izi için yavaş kare oranı 0 ile 1 arasındadır (örneğin, 0,05 değeri, bu ekran örneğinin karelerinin %5'inin oluşturulmasının 16 ms'den fazla sürdüğü anlamına gelir) |
trace_info.screen_info.frozen_frame_ratio | şamandıra64 | Bu ekran izi için donmuş karelerin oranı, 0 ile 1 arasında (örneğin, 0,05 değeri, bu ekran örneğine ilişkin 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ı için HTTP yanıt kodu (örneğin, 200, 404) |
network_info.response_mime_type | sicim | Ağ yanıtının MIME türü (örneğin, "metin/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önderme işlemi tamamlandığında event_timestamp sonraki mikrosaniyelerBirim: mikrosaniye |
network_info.response_initiated_time_us | int64 | Ağ yanıtı başlatıldığında event_timestamp sonraki mikrosaniyeBirim: mikrosaniye |
network_info.response_completed_time_us | int64 | Ağ yanıtı tamamlandığında event_timestamp sonraki mikrosaniyeBirim: mikrosaniye |
Dışa aktarılan verilerle ne yapabilirsiniz?
Aşağıdaki bölümlerde, dışa aktarılan Performans İzleme verilerinize karşı BigQuery'de ç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;
Çeşitli koşullara karşı donmuş çerçevelerin oranını kontrol edin
Örneğin, farklı radyo türlerinde (WiFi, 4G vb.) kullanıcıların uygulamanızın her ekranında geçirdikleri sürenin yanı sıra donmuş karelerin 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 dosya türlerini yüklemek için önbellek isabet oranını hesaplayın
Bu analiz, file-extension
adlı özel bir öznitelik ve önbellek isabeti durumunda 1
ve önbellek isabetsizse 0
olarak ayarlanmış cache-hit
adlı özel bir metrik (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, Amerika Birleşik Devletleri'ndeki kullanıcıların uygulamanızdan günün hangi saatinde ağ istekleri 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 onu başka bir üçüncü taraf çözümüne göndermek istersiniz. Ş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 komutunun çalıştırılması
bq extract
API veya istemci kitaplıkları aracılığıyla bir ayıklama işi gönderme.
fiyatlandırma
Performans İzleme'den verileri dışa aktarmak için herhangi bir ücret alınmaz ve BigQuery, cömert ücretsiz kullanım sınırları sağlar. Ayrıntılı bilgi için BigQuery fiyatlandırmasına veya BigQuery korumalı alanına bakın.