Bu sayfada, Performance Monitoring'ü kullanmaya başlama veya Performance Monitoring özelliklerini ve araçlarını kullanmayla ilgili sorun giderme ipuçları sağlanmaktadır.
Sorun giderme için ilk kontroller
Aşağıdaki iki kontrol, daha fazla sorun giderme işlemine başlamadan önce herkese önerilen genel en iyi uygulamalardır.
1. Performans etkinlikleri için günlük mesajlarını kontrol etme
Performance Monitoring SDK'sının performans etkinliklerini yakaladığından emin olmak için günlük mesajlarınızı kontrol edin.
Performans etkinlikleriyle ilgili günlük mesajlarını görüntüleme
Uygulamanızın
AndroidManifest.xml
dosyasına aşağıdaki gibi bir<meta-data>
öğesi ekleyerek derleme sırasında Performance Monitoring için hata ayıklama günlük kaydını etkinleştirin:<application> <meta-data android:name="firebase_performance_logcat_enabled" android:value="true" /> </application>
Günlük mesajlarınızda hata mesajı olup olmadığını kontrol edin.
Performance Monitoring, günlük mesajlarını
FirebasePerformance
ile etiketler. logcat filtrelemeyi kullanarak aşağıdaki komutu çalıştırarak özellikle süre izlemeyi ve HTTP/S ağ isteği günlük kaydını görüntüleyebilirsiniz:adb logcat -s FirebasePerformance
Performance Monitoring'ün performans etkinliklerini kaydettiğini belirten aşağıdaki günlük türlerini kontrol edin:
Logging trace metric: TRACE_NAME, FIREBASE_PERFORMANCE_CONSOLE_URL
Logging network request trace: URL
Verilerinizi Firebase konsolunda görüntülemek için URL'yi tıklayın. Verilerin kontrol panelinde güncellenmesi birkaç dakika sürebilir.
Uygulamanız performans etkinliklerini günlüğe kaydetmiyorsa sorun giderme ipuçlarını inceleyin.
2. Firebase Durum Kontrol Paneli'ni kontrol etme
Firebase veya Performance Monitoring için bilinen bir kesinti varsa Firebase Durum Kontrol Paneli'ni kontrol edin.
Performance Monitoring'u kullanmaya başlama
Performance Monitoring'ü (iOS+ | Android | Web) kullanmaya başlıyorsanız aşağıdaki sorun giderme ipuçları, Firebase'in SDK'yı algılama veya ilk performans verilerinizi Firebase konsolunda görüntülemeyle ilgili sorunlarda yardımcı olabilir.
SDK'yı uygulamaya ekledim ancak konsolda SDK eklemem gerektiği
Firebase, uygulamanızdan etkinlik bilgileri (ör. uygulama etkileşimleri) aldığında Performance Monitoring SDK'sını uygulamanıza başarıyla ekleyip eklemediğinizi algılayabilir. Genellikle uygulamanızı başlattıktan sonraki 10 dakika içinde Firebase konsolunun Performans kontrol panelinde "SDK algılandı" mesajı gösterilir. Ardından, kontrol panelinde ilk işlenen veriler 30 dakika içinde gösterilir.
SDK'nın en son sürümünü uygulamanıza eklemenizin üzerinden 10 dakikadan fazla zaman geçtiyse ve hâlâ herhangi bir değişiklik görmüyorsanız Performance Monitoring'nin etkinlikleri günlüğe kaydettiğinden emin olmak için günlük mesajlarınızı kontrol edin. Gecikmeli SDK algılama mesajıyla ilgili sorunları gidermek için aşağıda açıklanan uygun sorun giderme adımlarını deneyin.
Uygulama etkinlikleri günlüğe kaydediyor: sorun giderme adımları
Performance Monitoring Android SDK'sının 19.1.0 veya sonraki bir sürümünü (veya Firebase BoM 26.3.0 veya sonraki bir sürümü) kullandığınızdan emin olun. Sürüm Notu'na bakın.
Hâlâ yerel olarak geliştirme yapıyorsanız veri toplama için daha fazla etkinlik oluşturmayı deneyin:
- Uygulamanızı arka plan ile ön plan arasında birkaç kez değiştirerek, ekranlar arasında gezinerek uygulamanızla etkileşime geçerek ve/veya ağ isteklerini tetikleyerek etkinlikler oluşturun.
Firebase yapılandırma dosyanızı (
google-services.json
) uygulamanıza doğru şekilde eklediğinizden ve dosyada değişiklik yapmadığınızdan emin olun. Özellikle aşağıdakileri kontrol edin:Yapılandırma dosyasına
(2)
gibi ek karakterler eklenmemelidir.Yapılandırma dosyası, uygulamanızın modül (uygulama düzeyi) dizinindedir.
Yapılandırma dosyasında listelenen Firebase Android Uygulama Kimliği (
mobilesdk_app_id
), uygulamanız için doğrudur. Firebase uygulama kimliğinizi, settings Proje ayarlarınız'daki Uygulamalarınız kartında bulabilirsiniz.
Uygulamanızdaki yapılandırma dosyasında bir sorun olduğunu düşünüyorsanız aşağıdakileri deneyin:
Uygulamanızdaki mevcut yapılandırma dosyasını silin.
Yeni bir yapılandırma dosyası indirip Android uygulamanıza eklemek için bu talimatları uygulayın.
SDK etkinlikleri günlüğe kaydediyorsa ve her şey doğru şekilde ayarlanmış gibi görünüyorsa ancak SDK algılama mesajını veya işlenmiş verileri hâlâ görmüyorsanız (10 dakika sonra) Firebase Destek Ekibi ile iletişime geçin.
Uygulama etkinlikleri günlüğe kaydetmiyor: sorun giderme adımları
Performance Monitoring Gradle eklentisinin kurulumunu aşağıdaki şekilde kontrol edin:
Eklentiyi doğru şekilde eklediğinizden emin olun. Özellikle aşağıdakileri kontrol edin:
- Eklentiyi (
) modül (uygulama düzeyi)apply plugin: 'com.google.firebase.firebase-perf' build.gradle
dosyanıza eklediniz. - Eklentinin sınıf yolu bağımlılığını (
) proje düzeyindekiclasspath 'com.google.firebase:perf-plugin:1.4.2' build.gradle
dosyanıza eklediniz.
- Eklentiyi (
Eklentinin aşağıdaki işaretlerden biri aracılığıyla devre dışı bırakılmadığından emin olun:
instrumentationEnabled
dosyanızda (uygulama düzeyinde)build.gradle
gradle.properties
dosyanızdakifirebasePerformanceInstrumentationEnabled
AndroidManifest.xml
dosyanızdaki aşağıdaki işaretlerden birini kullanarak Performance Monitoring SDK'sının devre dışı bırakılmadığından emin olun:firebase_performance_collection_enabled
firebase_performance_collection_deactivated
Performance Monitoring'nin çalışma zamanında devre dışı bırakılmadığından emin olun.
Uygulamanızda devre dışı bırakılmış bir şey bulamıyorsanız Firebase Destek Ekibi ile iletişime geçin.
Konsolda SDK'nın algılandığı belirtiliyor ancak veri gösterilmiyor
Performance Monitoring, performans etkinliği verilerini Performans kontrol panelinde görüntülemeden önce işler.
"SDK algılandı" mesajının gösterilmesinin üzerinden 24 saatten fazla zaman geçtiyse ve hâlâ veri görmüyorsanız bilinen bir kesinti olup olmadığını öğrenmek için Firebase Durum Kontrol Paneli'ni kontrol edin. Kesinti yoksa Firebase Destek Ekibi ile iletişime geçin.
Genel sorun giderme
SDK'yı başarıyla eklediyseniz ve uygulamanızda Performance Monitoring kullanıyorsanız aşağıdaki sorun giderme ipuçlarını kullanarak Performance Monitoring özellikleri ve araçlarıyla ilgili genel sorunları çözebilirsiniz.
Uygulama, performans etkinliklerini günlüğe kaydetmiyor
Performans etkinlikleriyle ilgili günlük mesajlarını görmüyorsanız aşağıdaki sorun giderme adımlarını deneyin:
Performance Monitoring Gradle eklentisinin kurulumunu aşağıdaki şekilde kontrol edin:
Eklentiyi doğru şekilde eklediğinizden emin olun. Özellikle aşağıdakileri kontrol edin:
- Eklentiyi (
) modül (uygulama düzeyi)apply plugin: 'com.google.firebase.firebase-perf' build.gradle
dosyanıza eklediniz. - Eklentinin sınıf yolu bağımlılığını (
) proje düzeyindekiclasspath 'com.google.firebase:perf-plugin:1.4.2' build.gradle
dosyanıza eklediniz.
- Eklentiyi (
Eklentinin aşağıdaki işaretlerden biri aracılığıyla devre dışı bırakılmadığından emin olun:
instrumentationEnabled
dosyanızda (uygulama düzeyinde)build.gradle
gradle.properties
dosyanızdakifirebasePerformanceInstrumentationEnabled
AndroidManifest.xml
dosyanızdaki aşağıdaki işaretlerden birini kullanarak Performance Monitoring SDK'sının devre dışı bırakılmadığından emin olun:firebase_performance_collection_enabled
firebase_performance_collection_deactivated
Performance Monitoring'nin çalışma zamanında devre dışı bırakılmadığından emin olun.
Uygulamanızda devre dışı bırakılmış bir şey bulamıyorsanız Firebase Destek Ekibi ile iletişime geçin.
Performans kontrol panelinde ekran izleme verileri eksik
Ekran oluşturma izleriyle ilgili veriler eksikse aşağıdaki sorun giderme adımlarını deneyin:
Android SDK'sının en son sürümünü (v21.0.2) kullandığınızdan emin olun. Ekran oluşturma izlemeleri yalnızca 15.2.0 veya sonraki sürümlerde kullanılabilir.
Bir ekran için Donanım Hızlandırma'yı manuel olarak devre dışı bırakmadığınızdan emin olun.
DexGuard veya Jack kullanmadığınızdan emin olun. Performance Monitoring bu araç zincirleriyle uyumlu değildir.
DexGuard, uygulama başlangıcı, ön planda çalışan uygulama ve arka planda çalışan uygulama izlerinin otomatik olarak toplanmasını devre dışı bırakır. Ancak uygulamanız DexGuard kullanıyorsa özel kod izlemeleri normal şekilde çalışır.
Jack desteği sonlandırılmıştır ve genellikle uygulamanızda kullanılmamalıdır.
Performans kontrol panelinde özel izleme verileri eksik
Otomatik olarak toplanan izlemeler için performans verilerini görüyor ancak özel kod izlemeleri için görmüyor musunuz? Aşağıdaki sorun giderme adımlarını deneyin:
Trace API aracılığıyla özel kod izlemeleri eklediyseniz özellikle aşağıdakiler olmak üzere izlemelerin kurulumunu kontrol edin:
- Özel kod izlemelerinin ve özel metriklerin adları aşağıdaki koşulları karşılamalıdır: Başında veya sonunda boşluk olmamalıdır, baştan kısa çizgi (
_
) karakteri olmamalıdır ve en fazla 32 karakter uzunluğunda olmalıdır. - Tüm izlemeler başlatılmalı ve durdurulmalıdır. Başlatılmayan, durdurulmayan veya başlatılmadan önce durdurulan hiçbir izleme günlüğe kaydedilmez.
- Özel kod izlemelerinin ve özel metriklerin adları aşağıdaki koşulları karşılamalıdır: Başında veya sonunda boşluk olmamalıdır, baştan kısa çizgi (
Özel kod izlemelerini
@AddTrace
notasyonu ile enstrümante ettiyseniz Performance Monitoring Gradle eklentisinin kurulumunu kontrol edin:Eklentiyi doğru şekilde eklediğinizden emin olun. Özellikle aşağıdakileri kontrol edin:
- Eklentiyi (
) modül (uygulama düzeyi)apply plugin: 'com.google.firebase.firebase-perf' build.gradle
dosyanıza eklediniz. - Eklentinin sınıf yolu bağımlılığını (
) proje düzeyindekiclasspath 'com.google.firebase:perf-plugin:1.4.2' build.gradle
dosyanıza eklediniz.
- Eklentiyi (
Eklentinin aşağıdaki işaretlerden biri aracılığıyla devre dışı bırakılmadığından emin olun:
instrumentationEnabled
dosyanızda (uygulama düzeyinde)build.gradle
gradle.properties
dosyanızdakifirebasePerformanceInstrumentationEnabled
Performance Monitoring'nin beklenen özel kod izlerini kaydettiğinden emin olmak için günlük mesajlarınızı kontrol edin.
Performance Monitoring etkinlikleri günlüğe kaydediyorsa ancak 24 saat sonra hiçbir veri görüntülenmiyorsa Firebase Destek Ekibi ile iletişime geçin.
Performans gösterge tablosunda ağ isteği verileri eksik
Ağ isteği verileri eksikse aşağıdaki sorun giderme adımlarını deneyin:
Android uygulamaları için Performance Monitoring Gradle eklentisi, HTTP/S ağ isteklerinin otomatik olarak izlenmesini sağlayan enstrümantasyonu etkinleştirir. Aşağıdakileri kontrol edin:
Eklentiyi doğru şekilde eklediğinizden emin olun. Özellikle aşağıdakileri kontrol edin:
- Eklentiyi (
) modül (uygulama düzeyi)apply plugin: 'com.google.firebase.firebase-perf' build.gradle
dosyanıza eklediniz. - Eklentinin sınıf yolu bağımlılığını (
) proje düzeyindekiclasspath 'com.google.firebase:perf-plugin:1.4.2' build.gradle
dosyanıza eklediniz.
- Eklentiyi (
Eklentinin aşağıdaki işaretlerden biri aracılığıyla devre dışı bırakılmadığından emin olun:
instrumentationEnabled
dosyanızda (uygulama düzeyinde)build.gradle
gradle.properties
dosyanızdakifirebasePerformanceInstrumentationEnabled
Ağ kitaplığı uyumsuzluğunu kontrol edin. Performance Monitoring, aşağıdaki ağ kitaplıklarını kullanan ağ isteklerinin metriklerini otomatik olarak toplar: OkHttp 3.x.x, Java'nın URLConnection ve Apache HttpClient.
Aşağıdakilere dikkat edin:
Kodunuzun davranışına ve kodunuz tarafından kullanılan ağ kitaplıklarına bağlı olarak Performance Monitoring yalnızca tamamlanan ağ isteklerini raporlayabilir. Bu, açık bırakılan HTTP/S bağlantılarının raporlanmayacağı anlamına gelir.
Performance Monitoring, DexGuard ve Jack ile uyumlu değildir.
- DexGuard, HTTP/S ağ isteklerinin izlenmesini devre dışı bırakır.
- Jack desteği sonlandırılmıştır ve genellikle uygulamanızda kullanılmamalıdır.
Performance Monitoring, geçersiz
Content-Type
üstbilgilerine sahip ağ isteklerini bildirmez. AncakContent-Type
başlıkları olmayan ağ istekleri yine kabul edilir.
Ağ isteği verileri beklendiği gibi toplanmıyor
Performance Monitoring'ın URL kalıpları altında ağ istek verilerini nasıl topladığı hakkında daha fazla bilgi edinin.
Özel URL kalıplarını da deneyebilirsiniz.
SSS
Proje ana sayfasındaki Performans kartında En Önemli Sorunlar ne oldu?
Belirlediğiniz eşikler aşıldığında sizi otomatik olarak bilgilendiren uyarıları yakın zamanda kullanıma sunmamızın ardından Önemli Sorunlar'ı Son Uyarılar ile değiştirdik. Sorunlar artık kullanımdan kaldırıldı ve uyarılarla değiştirildi.
Performans kartının üst kısmındaki uygulama seçici, uyarı girişlerini Son Uyarılar altında filtreler. Yalnızca seçilen uygulamalarla ilgili en son üç uyarı gösterilir.
Uyarılar hakkında daha fazla bilgi edinmek için Performans sorunlarıyla ilgili uyarı oluşturma başlıklı makaleyi inceleyin.
Konsolda sorunlar için eşik belirleme özelliğine ne oldu?
Performance Monitoring, tanımlanan eşikleri aşan metrikler için uyarılar destekler. Performans metrikleri için yapılandırılabilir bu eşiklerle ilgili karışıklığı önlemek amacıyla sorunlar için eşik yapılandırmayı kaldırdık.
Firebase konsolundaki Ayrıntılar ve Metrikler bilgilerine ne oldu?
Sorun giderme sürecinizi iyileştirmek için Ayrıntılar ve Metrikler sayfalarını yeni tasarlanmış, merkezi bir kullanıcı arayüzüyle (UA) değiştirdik. Bu yeni sorun giderme kullanıcı arayüzü, Ayrıntılar ve Metrikler'in sunduğu temel işlevleri sunar. Sorun giderme hakkında daha fazla bilgi edinmek için Belirli bir izleme için daha fazla veri görüntüleme başlıklı makaleyi inceleyin.
Örnek sayısı neden beklediğim gibi değil?
Performance Monitoring, uygulamanızın kullanıcı cihazlarından performans verilerini toplar. Uygulamanızın çok sayıda kullanıcısı varsa veya uygulama çok fazla performans etkinliği oluşturuyorsa Performance Monitoring, işlenen etkinliklerin sayısını azaltmak için veri toplamayı bir cihaz alt kümesiyle sınırlayabilir. Bu sınırlar, daha az etkinlik olsa bile metrik değerlerinin kullanıcınızın uygulama deneyimini temsil etmesini sağlayacak kadar yüksektir.
Performance Monitoring, toplanan veri hacmini yönetmek için aşağıdaki örnekleme seçeneklerini kullanır:
Cihaz üzerinde hız sınırlaması: Bir cihazın ani iz patlamaları göndermesini önlemek için cihazdan gönderilen kod ve ağ isteği izlerinin sayısını 10 dakikada 300 etkinlikle sınırlandırırız. Bu yaklaşım, cihazı büyük miktarda performans verisi gönderebilen döngüsel enstrümasyonlardan korur ve tek bir cihazın performans ölçümlerini çarpıtmasını önler.
Dinamik örnekleme: Performance Monitoring, tüm uygulama kullanıcıları arasında uygulama başına günlük olarak sınırlı sayıda kod izleme ve ağ isteği izleme toplar. Rastgele bir cihazın izleme yakalayıp göndermesi gerekip gerekmediğini belirlemek için cihazlarda dinamik bir örnekleme oranı (Firebase Remote Config kullanılarak) alınır. Örnekleme için seçilmeyen cihazlar hiçbir etkinlik göndermez. Dinamik örnekleme hızı uygulamaya özeldir ve toplanan verilerin toplam hacminin sınırın altında kalmasını sağlayacak şekilde ayarlanır.
BigQuery entegrasyonunu etkinleştiren projeler, ağ istek izlemelerinin sayısı için daha yüksek bir sınır alır.
Kullanıcı oturumları, kullanıcının cihazından ek ve ayrıntılı veriler gönderir. Bu verileri yakalamak ve göndermek için daha fazla kaynak gerekir. Performance Monitoring, kullanıcı oturumlarının etkisini en aza indirmek için oturum sayısını da kısıtlayabilir.
Sunucu tarafı hız sınırlaması: Uygulamaların örnekleme sınırını aşmamasını sağlamak için Performance Monitoring, cihazlardan alınan bazı etkinlikleri atmak üzere sunucu tarafı örnekleme kullanabilir. Bu tür bir sınırlama, metriklerimizin etkinliğini değiştirmese de aşağıdakiler dahil olmak üzere küçük kalıp değişikliklerine neden olabilir:
- İzleme sayısı, bir kod parçasının çalıştırılma sayısından farklı olabilir.
- Kodda birbirine yakın olan izlemelerin her biri farklı sayıda örnek içerebilir.
Konsoldaki Sorunlar sekmesine ne oldu?
Sorunlar sekmesini, belirlediğiniz eşikler aşıldığında sizi otomatik olarak bilgilendiren Uyarılar sekmesiyle değiştirdik. Bir eşiğin durumunu belirlemek için artık Firebase konsolunu manuel olarak kontrol etmeniz gerekmez. Uyarıları öğrenmek için Performans sorunlarıyla ilgili uyarılar oluşturma başlıklı makaleyi inceleyin.
Konsolda Cihaz Üzerinde ve Ağ sekmelerine ne oldu? Bu sayfalarda bulunan izleri nasıl görebilirim?
Firebase konsolunun Performance Monitoring bölümünü, Kontrol paneli sekmesinde temel metriklerinizin ve tüm izlerinizin tek bir alanda gösterilmesi için yeniden tasarladık. Yeniden tasarım kapsamında Cihaz üzerinde ve Ağ sayfalarını kaldırdık.
Gösterge tablosu sekmesinin alt kısmındaki izlemler tablosunda, Cihaz üzerinde ve Ağ sekmelerinde gösterilen tüm bilgiler bulunur ancak bu bilgilere, izlemlerinizi belirli bir metrikteki yüzdelik değişime göre sıralama gibi bazı ek özellikler de eklenmiştir. Belirli bir izlemenin tüm metriklerini ve verilerini görüntülemek için izlemeler tablosundaki izleme adını tıklayın.
İzlerinizi, iz tablosunun aşağıdaki alt sekmelerinde görüntüleyebilirsiniz:
- Ağ isteği izleri (hem hazır hem de özel) — Ağ istekleri alt sekmesi
- Özel kod izleri: Özel izler alt sekmesi
- Uygulama başlatma, ön planda uygulama, arka planda uygulama izlemeleri: Özel izlemeler alt sekmesi
- Ekran oluşturma izleri: Ekran oluşturma alt sekmesi
- Sayfa yükleme izleri: Sayfa yükleme alt sekmesi
İzler tablosu, metrikler ve verileri görüntüleme hakkında ayrıntılı bilgi edinmek için konsola genel bakış sayfasını ziyaret edin (iOS+ | Android | Web).
Yavaş ve donmuş karelerin sayısı neden beklediğim gibi değil?
Yavaş oluşturma kareleri ve donmuş kareler, 60 Hz cihaz yenileme hızı varsayılarak hesaplanır. Bir cihazın yenileme hızı 60 Hz'den düşükse saniyede daha az kare oluşturulduğundan her karenin oluşturma süresi daha yavaş olur. Daha yavaş oluşturma süreleri, daha fazla karenin daha yavaş oluşturulması veya donması nedeniyle daha fazla yavaş veya donmuş karenin raporlanmasına neden olabilir. Ancak bir cihazın yenileme hızı 60 Hz'den yüksekse her karenin oluşturma süresi daha kısa olur. Bu, yavaş veya donmuş karelerin daha az bildirilmesine neden olabilir. Bu, Performance Monitoring SDK'sındaki mevcut bir sınırlamadır.
Neden parça izlerini göremiyorum?
Uygulama etkinliğine ek olarak parçaların performansını görmek için uygulamanızın Performance Monitoring Android SDK sürümünün 20.1.0 veya üzeri olduğundan emin olun. Daha fazla bilgi edinmek için Uygulamanıza Performance Monitoring'i ekleme başlıklı makaleyi inceleyin.
Hangi izlerin parçalarla ve etkinliklerle ilgili olduğunu nasıl anlayabilirim?
Parça ve etkinlik izlemelerinin her biri, uygulamanızda tanımlanan sınıf adına dayanır. Ekran izlemelerinin her biri, sınıfın adının ardından st ön ekini içerir. Firebase konsolunda ön ek kaldırılır. Daha fazla bilgi edinmek için Ekran oluşturma performansı verileri (Apple ve Android uygulamaları) hakkında bilgi edinme başlıklı makaleyi inceleyin.
Neden diğer izlerden daha az parçacık izleme görüyorum?
Performance Monitoring, bir cihazda toplanan tüm etkinliklerde etkinlik örnekleme yapar. Bu yaklaşım, performans metriklerini sağlamak için kullanıcı cihazlarından gereken minimum etkinlikleri toplamamızı sağlar.
Uygulamamın oluşturma performansıyla ilgili bir sorun olduğunda nasıl bilgilendirilirim?
Performance Monitoring, önem verdiğiniz metrikler için uyarılar ayarlamanıza olanak tanır. Oluşturulan ekran oluşturma izleri için yavaş ve donmuş kare yüzdesi, belirlediğiniz bir eşiği aştığında sizi bilgilendirmek üzere uyarılar ayarlayabilirsiniz.
Performance Monitoring Gradle eklentisini etkinleştirdikten sonra derleme sürelerim yüksek. Bunu nasıl iyileştirebilirim?
Android için Performance Monitoring, HTTP/S ağ isteklerini izleme gibi bazı hazır özellikleri sağlamak için bayt kodu enstrümantasyonu kullanır. Derleme işleminin bir parçası olarak, uygulamanızın ağ isteği performansını ölçmede önemli olan kodu araçlandırmak için uygulamanızın tüm sınıflarında (bağımlılıklar dahil) iterasyon yapılması gerekir.
Derleme süresinin uzamasına neden olan bazı önemli faktörler şunlardır:
- Sınıf veya dosya sayısı
- Bu sınıfların her birinin boyutu (kod satırları)
- Makine yapılandırmanız
- İlk derleme ve sonraki derlemeler (sonraki derlemeler genellikle ilk derlemeden daha hızlıdır)
Derleme sürenizi optimize etmek için kodunuzu modüler hale getirmeyi düşünebilirsiniz.
Performance Monitoring eklentisinin 1.3.3 sürümünden itibaren, artan derleme işleme ve kitaplık girişlerinin önbelleğe alınmasında önemli iyileştirmeler yapmaya odaklandık. Derleme süresinde en son iyileştirmelerden yararlanmak için eklentinin en son sürümünü (v1.4.2) kullandığınızdan emin olun.
Uzun derleme sürelerinden kaçınmak istiyorsanız hata ayıklama derlemeleriniz için yerel olarak Performance Monitoring eklentisini devre dışı bırakabileceğinizi unutmayın. Ancak bu yaklaşım, uygulamanızdaki ağ isteklerinin performans ölçümlerinin kaçırılmasına neden olabileceğinden üretim yapıları için önerilmez.
Performance Monitoring Gradle eklentisiyle uyumlu olmayan kitaplıklar nedeniyle derleme hataları alıyorsam ne yapmalıyım?
Android için Performance Monitoring, HTTP/S ağ isteklerini izleme gibi bazı hazır özellikleri sağlamak için bayt kodu enstrümantasyonu kullanır. Derleme işleminin bir parçası olarak, uygulamanızın ağ isteği performansını ölçmede önemli olan kodu araçlandırmak için uygulamanızın tüm sınıflarında (bağımlılıklar dahil) iterasyon yapılması gerekir.
Performance Monitoring eklentisiyle entegrasyondan sonra JSR/RET are not supported with
computeFrames option
gibi derleme hataları veya benzer hatalar alıyorsanız bunun nedeni, Performance Monitoring Gradle eklentisiyle uyumlu olmayan bir kitaplığa da bağımlı olmanız olabilir.
Bu sorunun üstesinden gelmek için aşağıdaki adımları uygulayarak uyumlu olmayan sınıfları/kitaplıkları enstrümantasyondan hariç tutabilirsiniz:
- Performance Monitoring Gradle eklentisinin en son sürümüne (minimum v1.4.0) güncelleyin.
- Android Gradle eklentisi sürümünüzü 7.2.0 veya daha yeni bir sürüme güncelleyin.
- Uyumlu olmayan sınıfların/kitaplıkların enstrümante edilmesini önlemek için modülünüzün (uygulama düzeyinde)
build.gradle
dosyasına aşağıdaki işareti ekleyin:android { // ... androidComponents { onVariants(selector().all(), { instrumentation.excludes.add("example.incompatible.library") }) } }
Android Gradle eklentisininInstrumentation
API'sininexclude
mülkü hakkında daha fazla bilgi edinmek için Enstrümantasyon bölümüne bakın.
Uyumlu olmayan kitaplıklar nedeniyle derleme hatalarıyla karşılaşırsanız Performance Monitoring eklentisinde de enstrümante edilmemeleri için lütfen bir GitHub sorunu oluşturun.
Performance Monitoring verilerimin BigQuery'ye aktarılması beklenenden uzun sürüyor. Gerçek zamanlı değil mi?
Firebase Performance Monitoring için BigQuery entegrasyonunu etkinleştirdiyseniz verileriniz, günün sonundan 12 ila 24 saat sonra (Pasifik Saati) BigQuery'ye aktarılır.
Örneğin, 19 Nisan'a ait veriler 20 Nisan'da 12:00 ile gece yarısı arasında BigQuery'de kullanılabilir (tüm tarihler ve saatler Pasifik Saati'dir).
Neredeyse gerçek zamanlı veri işleme ve görüntüleme
"Gerçek zamanlıya yakın" performans verileri ne anlama gelir?
Firebase Performance Monitoring, toplanan performans verilerini geldikçe işler. Bu da Firebase konsolunda neredeyse gerçek zamanlı veri görüntülenmesine neden olur. İşlenen veriler, toplandıktan birkaç dakika içinde konsolda gösterilir. Bu nedenle "neredeyse gerçek zamanlı" terimi kullanılır.
Neredeyse gerçek zamanlı veri işleme özelliğinden yararlanmak için uygulamanızın gerçek zamanlı uyumlu bir SDK sürümünü kullandığından emin olun.
Uygulamam için neredeyse gerçek zamanlı performans verilerini nasıl elde edebilirim?
Neredeyse gerçek zamanlı veri işleme özelliğinden yararlanmak için uygulamanızın gerçek zamanlı veri işlemeyle uyumlu bir Performance Monitoring SDK sürümü kullandığından emin olmanız yeterlidir.
Gerçek zamanlı olarak uyumlu SDK sürümleri şunlardır:
- iOS: 7.3.0 veya sonraki sürümler
- tvOS: 8.9.0 veya sonraki sürümler
- Android: 19.0.10 veya sonraki sürümler (veya Firebase Android BoM 26.1.0 veya sonraki sürümler)
- Web: 7.14.0 veya sonraki sürümler
Her zaman SDK'nın en son sürümünü kullanmanızı öneririz ancak yukarıda listelenen sürümlerin tümü Performance Monitoring'ün verilerinizi neredeyse gerçek zamanlı olarak işlemesine olanak tanır.
Performance Monitoring SDK'sının hangi sürümleri gerçek zamanlı olarak uyumlu kabul edilir?
Gerçek zamanlı veri işlemeyle uyumlu SDK sürümleri şunlardır:
- iOS: 7.3.0 veya sonraki sürümler
- tvOS: 8.9.0 veya sonraki sürümler
- Android: 19.0.10 veya sonraki sürümler (veya Firebase Android BoM 26.1.0 veya sonraki sürümler)
- Web: 7.14.0 veya sonraki sürümler
Her zaman SDK'nın en son sürümünü kullanmanızı öneririz ancak yukarıda listelenen sürümlerin tümü Performance Monitoring'ün verilerinizi neredeyse gerçek zamanlı olarak işlemesine olanak tanır.
Uygulamamı gerçek zamanlı olarak uyumlu bir SDK sürümü kullanacak şekilde güncellemezsem ne olur?
Uygulamanız gerçek zamanlı uyumlu bir SDK sürümü kullanmıyorsa uygulamanızın tüm performans verilerini Firebase konsolunda görmeye devam edersiniz. Ancak performans verilerinin görüntülenmesi, verilerin toplanmasından yaklaşık 36 saat sonra gerçekleşir.
Gerçek zamanlı uyumlu bir SDK sürümüne güncelleme yaptım ancak kullanıcılarımdan bazıları uygulamamın eski sürümlerini kullanıyor. Bu kullanıcıların performans verilerini Firebase konsolunda görmeye devam edecek miyim?
Evet! Bir uygulama örneğinin kullandığı SDK sürümünden bağımsız olarak tüm kullanıcılarınızın performans verilerini görürsünüz.
Ancak son verilere (yaklaşık 36 saatten eski olmayan) bakıyorsanız gösterilen veriler, gerçek zamanlı uyumlu SDK sürümünü kullanan uygulama örneklerindeki kullanıcılardan gelir. Ancak yakın olmayan veriler, uygulamanızın tüm sürümlerinden alınan performans verilerini içerir.
Firebase Destek Ekibi ile İletişime Geçme
Firebase Destek Ekibi ile iletişime geçerseniz Firebase uygulama kimliğinizi mutlaka ekleyin. Firebase uygulama kimliğinizi, settings Proje ayarlarınız'daki Uygulamalarınız kartında bulabilirsiniz.