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 iki zaman noktası arasında yakalanan performans verilerinin raporudur.

Uygulamanızdaki belirli bir kodla ilişkilendirilmiş performans verilerini izlemek için kendi izlerinizi oluşturabilirsiniz. Özel kod izleme ile uygulamanızın belirli bir görevi veya bir görev kümesini (örneğin, bir dizi görüntü yüklemek ya da veritabanınızı sorgulamak) tamamlamasının ne kadar sürdüğünü ölçebilirsiniz.

Özel kod izleme için varsayılan metrik "süre"dir (izin 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 bir kod izlemenin başlangıcını ve sonunu tanımlarsınız. Android uygulamalarında, @AddTrace ek açıklamasını kullanarak belirli yöntemleri de izleyebilirsiniz. Özel kod izlemeleri, oluşturulduktan sonra istenildiği zaman başlatılabilir. Bunlar iş parçacığı açısından güvenlidir.

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

Bu izlerdeki verileri, Performans kontrol panelinin en altında bulunan izler tablosunun Özel izler alt sekmesinde görüntüleyebilirsiniz (bu sayfanın ilerleyen bölümlerinde Konsolu kullanma hakkında daha fazla bilgi edinebilirsiniz).

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

Performans İzleme, özel kod izlemeleri için varsayılan özellikleri (uygulama sürümü, ülke, cihaz vb. gibi yaygın meta veriler) otomatik olarak günlüğe kaydeder. Böylece Firebase konsolunda iz için verileri filtreleyebilirsiniz. Ayrıca özel özellikler de (oyun seviyesi veya kullanıcı özellikleri gibi) ekleyebilir ve izleyebilirsiniz.

İz kapsamında gerçekleşen performansla ilgili etkinlikler için özel metrikleri kaydetmek amacıyla özel bir kod izlemeyi daha ayrıntılı bir şekilde yapılandırabilirsiniz. Örneğin, önbellek isabetleri ve önbellekte olmama sayısı veya kullanıcı arayüzünün belirgin bir süre yanıt vermeme sayısı için özel metrik oluşturabilirsiniz.

Özel özellikler ve özel metrikler, Firebase konsolunda iz için varsayılan özellikler ve varsayılan metriğin yanında gösterilir.

Özel kod izleri ekleyin

Belirli uygulama kodunu izlemek üzere özel kod izleri eklemek için Performance Monitoring Trace API'yi kullanın.

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

  • Bir uygulamada birden fazla özel kod izlemesi olabilir.
  • Aynı anda birden fazla özel kod izlemesi çalışabilir.
  • Özel kod izleme adları şu koşulları karşılamalıdır: Başta veya sonda boşluk olmamalı, başında alt çizgi (_) karakteri bulunmamalı ve maksimum uzunluk 100 karakter olmalıdır.
  • Özel kod izleri, özel metriklerin ve özel özelliklerin eklenmesini destekler.

Özel bir kod izlemeyi başlatmak ve durdurmak için izlemek istediğiniz kodu aşağıdakine benzer kod satırlarıyla sarmalayın (bu örnekte test_trace özel iz adı kullanılmaktadır):

Kotlin+KTX

// Import these Performance Monitoring classes at the top of your `.kt` file
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.Trace;

val myTrace = Firebase.performance.newTrace("test_trace")
myTrace.start()

// code that you want to trace

myTrace.stop()

Java

// Import these Performance Monitoring classes at the top of your `.java` file
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.Trace;

Trace myTrace = FirebasePerformance.getInstance().newTrace("test_trace");
myTrace.start();

// code that you want to trace

myTrace.stop();

(İsteğe bağlı) @AddTrace kullanarak belirli yöntemleri izleyin

Android uygulamaları, özel kod izlerini kullanmak için @AddTrace notunu da destekler. Bu özelliği kullandığınızda izleme, belirtilen yöntemin başında başlar ve yöntem tarafından çağrılan her şey dahil olmak üzere yöntem tamamlandığında durur.

Örneğin, onCreate() yöntemi çağrıldığında çalışan onCreateTrace adlı özel bir kod izleme oluşturabilirsiniz.

Kotlin+KTX

// Import these Performance Monitoring classes at the top of your `.kt` file
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.AddTrace;

// Add the `@AddTrace` annotation above the method you want to trace
// the `enabled` argument is optional and defaults to true
@AddTrace(name = "onCreateTrace", enabled = true)
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
}

Java

// Import these Performance Monitoring classes at the top of your `.java` file
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.AddTrace;

// Add the `@AddTrace` annotation above the method you want to trace
@Override
@AddTrace(name = "onCreateTrace", enabled = true /* optional */)
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
}

Özel kod izlerine özel metrikler ekleme

Özel kod izlerine özel metrikler eklemek için Performance Monitoring Trace API'yi kullanın.

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

  • Özel metrik adları şu koşulları karşılamalıdır: Başta veya sonda boşluk olmamalı, başında alt çizgi (_) karakteri bulunmamalıdır ve maksimum uzunluk 100 karakterdir.
  • Her özel kod izleme, en fazla 32 metrik kaydedebilir (varsayılan Süre metriği dahil).

