Performance Monitoring ile ilgili sorunları giderme ve SSS
Bu sayfada, Performance Monitoring ile çalışmaya başlama veya Performance Monitoring özelliklerini ve araçlarını kullanma ile ilgili sorun giderme ipuçları verilmektedir.
Sorun giderme için ilk kontroller
Aşağıdaki iki kontrol, daha fazla sorun giderme işlemine geçmeden önce herkes için ö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 şekilde etkinleştirin:
Xcode'da (en az v16.2) Product >
Scheme > Edit scheme'i (Şemayı düzenle) seçin.
Soldaki menüden Run'ı (Çalıştır) ve ardından Arguments (Bağımsız değişkenler) sekmesini seçin.
Arguments Passed on Launch (Başlatmada İletilen Parametreler) 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ı Firebase/Performance ile etiketler. Böylece günlük mesajlarınızı filtreleyebilirsiniz.
Performance Monitoring'nın performans etkinliklerini günlüğe kaydettiğini gösteren aşağıdaki günlük türlerini kontrol edin:
Performance Monitoring
(iOS+ |
Android |
Web) ile çalışmaya başlıyorsanız aşağıdaki sorun giderme
ipuçları, Firebase'in SDK'yı algılaması veya ilk performans verilerinizi Firebase konsolunda göstermesiyle ilgili sorunlara yardımcı olabilir.
SDK uygulamaya eklendi ancak konsolda
SDK'nın eklenmesi gerektiği belirtiliyor
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, 30 dakika içinde kontrol panelinde ilk işlenen veriler 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 öğesinin etkinlikleri 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ı birkaç kez arka plan ve ön plan arasında değiştirerek, ekranlar arasında gezinerek uygulamanızla etkileşimde bulunarak ve/veya ağ isteklerini tetikleyerek etkinlik oluşturun.
Firebase yapılandırma dosyanızın (Google-Service-Info.plist) uygulamanıza doğru şekilde eklendiğinden ve dosyayı değiştirmediğinizden emin olun.
Özellikle aşağıdakileri kontrol edin:
Yapılandırma dosyası adına (2) gibi ek karakterler eklenmediğinden emin olun.
Yapılandırma dosyası, Xcode projenizin kök dizininde bulunur ve doğru hedeflere eklenir.
Yapılandırma dosyasında listelenen Firebase Apple Uygulama Kimliği (GOOGLE_APP_ID) uygulamanız için doğru. Firebase Uygulama Kimliğinizi settingsProje
ayarları bölümündeki Uygulamalarınız kartında bulabilirsiniz.
Uygulamanızdaki yapılandırma dosyasında bir sorun olduğunu düşünüyorsanız şunları deneyin:
Uygulamanızda bulunan 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ış gibi görünüyorsa ancak 2 saat sonra SDK algılama mesajını veya işlenmiş verileri hâlâ görmüyorsanız 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ı, Performance Monitoring özellikleri ve araçlarıyla ilgili genel sorunlara yardımcı olabilir.
Uygulama, performans etkinliklerini günlüğe kaydetmiyor
Performans kontrol panelinde ekran izleme verileri eksik
Ekran oluşturma izleriyle ilgili verileriniz eksikse aşağıdaki sorun giderme adımlarını deneyin:
Apple platformları SDK'sının en yeni sürümünü (v11.15.0) kullandığınızdan emin olun. Ekran oluşturma izleri yalnızca v5.0.0 veya sonraki sürümlerde kullanılabilir.
Performance Monitoring, kapsayıcı görünüm denetleyicileri (ör. UINavigationController ve UITabBarController) için ekran oluşturma izleri oluşturmaz. Veriler yalnızca bu ekranlarda eksikse bu beklenen bir davranıştır.
Performans kontrol panelinde özel izleme verileri eksik
Otomatik olarak toplanan izlemelerle ilgili performans verilerini görüyor musunuz ancak özel kod izlemeleriyle ilgili verileri görmüyor musunuz? Aşağıdaki sorun giderme adımlarını deneyin:
Trace API aracılığıyla oluşturulan özel kod izlemelerinin kurulumunu kontrol edin. Özellikle aşağıdakileri inceleyin:
Özel kod izlerinin ve özel metriklerin 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 32 karakter olmalıdır.
Tüm izlemeler başlatılmalı ve durdurulmalıdır. Başlatılmamış, durdurulmamış veya başlatılmadan önce durdurulmuş izlemeler 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ğ istekleriyle ilgili rapor oluşturabilir. Bu nedenle, açık bırakılan HTTP/S bağlantıları raporlanmayabilir.
Performance Monitoring, geçersiz Content-Type üstbilgileri içeren ağ istekleri hakkında rapor oluşturmaz. Ancak, Content-Type başlıkları olmayan ağ istekleri yine kabul edilir.
Proje ana sayfasındaki Performans kartında En Önemli Sorunlar bölümü neden kaldırıldı?
Kısa süre önce kullanıma sunduğumuz ve belirlediğiniz eşikler aşıldığında sizi otomatik olarak bilgilendiren uyarılar özelliğinin devamı olarak En Önemli Sorunlar'ın yerini Son Uyarılar aldı. 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, Son Uyarılar bölümündeki uyarı girişlerini filtreler. Yalnızca seçilen uygulamalarla ilgili en son üç uyarı gösterilir.
Konsoldaki sorunlar için eşikler belirleme özelliği kaldırıldı mı?
Performance Monitoring, tanımlanan eşikleri aşan metrikler için uyarıları destekler. Performans metrikleri için bu yapılandırılabilir eşiklerle karışıklığı önlemek amacıyla sorunlar için eşik yapılandırma özelliği kaldırıldı.
Firebase konsolundaki Ayrıntılar ve Metrikler bilgilerine ne oldu?
Sorunları giderme şeklinizi iyileştirmek için Ayrıntılar ve Metrikler sayfalarını yeni tasarlanmış, merkezi bir kullanıcı arayüzüyle (UI) 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.
Neden örnek sayısı beklediğim gibi değil?
Performance Monitoring, uygulamanızın kullanıcı cihazlarından performans verileri toplar. Uygulamanızın çok sayıda kullanıcısı varsa veya uygulama büyük miktarda performans etkinliği oluşturuyorsa Performance Monitoring, işlenen etkinlik sayısını azaltmak için veri toplamayı cihazların bir alt kümesiyle sınırlayabilir. Bu sınırlar, daha az etkinlik olsa bile metrik değerlerinin kullanıcılarınızın uygulama deneyimini temsil etmeye devam etmesini sağlayacak kadar yüksektir.
Topladığımız veri hacmini yönetmek için Performance Monitoring aşağıdaki örnekleme seçeneklerini kullanır:
Cihaz üzerinde sıklık sınırlaması: Bir cihazın ani izleme dizileri göndermesini önlemek için bir cihazdan gönderilen kod ve ağ isteği izlerinin sayısını 10 dakikada 300 etkinlik ile sınırlandırırız. Bu yaklaşım, cihazı büyük miktarda performans verisi gönderebilen döngüye alınmış enstrümantasyonlardan 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 günlük olarak uygulama başına sınırlı sayıda kod izi ve ağ isteği izi toplar. Rastgele bir cihazın izleri yakalayıp göndermesi gerekip gerekmediğini belirlemek için cihazlarda (Firebase Remote Config kullanılarak) dinamik bir örnekleme hızı getirilir. Örnekleme için seçilmeyen bir cihaz herhangi bir etkinlik göndermez. Dinamik örnekleme hızı uygulamaya özeldir ve toplanan verilerin genel hacminin sınırın altında kalmasını sağlamak için ayarlanır.
BigQuery entegrasyonunu etkinleştiren projeler, ağ isteği izlerinin 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 verilerin yakalanıp gönderilmesi için daha fazla kaynak gerekir. Kullanıcı oturumlarının etkisini en aza indirmek için Performance Monitoring oturum sayısını da kısıtlayabilir.
Sunucu tarafında sıklık sınırlama: Uygulamaların örnekleme sınırını aşmaması için Performance Monitoring, cihazlardan alınan bazı etkinlikleri bırakmak üzere sunucu tarafında örnekleme kullanabilir. Bu tür bir sınırlama, metriklerimizin etkinliğini değiştirmese de aşağıdakiler de dahil olmak üzere küçük kalıp değişikliklerine neden olabilir:
İz sayısı, bir kod parçasının yürütülme sayısından farklı olabilir.
Kodda birbirine sıkıca bağlı olan izlemelerin her birinde farklı sayıda örnek olabilir.
Konsoldaki Sorunlar sekmesine ne oldu?
Sorunlar sekmesinin yerini, belirlediğiniz eşikler aşıldığında sizi otomatik olarak bilgilendiren Uyarılar aldı. Eşiğin durumunu belirlemek için artık Firebase konsolunu manuel olarak kontrol etmeniz gerekmez. Uyarılar hakkında bilgi edinmek için Performans sorunlarıyla ilgili uyarılar oluşturma başlıklı makaleyi inceleyin.
Konsoldaki Cihazda ve Ağ sekmelerine ne oldu?
Bu sayfalardaki izleri nasıl görüntüleyebilirim?
Firebase konsolunun Performance Monitoring bölümünü yeniden tasarladık. Böylece Kontrol Paneli sekmesinde temel metrikleriniz ve tüm izleriniz tek bir alanda gösteriliyor. Yeniden tasarım kapsamında Cihazda ve Ağ sayfalarını kaldırdık.
Gösterge tablosu sekmesinin alt kısmındaki izler tablosunda, Cihazda ve Ağ sekmelerinde gösterilen tüm bilgiler yer alır. Ancak bu tabloda, izlerinizi belirli bir metriğin yüzde değişimine göre sıralama özelliği de dahil olmak üzere bazı ek özellikler bulunur. Belirli bir izlemeye ait tüm metrikleri ve verileri görüntülemek için izlemeler tablosunda izleme adını tıklayın.
İzleme tablosunun aşağıdaki alt sekmelerinde izlerinizi görüntüleyin:
Ağ isteği izleri (hem kullanıma hazır hem de özel) — Ağ istekleri alt sekmesi
Özel kod izleri: Özel izler alt sekmesi
Uygulama başlatma, uygulama ön planda, uygulama arka planda izleri: Özel izler alt sekmesi
Ekran oluşturma izleri: Ekran oluşturma alt sekmesi
Sayfa yükleme izleri: Sayfa yükleme alt sekmesi
İzleme tablosu ve metrikleri ile verileri görüntüleme hakkında ayrıntılı bilgi 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, cihazın yenileme hızının 60 Hz olduğu varsayılarak hesaplanır. Bir cihazın yenileme hızı 60 Hz'den düşükse saniyede daha az kare oluşturulduğu için her karenin oluşturma süresi daha yavaş olur.
Daha yavaş oluşturma süreleri, daha fazla karenin yavaş oluşturulmasına veya donmasına neden olacağından daha fazla yavaş veya donmuş kare bildirilmesine neden olabilir. Ancak bir cihazın yenileme hızı 60 Hz'den yüksekse her karenin oluşturma süresi daha hızlı olur.
Bu durum, daha az sayıda yavaş veya donmuş karenin bildirilmesine neden olabilir. Bu, Performance Monitoring SDK'daki mevcut bir sınırlamadır.
Performance Monitoring verilerimin BigQuery'ye aktarılması beklenenden daha uzun sürüyor. Gerçek zamanlı değil mi?
Firebase Performance Monitoring için BigQuery entegrasyonunu etkinleştirdiyseniz verileriniz günün sonundan (Pasifik Saati) 12-24 saat sonra BigQuery'ye aktarılır.
Örneğin, 19 Nisan'a ait veriler 20 Nisan'da BigQuery'de 12:00-24:00 saatleri arasında kullanılabilir (tüm tarihler ve saatler Pasifik Saat Dilimi'ne göre belirlenir).
Neredeyse gerçek zamanlı veri işleme ve görüntüleme
"Neredeyse gerçek zamanlı" performans verileri ne anlama gelir?
Firebase Performance Monitoring, toplanan performans verilerini geldikçe işler. Bu sayede Firebase konsolunda veriler neredeyse gerçek zamanlı olarak gösterilir. İşlenen veriler, toplandıktan birkaç dakika sonra konsolda gösterilir. Bu nedenle "neredeyse gerçek zamanlı" ifadesi kullanılır.
Uygulamam için neredeyse gerçek zamanlı performans verilerini nasıl alabilirim?
Neredeyse gerçek zamanlı veri işlemeden yararlanmak için uygulamanızın gerçek zamanlı veri işleme ile 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: v7.3.0 veya sonraki sürümler
tvOS: 8.9.0 veya sonraki sürümler
Android: v19.0.10 veya sonraki sürümler (ya da Firebase Android BoM v26.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ı önerdiğimizi ancak yukarıda listelenen sürümlerin herhangi birinin Performance Monitoring'nın verilerinizi neredeyse gerçek zamanlı olarak işlemesini sağlayacağını unutmayın.
Performance Monitoring SDK'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: v7.3.0 veya sonraki sürümler
tvOS: 8.9.0 veya sonraki sürümler
Android: v19.0.10 veya sonraki sürümler (ya da Firebase Android BoM v26.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ı önerdiğimizi ancak yukarıda listelenen sürümlerin herhangi birinin Performance Monitoring'nın verilerinizi neredeyse gerçek zamanlı olarak işlemesini sağlayacağını unutmayın.
Uygulamamı gerçek zamanlı olarak uyumlu bir SDK sürümünü 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österilmesi, toplanma zamanından yaklaşık 36 saat sonra gerçekleşir.
Gerçek zamanlı olarak uyumlu bir SDK sürümüne güncelleme yaptım ancak bazı kullanıcılarım hâlâ 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 hangi SDK sürümünü kullandığına bakılmaksızın tüm kullanıcılarınızın performans verilerini görürsünüz.
Ancak son verilere (yaklaşık 36 saatten daha eski olmayan) bakıyorsanız gösterilen veriler, gerçek zamanlı uyumlu bir SDK sürümü kullanan uygulama örneklerinin kullanıcılarına aittir. Ancak son olmayan veriler, uygulamanızın tüm sürümlerine ait performans verilerini içerir.