Belirli uygulama kodu için özel izleme ekleme


Performance Monitoring, uygulamanızın performansını izlemenize yardımcı olmak için izler toplar. İz, uygulamanızda belirli iki zaman noktası arasında yakalanan performans verilerinin raporudur.

Uygulamanızdaki belirli kodlarla ilişkili performans verilerini izlemek için kendi izlerinizi oluşturabilirsiniz. Özel kod izi ile uygulamanızın belirli bir görevi veya görev grubunu (ör. bir grup resmi yükleme ya da veritabanınıza sorgu gönderme) tamamlamasının ne kadar sürdüğünü ölçebilirsiniz.

Özel kod izlemenin varsayılan metriği "süre"dir (izlemenin başlangıç ve bitiş noktaları arasındaki süre). Ancak özel metrikler de ekleyebilirsiniz.

Kodunuzda, Performance Monitoring SDK'sının sağladığı API'leri kullanarak özel kod izinin başlangıcını ve bitişini tanımlarsınız. Özel kod izlemeleri, oluşturulduktan sonra herhangi bir zamanda başlatılabilir ve iş parçacığı güvenlidir.

Bu izler için toplanan varsayılan metrik "süre" olduğundan bazen "Süre izleri" olarak adlandırılırlar.

Bu izlerden elde edilen verileri, Performans kontrol panelinin alt kısmındaki izler tablosunun Özel izler alt sekmesinde görüntüleyebilirsiniz (Konsolu kullanma hakkında daha fazla bilgiyi bu sayfanın ilerleyen bölümlerinde bulabilirsiniz).

Varsayılan özellikler, özel özellikler ve özel metrikler

Özel kod izleri için Performance Monitoring, Firebase konsolunda izle ilgili verileri filtreleyebilmeniz amacıyla varsayılan özellikleri (uygulama sürümü, ülke, cihaz vb. gibi ortak meta veriler) otomatik olarak günlüğe kaydeder. Ayrıca, özel özellikler (ör. oyun seviyesi veya kullanıcı özellikleri) ekleyip bunları izleyebilirsiniz.

Özel kod izini, iz kapsamı içinde gerçekleşen performansla ilgili etkinliklere ait özel metrikleri kaydedecek şekilde daha da yapılandırabilirsiniz. Örneğin, önbellek isabetleri ve önbellekte yok durumlarının sayısı veya arayüzün belirgin bir süre yanıt vermediği durumların sayısı için özel metrik oluşturabilirsiniz.

Özel özellikler ve özel metrikler, izlemenin varsayılan özellikleri ve varsayılan metriğiyle birlikte Firebase konsolunda gösterilir.

Özel kod izleri ekleme

Belirli uygulama kodunu izlemek için özel kod izlemeleri eklemek üzere Performance Monitoring Trace API'yi (Swift | Obj-C) kullanın.

Aşağıdakileri göz önünde bulundurun:

  • Bir uygulamada birden fazla özel kod izi olabilir.
  • Aynı anda birden fazla özel kod izi çalıştırılabilir.
  • Özel kod izlerinin adları aşağıdaki koşulları karşılamalıdır: Başta veya sonda boşluk olmamalı, başta alt çizgi (_) karakteri olmamalı ve maksimum uzunluk 100 karakter olmalıdır.
  • Özel kod izleri, özel metrikler ve özel özellikler eklemeyi destekler.

Özel kod izlemeyi başlatmak ve durdurmak için izlemek istediğiniz kodu aşağıdaki gibi kod satırlarıyla sarmalayın:

Swift

Not: Bu Firebase ürünü macOS, Mac Catalyst ve watchOS hedeflerinde kullanılamaz.
// Add the Performance Monitoring module to your header
import FirebasePerformance

let trace = Performance.startTrace(name: "CUSTOM_TRACE_NAME")

// code that you want to trace

trace.stop()

Objective-C

Not: Bu Firebase ürünü macOS, Mac Catalyst ve watchOS hedeflerinde kullanılamaz.
// Add the Performance Monitoring module to your header
@import FirebasePerformance;

FIRTrace *trace = [FIRPerformance startTraceWithName:@"CUSTOM_TRACE_NAME"];

// code that you want to trace

[trace stop];

Özel kod izlerine özel metrikler ekleme