Ö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, önbellek isabetleri ve eksiklikleri gibi performansla ilgili etkinlikleri sayar (item_cache_hit ve item_cache_miss örnek etkinlik adları ve 1 artış kullanılarak).

Kotlin+KTX

val myTrace = Firebase.performance.newTrace("test_trace")
myTrace.start()

// code that you want to trace (and log custom metrics)
val item = cache.fetch("item")
if (item != null) {
    myTrace.incrementMetric("item_cache_hit", 1)
} else {
    myTrace.incrementMetric("item_cache_miss", 1)
}

myTrace.stop()

Java

Trace myTrace = FirebasePerformance.getInstance().newTrace("test_trace");
myTrace.start();

// code that you want to trace (and log custom metrics)
Item item = cache.fetch("item");
if (item != null) {
    myTrace.incrementMetric("item_cache_hit", 1);
} else {
    myTrace.incrementMetric("item_cache_miss", 1);
}

myTrace.stop();

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

Özel kod izlerine özel özellikler eklemek için Performance Monitoring Trace API'yi kullanın.

Özel özellikleri kullanmak için uygulamanıza özelliği tanımlayan ve belirli bir özel kod izlemeyle ilişkilendiren bir kod ekleyin. Özel özelliği, iz başlangıcıyla izin durduğu zaman arasında istediğiniz zaman ayarlayabilirsiniz.

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

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

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

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

    Bu kural hakkında daha fazla bilgi

Kotlin+KTX

Firebase.performance.newTrace("test_trace").trace {
    // Update scenario.
    putAttribute("experiment", "A")

    // Reading scenario.
    val experimentValue = getAttribute("experiment")

    // Delete scenario.
    removeAttribute("experiment")

    // Read attributes.
    val traceAttributes = this.attributes
}

Java

Trace trace = FirebasePerformance.getInstance().newTrace("test_trace");

// Update scenario.
trace.putAttribute("experiment", "A");

// Reading scenario.
String experimentValue = trace.getAttribute("experiment");

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

// Read attributes.
Map<String, String> traceAttributes = trace.getAttributes();

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

Kontrol panelinizde belirli metrikleri izleme

Temel metriklerinizin nasıl bir trend gösterdiğini öğrenmek için bunları Performans kontrol panelinin üst kısmındaki metrikler panonuza ekleyin. Haftadan haftaya değişiklikleri görerek veya kodunuzdaki son değişikliklerin performansı iyileştirdiğini doğrulayarak regresyonları hızla belirleyebilirsiniz.

Firebase Performance Monitoring kontrol panelindeki metrik panosunun resmi

Metrikler 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, ardından panonuza eklemek için mevcut bir metrik seçin.
  3. Bir metriği değiştirme veya kaldırma gibi diğer seçeneklere erişmek için doldurulmuş bir metrik kartında simgesini tıklayın.

Metrik panosu, zaman içinde toplanan metrik verilerini 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.

İzleri ve verilerini görüntüleme

İzlerinizi görüntülemek için Firebase konsolunda Performans kontrol paneline gidin, izleme tablosuna ilerleyin ve ilgili alt sekmeyi tıklayın. Tabloda her iz için en önemli metriklerden bazıları gösterilir. Hatta listeyi belirli bir metrik için yüzdelik değişime göre de sıralayabilirsiniz.

Performance Monitoring, Firebase konsolunda metrik değişikliklerini vurgulayan bir sorun giderme sayfası sağlar. Bu sayfa, performans sorunlarının hemen ele alınmasını ve uygulamalarınız ile kullanıcılarınız üzerindeki etkisini en aza indirmenizi kolaylaştırır. Olası performans sorunları hakkında bilgi edindiğinizde sorun giderme sayfasını kullanabilirsiniz. Örneğin aşağıdaki senaryolarda:

  • Kontrol panelinde ilgili metrikleri seçtiğinizde büyük bir delta fark edersiniz.
  • İz tablosunda en büyük deltaları en üstte gösterecek şekilde sıralarsınız ve önemli bir yüzde değişimi görürsünüz.
  • Performans sorunuyla ilgili bir e-posta uyarısı alırsınız.

Sorun giderme sayfasına aşağıdaki yöntemleri kullanarak 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örüntülenir.
  • İz tablosunda bir iz adını veya söz konusu izle ilişkili satırdaki herhangi bir metrik değerini tıklayın.
  • E-posta uyarısında Şimdi incele'yi tıklayın.

İz tablosundaki bir iz 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:

Özelliğe göre filtrelenen Firebase Performance Monitoring verilerinin resmi
  • Eski 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 filtreleyin
  • Eski cihazların uygulamanızı nasıl işleyeceğ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 filtreleyin

İzlemlerinize ait verileri 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ı oluşturun. Örneğin, belirli bir özel kod izlemenin süresi, belirlediğiniz bir eşiği aşarsa ekibiniz için bir e-posta uyarısı yapılandırabilirsiniz.

  • Belirli bir izlemeyi, aynı oturum sırasında toplanan diğer izlerin zaman çizelgesi bağlamında görebileceğiniz kullanıcı oturumlarının ayrıntılı raporlarını görüntüleyin.