Belirli uygulama kodu için özel izleme ekleme


Performance Monitoring, uygulamanızın performansını izlemenize yardımcı olmak için izleme toplar. İzleme, uygulamanızdaki iki zaman noktası arasında yakalanan performans verilerinin bir raporudur.

Uygulamanızdaki belirli bir kodla ilişkili performans verilerini izlemek için kendi izlerinizi oluşturabilirsiniz. Özel kod izleme ile uygulamanızın belirli bir görevi veya bir dizi görevi (ör. bir dizi görsel yükleme veya veritabanınızı sorgulama) tamamlamasının ne kadar sürdüğünü ölçebilirsiniz.

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

Kodunuzda, Performance Monitoring SDK'sı tarafından sağlanan API'leri kullanarak özel kod izinin başlangıç ve bitişini tanımlarsınız. Android uygulamaları için @AddTrace ek açıklamasını kullanarak belirli yöntemleri de izleyebilirsiniz. Özel kod izlemeleri, oluşturulduktan sonra herhangi bir zamanda başlatılabilir ve iş parçacığı açısından güvenlidir.

Bu izlemeler için toplanan varsayılan metrik "süre" olduğundan bu izlemeler bazen "süre izlemeleri" olarak adlandırılır.

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

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

Performance Monitoring, özel kod izlemeleri için varsayılan özellikleri (uygulama sürümü, ülke, cihaz gibi yaygın meta veriler) otomatik olarak kaydeder. Böylece, Firebase konsolunda izlemeyle ilgili verileri filtreleyebilirsiniz. Ayrıca özel özellikler (ör. oyun seviyesi veya kullanıcı mülkleri) ekleyip izleyebilirsiniz.

Özel kod izlemeyi, izlemenin kapsamında gerçekleşen performansla ilgili etkinlikler için özel metrikleri kaydetecek ş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, Firebase konsolunda izlemenin varsayılan özellikleri ve varsayılan metriğiyle birlikte gösterilir.

Özel kod izlemeleri ekleme

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

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

  • Bir uygulamanın birden fazla özel kod izlemesi olabilir.
  • Aynı anda birden fazla özel kod izleme çalıştırılabilir.
  • Özel kod izlemelerinin adları aşağıdaki koşulları karşılamalıdır: Başında veya sonunda boşluk olmamalıdır, başta alt çizgi (_) karakteri olmamalıdır ve maksimum uzunluk 100 karakterdir.
  • Özel kod izlemeleri, özel metrikler ve özel özellikler eklemeyi destekler.

Özel kod izlemeyi başlatmak ve durdurmak için izlemek istediğiniz kodu aşağıdakine benzer kod satırlarıyla sarın (bu örnekte test_trace özel izleme 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 enstrümante etmek için @AddTrace ek açıklama özelliğini de destekler. Bu özellik kullanıldığında 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 izlemesi 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ı aşağıdaki koşulları karşılamalıdır: Başında veya sonunda boşluk olmamalıdır, başta alt çizgi (_) karakteri olmamalıdır ve maksimum uzunluk 100 karakterdir.
  • Her özel kod izlemesi en fazla 32 metrik (varsayılan Süre metriği dahil) 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 önbellek isabetleri ve isabetsizlikleri (item_cache_hit ve item_cache_miss örnek etkinlik adları ve 1 artışı kullanılarak) sayar.

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 izlemeleri için özel özellikler oluşturma

Özel kod izlemelerine ö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 izlemesiyle ilişkilendiren kod ekleyin. Özel özelliği, izlemenin başladığı andan sona erdiği ana kadar herhangi bir zamanda ayarlayabilirsiniz.

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

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

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

  • Lütfen özel özelliklerin, bir kişiyi Google'da 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

Önemli metriklerinizin nasıl bir eğilim gösterdiğini öğrenmek için Performans kontrol panelinin üst kısmındaki metrik panosuna ekleyin. Haftadan haftaya gerçekleşen değişiklikleri izleyerek regresyonları hızlıca tanımlayabilir veya kodunuzdaki son değişikliklerin performansı iyileştirip iyileştirmediğini doğrulayabilirsiniz.

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

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

  1. Firebase konsolunda Performans gösterge tablosuna gidin.
  2. Boş bir metrik kartını tıklayın ve ardından panonuza eklemek için mevcut bir metrik seçin.
  3. Daha fazla seçenek için doldurulmuş bir metrik kartında simgesini tıklayın. Örneğin, bir metriği değiştirmek veya kaldırmak için bu seçeneği kullanabilirsiniz.

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.

İzleri ve verilerini görüntüleme

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

Performance Monitoring, Firebase konsolunda metrik değişikliklerini vurgulayan bir sorun giderme sayfası sağlar. Bu sayede performans sorunlarının uygulamalarınız ve kullanıcılarınız üzerindeki etkisini hızlı bir şekilde giderebilir ve en aza indirebilirsiniz. Olası performans sorunları hakkında bilgi edindiğinizde 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 deltaları en üstte gösterecek şekilde sıralama yaparsınız ve önemli bir yüzde değişikliği görürsünüz.
  • Performans sorunuyla ilgili sizi bilgilendiren bir e-posta uyarısı alırsınız.

Sorun giderme sayfasına aşağıdaki yöntemlerle 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 metrik hakkında bilgiler gösterilir.
  • İzler tablosunda, bir izleme adını veya söz konusu izlemeyle ilişkili satırdaki herhangi bir metrik değerini tıklayın.
  • E-posta uyarısında Şimdi incele'yi tıklayın.

İzlemeler 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 yapın.
  • 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

İzlemelerinize 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ılar 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.

  • Aynı oturum sırasında toplanan diğer izlerle birlikte belirli bir iz için zaman çizelgesi bağlamında ayrıntılı kullanıcı oturumları raporları görüntüleyin.