Özel kod izlerine özel metrikler eklemek için Performance Monitoring Trace API'yi (Swift | Obj-C) kullanın.

Aşağıdakileri göz önünde bulundurun:

  • Özel metrik adları aşağıdaki şartları karşılamalıdır: Başta veya sonda boşluk olmamalı, başta alt çizgi (_) karakteri olmamalı ve maksimum uzunluk 100 karakter olmalıdır.
  • Her özel kod izi, varsayılan Süre metriği dahil olmak üzere en fazla 32 metrik kaydedebilir.

Özel metrik eklemek için etkinlik her gerçekleştiğinde aşağıdakine benzer bir kod satırı ekleyin. Örneğin, bu özel metrik, uygulamanızda gerçekleşen performansla ilgili etkinlikleri (önbellek isabetleri veya yeniden denemeler gibi) sayar.

Swift

Not: Bu Firebase ürünü macOS, Mac Catalyst ve watchOS hedeflerinde kullanılamaz.
let trace = Performance.startTrace(name: "CUSTOM_TRACE_NAME")

trace.incrementMetric(named:"EVENT_NAME", by: 1)
// code that you want to trace (and log custom metrics)

trace.stop()

Objective-C

Not: Bu Firebase ürünü macOS, Mac Catalyst ve watchOS hedeflerinde kullanılamaz.
FIRTrace *trace = [FIRPerformance startTraceWithName:@"CUSTOM_TRACE_NAME"];

[trace incrementMetric:@"EVENT_NAME" byInt:1];
// code that you want to trace (and log custom metrics)

[trace stop];

Özel kod izleri için özel özellikler oluşturma

Özel kod izlerine özel özellikler eklemek için Performance Monitoring Trace API'yi (Swift | Obj-C) kullanın.

Özel özellikleri kullanmak için uygulamanıza özelliği tanımlayan ve belirli bir özel kod iziyle ilişkilendiren kodu ekleyin. Özel özelliği, izleme başlatıldıktan sonra ve izleme durdurulmadan önce istediğiniz zaman ayarlayabilirsiniz.

Aşağıdakileri göz önünde bulundurun:

  • Özel özellik adları aşağıdaki koşulları karşılamalıdır:

    • Başta veya sonda boşluk yok, başta alt çizgi (_) karakteri yok
    • Boşluk yok
    • Maksimum uzunluk 32 karakterdir.
    • Ad için izin verilen karakterler A-Z, a-z ve _'dir.
  • Her özel kod izi en fazla 5 özel özellik kaydedebilir.

  • Lütfen özel özelliklerin, bir kişiyi Google'a tanımlayan hiçbir bilgi içermediğinden emin olun.

    Bu yönerge hakkında daha fazla bilgi

Swift

Not: Bu Firebase ürünü macOS, Mac Catalyst ve watchOS hedeflerinde kullanılamaz.
let trace = Performance.startTrace(name: "CUSTOM_TRACE_NAME")

trace.setValue("A", forAttribute: "experiment")

// Update scenario.
trace.setValue("B", forAttribute: "experiment")

// Reading scenario.
let experimentValue:String? = trace.valueForAttribute("experiment")

// Delete scenario.
trace.removeAttribute("experiment")

// Read attributes.
let attributes:[String, String] = trace.attributes;

Objective-C

Not: Bu Firebase ürünü macOS, Mac Catalyst ve watchOS hedeflerinde kullanılamaz.
FIRTrace *trace = [FIRPerformance startTraceWithName:@"CUSTOM_TRACE_NAME"];

[trace setValue:@"A" forAttribute:@"experiment"];

// Update scenario.
[trace setValue:@"B" forAttribute:@"experiment"];

// Reading scenario.
NSString *experimentValue = [trace valueForAttribute:@"experiment"];

// Delete scenario.
[trace removeAttribute:@"experiment"];

// Read attributes.
NSDictionary <NSString *, NSString *> *attributes = [trace attributes];

Performans verilerini izleme, görüntüleme ve filtreleme

Kontrol panelinizde belirli metrikleri izleme

Temel metriklerinizin nasıl bir trend izlediğini öğrenmek için bu metrikleri Performans kontrol panelinin üst kısmındaki metrikler panonuza ekleyin. Haftadan haftaya gerçekleşen değişiklikleri izleyerek regresyonları hızlıca belirleyebilir veya kodunuzdaki son değişikliklerin performansı artırdığını doğrulayabilirsiniz.

