Performance Monitoring ile ilgili sorunları giderme ve SSS
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
Hata ayıklama günlük kaydını aşağıdaki gibi etkinleştirin:
Xcode'da (minimum sürüm 15.2) Ürün >
Dizi > Diziyi düzenle'yi seçin.
Sol menüden Çalıştır'ı, ardından Parametreler sekmesini seçin.
Başlatma sırasında iletilen bağımsız değişkenler bölümüne -FIRDebugEnabled ekleyin.
Günlük mesajlarınızda hata mesajı olup olmadığını kontrol edin.
Performance Monitoring, günlük mesajlarınızı filtreleyebilmeniz için günlük mesajlarını Firebase/Performance ile etiketler.
Performance Monitoring'ün performans etkinliklerini kaydettiğini belirten aşağıdaki günlük türlerini kontrol edin:
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ı
Hâlâ yerel olarak geliştirme yapıyorsanız veri toplama için daha fazla etkinlik oluşturmayı deneyin:
Simülatör veya test cihazı kullanarak uygulamanızı geliştirmeye devam edin.
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-Service-Info.plist) 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ı, XCode projenizin kökündedir ve doğru hedeflere eklenmiştir.
Yapılandırma dosyasında listelenen Firebase Apple Uygulama Kimliği (GOOGLE_APP_ID), uygulamanız için doğrudur. Firebase uygulama kimliğinizi, settingsProje 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 Apple uygulamanıza eklemek için bu talimatları uygulayın.
SDK etkinlikleri günlüğe kaydediyorsa ve her şey doğru şekilde ayarlanmış görünüyorsa ancak SDK algılama mesajını veya işlenmiş verileri hâlâ görmüyorsanız (2 saat sonra) Firebase Destek Ekibi ile iletişime geçin.
Uygulama etkinlikleri günlüğe kaydetmiyor:
sorun giderme adımları
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 kontrol panelinde ekran izleme verileri eksik
Ekran oluşturma izleriyle ilgili veriler eksikse aşağıdaki sorun giderme adımlarını deneyin:
Apple platformları SDK'sının en son sürümünü (v11.5.0) kullandığınızdan emin olun. Ekran oluşturma izlemeleri yalnızca 5.0.0 veya sonraki sürümlerde kullanılabilir.
Performance Monitoring, kapsayıcı görüntüleme denetleyicileri (UINavigationController ve UITabBarController gibi) için ekran oluşturma izlemeleri oluşturmaz. Veriler yalnızca bu ekranlarda eksikse bu beklenen bir davranıştı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 enstrümante edilen özel kod izlemelerinin kurulumunu, özellikle de aşağıdakileri 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.
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, geçersiz Content-Type üstbilgilerine sahip ağ isteklerini bildirmez. Ancak Content-Type başlıkları olmayan ağ istekleri yine kabul edilir.
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.
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.
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.
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.