Bu sayfa, Performance Monitoring'i kullanmaya başlamak veya Performance Monitoring özelliklerini ve araçlarını kullanmak için sorun giderme ipuçları sağlar.
Sorun giderme için ilk kontroller
Aşağıdaki iki kontrol, daha fazla sorun gidermeden önce herkes için önerilen genel en iyi uygulamalardır.
1. Performans olayları için günlük mesajlarını kontrol edin
Performance Monitoring SDK'nın performans olaylarını yakaladığından emin olmak için günlük mesajlarınızı kontrol edin.
Hata ayıklama günlüğünü aşağıdaki gibi etkinleştirin:
- Xcode'da (minimum v14.1), Product > Scheme > Edit layout öğesini seçin.
- Soldaki menüden Çalıştır'ı seçin, ardından Argümanlar sekmesini seçin.
- Başlatma Sırasında Geçirilen Argümanlar bölümünde,
-FIRDebugEnabled
ekleyin.
Herhangi bir hata mesajı için günlük mesajlarınızı kontrol edin.
Performance Monitoring, günlük mesajlarını filtreleyebilmeniz için günlük mesajlarını
Firebase/Performance
ile etiketler.Performance Monitoring'in performans olaylarını günlüğe kaydettiğini gösteren 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 olaylarını günlüğe kaydetmiyorsa sorun giderme ipuçlarını inceleyin.
2. Firebase Status Dashboard'u kontrol edin
Firebase veya Performance Monitoring için bilinen bir kesinti olması durumunda Firebase Status Dashboard'u kontrol edin.
Performans İzlemeye Başlarken
Performance Monitoring'i ( iOS+ | Android | Web ) kullanmaya başlıyorsanız, aşağıdaki sorun giderme ipuçları, Firebase'in SDK'yı algılaması veya Firebase konsolunda ilk performans verilerinizi görüntülemesiyle ilgili sorunlarda yardımcı olabilir.
Firebase, uygulamanızdan etkinlik bilgileri (uygulama etkileşimleri gibi) aldığında, Performance Monitoring SDK'yı uygulamanıza başarıyla ekleyip eklemediğinizi algılayabilir. Genellikle, uygulamanızı başlattıktan sonraki 10 dakika içinde, Firebase konsolunun Performans panosunda bir "SDK algılandı" mesajı görüntülenir. Ardından, 30 dakika içinde pano ilk işlenen verileri görüntüler.
Uygulamanıza SDK'nın en son sürümünü eklediğinizden bu yana 10 dakikadan fazla zaman geçtiyse ve hala herhangi bir değişiklik göremiyorsanız, Performance Monitoring'in olayları günlüğe kaydettiğinden emin olmak için günlük mesajlarınızı kontrol edin . Gecikmiş bir SDK algılama mesajıyla ilgili sorunları gidermek için aşağıda açıklanan uygun sorun giderme adımlarını deneyin.
Hala yerel olarak geliştiriyorsanı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 ve/veya ağ isteklerini tetikleyerek uygulamanızla etkileşim kurarak olaylar 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ının sonuna
(2)
gibi ek karakterler eklenmez.Yapılandırma dosyası, XCode projenizin kök dizinindedir 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, Proje ayarları bölümündeki Uygulamalarınız kartında bulun.
Uygulamanızdaki yapılandırma dosyasıyla ilgili herhangi bir 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ı indirmek ve onu Apple uygulamanıza eklemek için bu talimatları izleyin.
SDK olayları günlüğe kaydediyorsa ve her şey doğru ayarlanmış gibi görünüyorsa, ancak SDK algılama mesajını veya işlenmiş verileri (2 saat sonra) hala göremiyorsanız, Firebase Destek ile iletişime geçin .
Performans İzleme SDK'sının
Info.plist
dosyanızdaki aşağıdaki işaretlerden herhangi biri aracılığıyla devre dışı bırakılmadığından emin olun:-
firebase_performance_collection_enabled
-
firebase_performance_collection_deactivated
-
Performans İzlemenin çalışma zamanında devre dışı bırakılmadığından emin olun ( Swift | Obj-C ).
Uygulamanızda devre dışı bırakılmış herhangi bir şey bulamazsanız Firebase Destek ile iletişime geçin .
Performance Monitoring, performans olayı verilerini Performans panosunda görüntülemeden önce işler.
"SDK algılandı" mesajının görüntülenmesinin üzerinden 24 saatten fazla zaman geçtiyse ve hala verileri göremiyorsanız, bilinen bir kesinti olma ihtimaline karşı Firebase Status Dashboard'u kontrol edin. Kesinti yoksa Firebase Destek ile iletişime geçin .
Genel sorun giderme
SDK'yı başarıyla eklediyseniz ve uygulamanızda Performans İzleme kullanıyorsanız aşağıdaki sorun giderme ipuçları, Performans İzleme özelliklerini ve araçlarını içeren genel sorunlarda yardımcı olabilir.
Performans etkinlikleri için günlük mesajları görmüyorsanız, aşağıdaki sorun giderme adımlarını deneyin:
Performans İzleme SDK'sının
Info.plist
dosyanızdaki aşağıdaki işaretlerden herhangi biri aracılığıyla devre dışı bırakılmadığından emin olun:-
firebase_performance_collection_enabled
-
firebase_performance_collection_deactivated
-
Performans İzlemenin çalışma zamanında devre dışı bırakılmadığından emin olun ( Swift | Obj-C ).
Uygulamanızda devre dışı bırakılmış herhangi bir şey bulamazsanız Firebase Destek ile iletişime geçin .
Ekran işleme izleri için verileriniz eksikse aşağıdaki sorun giderme adımlarını deneyin:
Otomatik olarak toplanan izlemeler için performans verileri 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 kullanılan özel kod izlemelerinin kurulumunu, özellikle aşağıdakileri kontrol edin:
- Özel kod izleri ve özel ölçümler için adlar şu gereksinimleri karşılamalıdır: başında veya sonunda boşluk olmaması, başta alt çizgi (
_
) karakteri olmaması ve maksimum uzunluğun 32 karakter olması. - Tüm izlemeler başlatılmalı ve durdurulmalıdır. Başlatılmayan, durdurulmayan veya başlamadan önce durdurulan hiçbir iz günlüğe kaydedilmez.
- Özel kod izleri ve özel ölçümler için adlar şu gereksinimleri karşılamalıdır: başında veya sonunda boşluk olmaması, başta alt çizgi (
Performance Monitoring'in beklenen özel kod izlerini günlüğe kaydettiğinden emin olmak için günlük iletilerinizi kontrol edin .
Performance Monitoring olayları günlüğe kaydediyorsa ancak 24 saat sonra hiçbir veri görüntülenmiyorsa Firebase Destek ile iletişime geçin .
Ağ isteği verileriniz eksikse, aşağıdaki sorun giderme adımlarını deneyin:
Ağ kitaplığı uyumsuzluğunu kontrol edin. Performance Monitoring, aşağıdaki ağ kitaplıklarını kullanan ağ istekleri için ölçümleri otomatik olarak toplar :
- Swift için: URLSession ve URLConnection
- Objective-C için: NSURLSession ve NSURLConnection
Aşağıdakilerin farkında olun:
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 bildirilmeyebileceği anlamına gelir.
Performance Monitoring, geçersiz
Content-Type
başlıkları olan ağ isteklerini raporlamaz. Ancak,Content-Type
başlıkları olmayan ağ istekleri yine de kabul edilecektir.
Performance Monitoring'in ağ isteği verilerini URL kalıpları altında nasıl topladığı hakkında daha fazla bilgi edinin.
Özel URL kalıplarını da deneyebilirsiniz!
SSS
Belirlediğiniz eşikler aşıldığında sizi otomatik olarak bilgilendiren uyarıları yakın zamanda kullanıma sunmamızın devamı olarak En Önemli Sorunları Son Uyarılar ile değiştirdik. Sorunlar artık kullanımdan kaldırıldı ve yerini uyarılar aldı.
Performans kartının üst kısmındaki uygulama seçici, Son Uyarılar altındaki uyarı girişlerini filtreler. Seçilen uygulama(lar) için yalnızca en son üç uyarı görüntülenir.
Uyarılar hakkında daha fazla bilgi edinmek için Performans sorunları için uyarı ayarlama bölümüne bakın.
Performance Monitoring, tanımlanmış eşikleri aşan metrikler için uyarıları destekler. Performans ölçümleri için bu yapılandırılabilir eşiklerle karışıklığı önlemek için, sorunlar için eşikleri yapılandırma özelliğini kaldırdık.
Sorunları giderme yönteminizi iyileştirmek için Ayrıntılar ve Metrikler sayfalarını yeniden tasarlanmış, merkezi bir kullanıcı arabirimi (UI) ile değiştirdik. Bu yeni sorun giderme kullanıcı arabirimi, Ayrıntılar ve Metriklerin sunduğu temel işlevlerin aynısını sunar. Sorun giderme hakkında daha fazla bilgi edinmek için Belirli bir iz için daha fazla veri görüntüleme konusuna bakın.
Performance Monitoring, uygulamanızın kullanıcı cihazlarından performans verilerini 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 olayların sayısını azaltmak için veri toplamayı bir cihaz alt kümesiyle sınırlayabilir. Bu sınırlar, daha az olayla bile ölçüm değerlerinin kullanıcınızın uygulama deneyimini temsil etmesi için yeterince yüksektir.
Topladığımız veri hacmini yönetmek için Performance Monitoring aşağıdaki örnekleme seçeneklerini kullanır:
Cihazda hız sınırlaması : Bir cihazın ani iz patlamaları göndermesini önlemek için, bir cihazdan gönderilen kod ve ağ isteği izlerinin sayısını her 10 dakikada bir 300 olayla sınırlıyoruz. Bu yaklaşım, cihazı büyük miktarlarda performans verisi gönderebilen döngülü enstrümantasyonlardan korur ve tek bir cihazın performans ölçümlerini çarpıtmasını önler.
Dinamik örnekleme : Performans İzleme, tüm uygulama kullanıcıları genelinde uygulama başına kod izlemeleri için yaklaşık 100 milyon olay ve ağ isteği izlemeleri için 100 milyon olay toplar. Rastgele bir cihazın izleri yakalayıp göndermeyeceğ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 olay göndermez. Dinamik örnekleme oranı uygulamaya özeldir ve toplanan verilerin toplam hacminin sınırın altında kalmasını sağlamak için ayarlanır.
Kullanıcı oturumları, bir kullanıcının cihazından ek, ayrıntılı veriler gönderir ve verileri yakalayıp göndermek için daha fazla kaynak gerektirir. Kullanıcı oturumlarının etkisini en aza indirmek için Performance Monitoring, 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 için Performance Monitoring, cihazlardan alınan bazı olayları bırakmak için sunucu tarafı örneklemeyi 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 kaymalarına neden olabilir:
- İzleme sayısı, bir kod parçasının yürütülme sayısından farklı olabilir.
- Kodda birbirine yakından bağlı izlerin her biri farklı sayıda örneğe sahip olabilir.
Sorunlar sekmesini, belirlediğiniz eşikler aşıldığında sizi otomatik olarak bilgilendiren Uyarılar ile değiştirdik. Artık bir eşiğin durumunu belirlemek için Firebase konsolunu manuel olarak kontrol etmeniz gerekmiyor. Uyarılar hakkında bilgi edinmek için bkz. Performans sorunları için uyarı ayarlama .
Firebase konsolunun Performans İzleme bölümünü, Gösterge Tablosu sekmesinin temel ölçümlerinizi ve tüm izlerinizi tek bir alanda gösterecek şekilde yeniden tasarladık. Yeniden tasarımın bir parçası olarak Cihazda ve Ağ sayfalarını kaldırdık.
Pano sekmesinin altındaki izlemeler tablosu, Cihazda ve Ağ sekmelerinde görüntülenen bilgilerin tümüne sahiptir, ancak izlemelerinizi belirli bir ölçüm için yüzde değişikliğine göre sıralama yeteneği dahil olmak üzere bazı ek özellikler içerir. Belirli bir ize ilişkin tüm metrikleri ve verileri görüntülemek için izler tablosunda iz adına tıklayın.
İzlerinizi, iz tablosunun aşağıdaki alt sekmelerinde 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, ön planda uygulama, arka planda uygulama izleri — Özel izler alt sekmesi
- Ekran işleme izleri — Ekran işleme alt sekmesi
- Sayfa yükleme izleri — Sayfa yükleme alt sekmesi
İz tablosu ve görüntüleme metrikleri ve verileri hakkında ayrıntılar için konsola genel bakış sayfasını ziyaret edin ( iOS+ | Android | Web ).
Yavaş işleme çerçeveleri ve donmuş çerçeveler, 60 Hz'lik varsayılan bir cihaz yenileme hızıyla hesaplanır. Bir cihazın yenileme hızı 60 Hz'den düşükse, saniyede daha az kare işlendiği için her kare daha yavaş bir işleme süresine sahip olacaktır. Daha yavaş işleme süreleri, daha fazla kare daha yavaş işleneceği veya donacağı için daha yavaş veya donmuş karelerin raporlanmasına neden olabilir. Ancak, bir cihazın yenileme hızı 60 Hz'den yüksekse, her kare daha hızlı bir işleme süresine sahip olacaktır. Bu, daha az yavaş veya donmuş çerçevenin raporlanmasına neden olabilir. Bu, Performance Monitoring SDK'daki geçerli bir sınırlamadır.
Firebase Performance Monitoring için BigQuery entegrasyonunu etkinleştirdiyseniz, verileriniz günün bitiminden 12 ila 24 saat sonra (Pasifik Saati) BigQuery'ye aktarılacaktır.
Örneğin, 19 Nisan'a ait veriler BigQuery'de 20 Nisan'da 12:00pm ile gece yarısı arasında kullanıma sunulacaktır (tüm tarihler ve saatler Pasifik Saatine göredir).
Near real-time data processing and display
Firebase Performance Monitoring processes collected performance data as it comes in, which results in near real-time data display in the Firebase console. Processed data displays in the console within a few minutes of its collection, hence the term "near real-time".
To take advantage of near real-time data processing, make sure your app uses a real-time compatible SDK version .
To take advantage of near real-time data processing, you only need to make sure that your app uses a Performance Monitoring SDK version that's compatible with real-time data processing.
These are the real-time compatible SDK versions:
- iOS — v7.3.0 or later
- tvOS — v8.9.0 or later
- Android — v19.0.10 or later (or Firebase Android BoM v26.1.0 or later)
- Web — v7.14.0 or later
Note that we always recommend using the latest version of SDK, but any version listed above will enable Performance Monitoring to process your data in near real time.
These are the SDK versions compatible with real-time data processing:
- iOS — v7.3.0 or later
- tvOS — v8.9.0 or later
- Android — v19.0.10 or later (or Firebase Android BoM v26.1.0 or later)
- Web — v7.14.0 or later
Note that we always recommend using the latest version of SDK, but any version listed above will enable Performance Monitoring to process your data in near real time.
If your app doesn't use a real-time compatible SDK version, you will still see all your app's performance data in the Firebase console. However, the display of performance data will be delayed by roughly 36 hours from the time of its collection.
Yes! Regardless of which SDK version an app instance uses, you'll see performance data from all your users.
However, if you're looking at recent data (less than roughly 36 hours old), then the displayed data is from users of app instances using a real-time compatible SDK version. The non-recent data, though, includes performance data from all versions of your app.
Contacting Firebase Support
If you reach out to Firebase Support , always include your Firebase App ID. Find your Firebase App ID in the Your apps card of your Project settings .