<span class=Firebase Performance Monitoring kontrol paneli" />

Metrik panonuza metrik eklemek için aşağıdaki adımları uygulayın:

  1. Firebase konsolunda Performans kontrol paneline gidin.
  2. Boş bir metrik kartını tıklayın ve panonuza eklemek için mevcut bir metriği seçin.
  3. Daha fazla seçenek için (ör. bir metriği değiştirme veya kaldırma) doldurulmuş bir metrik kartında simgesini tıklayın.

Metrikler panosu, toplanan metrik verilerini zaman içinde hem grafik biçiminde hem de sayısal yüzde değişimi olarak gösterir.

Kontrol panelini kullanma hakkında daha fazla bilgi edinin.

İzlemeleri ve verilerini görüntüleme

İzlemelerinizi görüntülemek için Firebase konsolundaki Performans kontrol paneline gidin, izlemeler tablosuna ilerleyin ve uygun alt sekmeyi tıklayın. Tabloda her izlemeyle ilgili bazı önemli metrikler gösterilir. Hatta listeyi belirli bir metriğin yüzde değişimine göre sıralayabilirsiniz.

Performance Monitoring, Firebase konsolunda metrik değişikliklerini vurgulayan bir sorun giderme sayfası sunar. Bu sayede, performans sorunlarının uygulamalarınız ve kullanıcılarınız üzerindeki etkisini hızlıca ele alıp en aza indirebilirsiniz. Olası performans sorunları hakkında bilgi edinirken sorun giderme sayfasını kullanabilirsiniz. Örneğin, aşağıdaki senaryolarda:

  • Kontrol panelinde alakalı metrikleri seçtiğinizde büyük bir fark olduğunu fark edersiniz.
  • İzlemeler tablosunda, en büyük delta değerlerini en üstte gösterecek şekilde sıralama yaptığınızda önemli bir yüzde değişikliği görürsünüz.
  • Performans sorunuyla ilgili bir e-posta uyarısı alırsınız.

Sorun giderme sayfasına aşağıdaki şekillerde erişebilirsiniz:

  • Metrik kontrol panelinde Metrik ayrıntılarını görüntüle düğmesini tıklayın.
  • Herhangi bir metrik kartında => Ayrıntıları görüntüle'yi seçin. Sorun giderme sayfasında, seçtiğiniz metrikle ilgili bilgiler gösterilir.
  • İzlemeler tablosunda bir izleme adını veya bu izlemeyle ilişkili satırdaki herhangi bir metrik değerini tıklayın.
  • E-posta uyarısında Hemen incele'yi tıklayın.

İzleme tablosunda bir izleme adını tıkladığınızda ilgilendiğiniz metrikleri ayrıntılı olarak inceleyebilirsiniz. Verileri özelliğe göre filtrelemek için Filtre düğmesini tıklayın. Örneğin:

<span class=Firebase Performance Monitoring verileri özelliğe göre filtreleniyor" />
  • Geçmiş bir sürüm veya en son sürümünüzle ilgili verileri görüntülemek için Uygulama sürümü'ne göre filtreleme
  • Eski cihazların uygulamanızı nasıl işlediğini öğrenmek için Cihaz'a göre filtreleyin.
  • Veritabanı konumunuzun belirli bir bölgeyi etkilemediğinden emin olmak için Ülke'ye göre filtreleme

İzlemelerinizin verilerini görüntüleme hakkında daha fazla bilgi edinin.

Sonraki adımlar

  • Performans verilerini incelemek için özellikleri kullanma hakkında daha fazla bilgi edinin.

  • Firebase konsolunda performans sorunlarını izleme hakkında daha fazla bilgi edinin.

  • Uygulamanızın performansını düşüren kod değişiklikleri için uyarılar ayarlayın. Örneğin, belirli bir özel kod izlemenin süresi, belirlediğiniz eşiği aşarsa ekibiniz için bir e-posta uyarısı yapılandırabilirsiniz.

  • Kullanıcı oturumlarının ayrıntılı raporlarını görüntüleyin. Bu raporlarda, aynı oturum sırasında toplanan diğer izlerin zaman çizelgesi bağlamında belirli bir izi görebilirsiniz.