Performance Monitoring ile ilgili sorunları giderme ve SSS
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Bu sayfada, Performans İzleme'yi kullanmaya başlama veya Performance Monitoring özelliklerini ve araçlarını kullanmaya başlamayla ilgili sorun giderme ipuçları yer almaktadır.
Sorun giderme için ilk kontroller
Aşağıdaki iki kontrol, diğer sorun giderme adımlarından önce herkese önerilen genel en iyi uygulamalardır.
1. Performans etkinlikleri için günlük mesajlarını kontrol etme
Performance Monitoring SDK'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 v14.1) Ürün > Şema > Şemayı düzenle'yi seçin.
Soldaki menüden Çalıştır'ı, ardından Bağımsız değişkenler sekmesini seçin.
Lansmanda İletilen Bağımsız Değişkenler bölümüne -FIRDebugEnabled ekleyin.
Hata mesajı olup olmadığını görmek için günlük mesajlarınızı kontrol edin.
Performance Monitoring, günlük mesajlarınızı filtreleyebilmeniz için günlük mesajlarını Firebase/Performance ile etiketler.
Performance Monitoring'in performans etkinliklerini günlüğe kaydettiğini gösteren aşağıdaki günlük türlerini kontrol edin:
Firebase veya Performance Monitoring'de bilinen bir kesinti olması ihtimaline karşı Firebase Durum Kontrol Paneli'ni kontrol edin.
Performans İzleme'yi kullanmaya başlama
Performance Monitoring'i
(iOS+ |
Android |
Web) kullanmaya başlıyorsanız Firebase'in SDK'yı algılaması veya Firebase konsolunda ilk performans verilerinizin görüntülenmesiyle ilgili sorunlarda aşağıdaki sorun giderme ipuçlarından yararlanabilirsiniz.
SDK uygulamaya eklendi ancak konsol hâlâ SDK'nın eklenmesi gerektiğini söylüyor
Firebase, uygulamanızdan etkinlik bilgilerini (uygulama etkileşimleri gibi) aldığında uygulamanıza Performance Monitoring SDK'sını başarıyla ekleyip eklemediğinizi tespit edebilir. Genellikle uygulamanızı başlattıktan sonra 10 dakika içinde Firebase konsolunun Performans kontrol panelinde bir "SDK algılandı" mesajı görünür. 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 uzun bir süre geçmesine rağmen hâlâ herhangi bir değişiklik görmüyorsanız Performance Monitoring'in 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:
Bir 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ının adına (2) gibi ek karakterler eklenmez.
Yapılandırma dosyası, XCode projenizin kökünde 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ğrudur. Firebase uygulama kimliğinizi settingsProje ayarları hesabınızın Uygulamalarınız kartında bulabilirsiniz.
Uygulamanızdaki yapılandırma dosyasında sorun görünüyorsa aşağıdakileri deneyin:
Şu anda 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 ayarlanmış gibi görünmesine rağmen SDK algılama mesajını veya işlenen verileri göremiyorsanız (2 saat geçmesine rağmen) Firebase Destek Ekibi ile iletişime geçin.
Uygulama etkinlikleri kaydetmiyor:
sorun giderme adımları
SDK'yı başarıyla eklediyseniz ve uygulamanızda Performance Monitoring'i kullanıyorsanız aşağıdaki sorun giderme ipuçları, Performance Monitoring özelliklerini ve araçlarını içeren genel sorunlar konusunda yardımcı olabilir.
Uygulama, performans etkinliklerini günlüğe kaydetmiyor
Performans kontrol panelinde ekran izleme verileri eksik
Ekran oluşturma izlerine ilişkin verileriniz eksikse aşağıdaki sorun giderme adımlarını deneyin:
Performans kontrol panelinde özel iz verileri eksik
Otomatik olarak toplanan izlemelere ilişkin performans verilerini görüyor ancak özel kod izleri için görmüyor musunuz? Aşağıdaki sorun giderme adımlarını deneyin:
Trace API ile kullanılan özel kod izlemelerin ayarlarını, özellikle de aşağıdakileri kontrol edin:
Özel kod izlemeleri ve özel metriklerin adları şu şartları karşılamalıdır: Başta veya sonda boşluk olmamalı, başında alt çizgi (_) karakteri bulunmamalı ve maksimum uzunluk 32 karakter olmalıdır.
Tüm izler başlatılmalı ve durdurulmalıdır. Başlatılmayan, durdurulmayan veya başlatılmadan önce durdurulan izler günlüğe kaydedilmez.
Kodunuzun ve kodunuzun kullandığı ağ kitaplığının davranışına bağlı olarak Performance Monitoring yalnızca tamamlanan ağ isteklerini raporlayabilir. Bu, açık kalan HTTP/S bağlantılarının raporlanmayabileceği anlamına gelir.
Performance Monitoring, geçersiz Content-Type başlıklarına sahip ağ isteklerini raporlamaz. Ancak, Content-Type başlığı olmayan ağ istekleri yine de kabul edilir.
Proje ana sayfasındaki Performans kartında yer alan En Önemli Sorunlar'a ne oldu?
Ayarladığınız eşikler aşıldığında otomatik olarak sizi bilgilendiren yeni uyarı lansmanımızın bir sonucu olarak En Önemli Sorunlar bölümünü Son Uyarılar ile değiştirdik. Sorunlar artık kullanımdan kaldırıldı ve bunların yerini uyarılar aldı.
Performans kartının üst kısmındaki uygulama seçici, Son Uyarılar altındaki uyarı girişlerini filtreler. Yalnızca seçilen uygulamalar için en son üç uyarı görüntülenir.
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 metriklerine yönelik bu yapılandırılabilir eşiklerle ilgili karışıklığı önlemek amacıyla sorunlar için eşik yapılandırma özelliğini kaldırdık.
Firebase konsolundaki Ayrıntılar ve Metrikler bilgilerine ne oldu?
Sorunları giderme şeklinizi iyileştirmek için Ayrıntılar ve Metrikler sayfalarını yakın zamanda yeniden tasarlanmış, merkezi bir kullanıcı arayüzü (UI) ile 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 iz için daha fazla veri görüntüleme bölümüne bakın.
Örnek sayısı neden beklediğim kadar değil?
Performance Monitoring, uygulamanızın kullanıcı cihazlarından performans verilerini toplar. Uygulamanızda çok sayıda kullanıcı varsa veya uygulama yüksek miktarda 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ırlandırabilir. Bu sınırlar, daha az etkinlikle olsa bile metrik değerlerinin yine de kullanıcınızın uygulama deneyimini temsil etmesi için yeterince yüksektir.
Performance Monitoring, topladığımız verilerin hacmini yönetmek için aşağıdaki örnekleme seçeneklerini kullanır:
Cihaz üzerinde hız sınırlaması: Bir cihazın ani izleme serileri göndermesini önlemek için bir cihazdan gönderilen kod ve ağ isteği izlerinin sayısını, 10 dakikada bir 300 etkinlikle sınırlandırırız. Bu yaklaşım, cihazı büyük miktarda performans verisi gönderebilen döngülü araçlardan korur ve tek bir cihazın performans ölçümlerini bozmasını önler.
Dinamik örnekleme: Performance Monitoring, tüm uygulama kullanıcıları genelinde uygulama başına günlük olarak kod izlemeler için yaklaşık 100 milyon ve ağ isteği izleri için 100 milyon etkinlik sınırı toplar. Rastgele bir cihazın iz yakalayıp göndermesi gerekip gerekmediğini belirlemek için cihazlarda dinamik örnekleme hızı (Firebase Remote Config kullanılarak) getirilir. Örnekleme için seçilmeyen bir cihaz herhangi bir etkinlik göndermez. Dinamik örnekleme hızı uygulamaya özeldir ve toplanan verinin toplam hacminin sınırın altında kalmasını sağlayacak şekilde ayarlanı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. 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şmadığından emin olmak amacıyla Performance Monitoring, cihazlardan alınan bazı etkinliklerin çıkarılması için sunucu tarafı örneklemeyi kullanabilir. Bu tür sınırlama, metriklerimizin etkisini değiştirmese de aşağıdakiler dahil olmak üzere küçük kalıp değişimlerine neden olabilir:
İz sayısı, bir kod parçasının yürütme sayısından farklı olabilir.
Kodda yakından bağlantılı olan izlerin her biri, farklı sayıda örneğe sahip olabilir.
Konsoldaki Sorunlar sekmesine ne oldu?
Sorunlar sekmesinin yerine, belirlediğiniz eşikler aşıldığında size otomatik olarak bildirim gönderen Uyarılar kullanıma sunuldu. Artık bir eşiğin durumunu belirlemek için Firebase konsolunu manuel olarak kontrol etmeniz gerekmez. Uyarılar hakkında bilgi edinmek için Performans sorunları için uyarı ayarlama başlıklı makaleyi inceleyin.
Konsoldaki Cihazda ve Ağ sekmelerine ne oldu?
Bu sayfalarda bulunan izleri nasıl görüntüleyebilirim?
Firebase konsolunun Performance Monitoring bölümünü, Kontrol Paneli sekmesinde temel metrikleriniz ve tüm izlerinizi tek bir yerde gösterecek şekilde yeniden tasarladık. Yeniden tasarım kapsamında Cihazda ve Ağ sayfalarını kaldırdık.
Kontrol paneli sekmesinin alt kısmındaki iz tablosunda, Cihazda ve Ağ sekmelerinde görüntülenenlerle aynı bilgiler yer alır. Bununla birlikte, izlerinizi belirli bir metriğe ait değişim yüzdesine göre sıralama olanağı gibi bazı ek özellikler de bulunur. Belirli bir izlemeyle ilgili tüm metrikleri ve verileri görüntülemek için iz tablosundaki iz adını tıklayın.
İz 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, arka plandaki uygulama izleri — Özel izler alt sekmesi
Ekran oluşturma izleri — Ekran oluşturma alt sekmesi
Sayfa yükleme izleri — Sayfa yükleme alt sekmesi
İz tablosu ve metrikler ile verileri görüntülemeyle ilgili ayrıntılar için konsola genel bakış sayfasını ziyaret edin
(iOS+ |
Android |
Web).
Yavaş ve donmuş kare sayısı neden beklediğim kadar değil?
Yavaş oluşturma kareleri ve donmuş kareler, 60 Hz olduğu varsayılan cihaz yenileme hızıyla hesaplanır. Cihaz yenileme hızı 60 Hz'in altındaysa 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 kare yavaş oluşturulacağı veya donacağı için daha yavaş veya donmuş karelerin bildirilmesine neden olabilir. Bununla birlikte, cihaz yenileme hızı 60 Hz'in üzerindeyse her karenin oluşturma süresi daha hızlı olur.
Bu durum, daha az sayıda yavaş veya donmuş karenin raporlanmasına neden olabilir. Bu, Performance Monitoring SDK'sında şu anda geçerli olan 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 sonundan (Pasifik Saati) 12 ila 24 saat sonra BigQuery'ye aktarılır.
Örneğin, 19 Nisan'a ait veriler, 20 Nisan günü, 12:00 ile gece yarısı arasında BigQuery'de kullanılabilir olur (tüm tarihler ve saatler Pasifik Saati'ne göredir).
Neredeyse gerçek zamanlı veri işleme ve görüntüleme
"Neredeyse gerçek zamanlı" performans verileri ne anlama geliyor?
Firebase Performance Monitoring, toplanan performans verilerini veriler geldikçe işler, böylece Firebase konsolunda neredeyse gerçek zamanlı veriler görüntüleyebilirsiniz. İşlenen veriler, toplanmalarından sonraki birkaç dakika içinde konsolda gösterilir. Bu nedenle, "gerçek zamanlıya yakın" terimi kullanılır.
Uygulamam için neredeyse gerçek zamanlı performans verilerini nasıl edinebilirim?
Neredeyse gerçek zamanlı veri işlemeden 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ı uyumlu SDK sürümleri şunlardır:
iOS — v7.3.0 veya sonraki sürümler
tvOS: v8.9.0 veya sonraki sürümler
Android: 19.0.10 veya üzeri (ya da Firebase Android BoM 26.1.0 veya sonraki sürümler)
Web — v7.14.0 veya sonraki sürümler
Her zaman SDK'nın en son sürümünü kullanmanızı önerdiğimizi hatırlatmak isteriz. Bununla birlikte, yukarıda listelenen tüm sürümler Performance Monitoring'in verilerinizi neredeyse gerçek zamanlı olarak işleyebilmesini sağlar.
Performance Monitoring SDK'nın hangi sürümleri gerçek zamanlı uyumlu olarak kabul edilir?
Gerçek zamanlı veri işleme ile uyumlu SDK sürümleri şunlardır:
iOS — v7.3.0 veya sonraki sürümler
tvOS: v8.9.0 veya sonraki sürümler
Android: 19.0.10 veya üzeri (ya da Firebase Android BoM 26.1.0 veya sonraki sürümler)
Web — v7.14.0 veya sonraki sürümler
Her zaman SDK'nın en son sürümünü kullanmanızı önerdiğimizi hatırlatmak isteriz. Bununla birlikte, yukarıda listelenen tüm sürümler Performance Monitoring'in verilerinizi neredeyse gerçek zamanlı olarak işleyebilmesini sağlar.
Uygulamamı gerçek zamanlı uyumlu bir SDK sürümü kullanacak şekilde güncellemezsem ne olur?
Uygulamanız gerçek zamanlı olarak uyumlu bir SDK sürümü kullanmıyorsa uygulamanızın tüm performans verilerini Firebase konsolunda görmeye devam edersiniz. Bununla birlikte, performans verilerinin görüntülenmesi, toplandığı tarihten itibaren yaklaşık 36 saat gecikmeli olarak gösterilir.
Uygulamamı gerçek zamanlı olarak uyumlu bir SDK sürümüne güncelledim ancak bazı kullanıcılarım hâlâ uygulamamın eski sürümlerini kullanıyor. Firebase konsolunda performans verilerini görmeye devam edebilir miyim?
Evet! 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 yeni verilere (yaklaşık 36 saatten eski) bakıyorsanız gösterilen veriler, gerçek zamanlı uyumlu bir SDK sürümü kullanan uygulama örneklerinin kullanıcılarından alınmıştır. Ancak yeni olmayan veriler, uygulamanızın tüm sürümlerine ait performans verilerini içerir.