Bu sayfa, Performans İzlemeye başlamak veya Performans İzleme ö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
Performans İzleme SDK'sının performans olaylarını yakaladığından emin olmak için günlük mesajlarınızı kontrol edin.
Performans olayları için günlük mesajları nasıl görüntülenir?
Performans olayları için günlük mesajları nasıl görüntülenir?
Web uygulamanızı tarayıcıda yenileyin.
Herhangi bir hata mesajı için günlük mesajlarınızı kontrol edin.
Birkaç saniye sonra, tarayıcınızın geliştirici araçlarında
firebaselogging.googleapis.comyapılan ağ aramasını arayın. Bu ağ aramasının varlığı, tarayıcının Firebase'e performans verileri gönderdiğini gösterir.
Uygulamanız performans olaylarını günlüğe kaydedmiyorsa sorun giderme ipuçlarını gözden geçirin.
2. Firebase Durum Kontrol Panelini Kontrol Edin
Firebase veya Performance Monitoring için bilinen bir kesinti olması durumunda Firebase Status Dashboard'u kontrol edin.
Performans İzlemeye Başlarken
Performans İzleme'yi ( iOS+ | Android | Web ) kullanmaya başlıyorsanız, aşağıdaki sorun giderme ipuçları, Firebase'in SDK'yı algılamasını veya Firebase konsolunda ilk performans verilerinizi görüntülemesini içeren sorunlarda yardımcı olabilir.
Uygulamaya SDK eklendi, ancak konsol hala SDK eklediğini söylüyor
Firebase, uygulamanızdan etkinlik bilgileri (ör. uygulama etkileşimleri) aldığında, Performans İzleme 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 panosunda bir "SDK algılandı" mesajı görüntülenir. Ardından, 30 dakika içinde gösterge tablosu ilk işlenmiş verileri görüntüler.
Uygulamanıza SDK'nın en son sürümünü eklemenizin üzerinden 10 dakikadan fazla zaman geçtiyse ve hâlâ herhangi bir değişiklik görmüyorsanız, Performans İzleme'nin olayları günlüğe kaydettiğinden emin olmak için günlük mesajlarınızı kontrol edin . Gecikmeli bir SDK algılama mesajıyla ilgili sorunları gidermek için aşağıda açıklanan uygun sorun giderme adımlarını deneyin.
Uygulama olayları günlüğe kaydediyor: sorun giderme adımları
Uygulama olayları günlüğe kaydediyor: sorun giderme adımları
Hâlâ yerel olarak geliştiriyorsanız, veri toplama için daha fazla olay oluşturmayı deneyin:
Web uygulamanızı yerel bir ortamda sunun ve görüntüleyin.
Siteniz için alt sayfalar yükleyerek, uygulamanızla etkileşim kurarak ve/veya ağ isteklerini tetikleyerek etkinlikler oluşturun. Sayfa yüklendikten sonra tarayıcı sekmesini en az 10 saniye açık tuttuğunuzdan emin olun.
Firebase yapılandırma nesnenizin uygulamanıza doğru şekilde eklendiğinden ve nesneyi değiştirmediğinizden emin olun. Özellikle, aşağıdakileri kontrol edin:
- Yapılandırma nesnesindeki Firebase Web Uygulaması Kimliği (
appId), uygulamanız için doğrudur. Firebase Uygulama Kimliğinizi, Proje ayarlarındaki Uygulamalarınız kartında bulun.
Uygulamanızdaki yapılandırma nesnesiyle ilgili bir sorun varsa aşağıdakileri deneyin:
Şu anda uygulamanızda bulunan yapılandırma nesnesini silin.
Yeni bir yapılandırma nesnesi almak ve onu web uygulamanıza eklemek için bu talimatları izleyin.
- Yapılandırma nesnesindeki Firebase Web Uygulaması Kimliği (
SDK, olayları günlüğe kaydediyorsa ve her şey doğru ayarlanmış görünüyorsa, ancak yine de SDK algılama mesajını veya işlenmiş verileri görmüyorsanız (2 saat sonra), Firebase Destek ile iletişime geçin .
Uygulama, olayları günlüğe kaydetmiyor: sorun giderme adımları
Uygulama, olayları günlüğe kaydetmiyor: sorun giderme adımları
Performans İzleme SDK'sının uygulamanızda doğru şekilde başlatıldığından emin olun.
Performans İzleme SDK'sının aşağıdaki bayrak aracılığıyla devre dışı bırakılmadığından emin olun:
-
performance.instrumentationEnabled
-
Tarayıcı önbelleğe almanın devre dışı bırakıldığından emin olun, aksi takdirde tarayıcı yeni enstrümantasyon ayarlarını almayabilir.
Kapatın, ardından web sayfası sekmesini yeniden açın. Tekrar günlüğe kaydetmeyi kontrol edin.
Performans İzleme SDK'sını uygulamanıza yeni eklediyseniz, SDK'nın çalışmaya başlaması için uygulamanızı tamamen yeniden başlatmanız gerekebilir.
Uygulamanızda devre dışı bırakılmış hiçbir şey bulamazsanız Firebase Destek ile iletişime geçin .
Konsol, SDK'nın algılandığını söylüyor, ancak hiçbir veri görüntülenmiyor
Performans İzleme, 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 hâlâ veri görmüyorsanız, bilinen bir kesinti olması 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'yi kullanıyorsanız, aşağıdaki sorun giderme ipuçları, Performans İzleme özelliklerini ve araçlarını içeren genel sorunlarda yardımcı olabilir.
Uygulama, performans olaylarını günlüğe kaydetmiyor
Performans olayları 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 uygulamanızda doğru şekilde başlatıldığından emin olun.
Performans İzleme SDK'sının aşağıdaki bayrak aracılığıyla devre dışı bırakılmadığından emin olun:
-
performance.instrumentationEnabled
-
Tarayıcı önbelleğe almanın devre dışı bırakıldığından emin olun, aksi takdirde tarayıcı yeni enstrümantasyon ayarlarını almayabilir.
Kapatın, ardından web sayfası sekmesini yeniden açın. Tekrar günlüğe kaydetmeyi kontrol edin.
Performans İzleme SDK'sını uygulamanıza yeni eklediyseniz, SDK'nın çalışmaya başlaması için uygulamanızı tamamen yeniden başlatmanız gerekebilir.
Uygulamanızda devre dışı bırakılmış hiçbir şey bulamazsanız Firebase Destek ile iletişime geçin .
Performans panosunda ilk giriş gecikmesi verileri eksik
İlk giriş gecikmesi metriği için veri görmüyorsanız, aşağıdaki sorun giderme adımlarını deneyin:
Performans İzlemenin, bir kullanıcı sayfa yüklendikten sonraki ilk 5 saniye içinde web sayfasını tıkladığında yalnızca ilk giriş gecikmesi metriğini kaydettiğini unutmayın.
Uygulamanızı bu metriği ölçecek şekilde ayarladığınızdan emin olun. İlk giriş gecikme metriği manuel kurulum gerektirir. Spesifik olarak, bu ölçüm için çoklu doldurma kitaplığını eklemeniz gerekir. Kurulum talimatları için kitaplığın belgelerine bakın.
Performans İzleme'nin diğer web uygulaması ölçümlerini raporlaması için bu çoklu doldurma kitaplığının eklenmesi gerekmediğini unutmayın.
Performans panosunda özel izleme verileri eksik
Otomatik olarak toplanan izler için performans verilerini görüyor musunuz, ancak özel kod izleri için görmüyor musunuz? Aşağıdaki sorun giderme adımlarını deneyin:
Trace API aracılığıyla uygulanan özel kod izlemelerinin kurulumunu, özellikle aşağıdakileri kontrol edin:
- Özel kod izleri ve özel metrikler için adlar aşağıdaki gereksinimleri karşılamalıdır: Başında veya sonunda boşluk yok, baştaki alt çizgi (
_) karakteri yok ve maksimum uzunluk 32 karakterdir.
- Tüm izler başlatılmalı ve durdurulmalıdır. Başlatılmamış, durdurulmamış veya başlatılmadan önce durdurulmuş hiçbir izleme kaydedilmeyecektir.
record()yöntemini kullanıyorsanız, izlemenizi açıkça başlatmanız veya durdurmanız gerekmediğini unutmayın.
- Özel kod izleri ve özel metrikler için adlar aşağıdaki gereksinimleri karşılamalıdır: Başında veya sonunda boşluk yok, baştaki alt çizgi (
performance.dataCollectionEnabled
Bu bayrak, yalnızca özel kod izleri için veri toplanmasını kontrol eder (tüm veriler değil).
Performans İzleme'nin beklenen özel kod izlerini günlüğe kaydettiğinden emin olmak için günlük iletilerinizi kontrol edin .
Performans İzleme, olayları günlüğe kaydediyorsa ancak 24 saat sonra hiçbir veri görüntülenmiyorsa, Firebase Desteği ile iletişime geçin .
Performans panosunda ağ isteği verileri eksik
Ağ isteği verileriniz eksikse aşağıdakilere dikkat edin:
Performans İzleme, tarayıcı API'si tarafından raporlanan ağ istekleri için otomatik olarak ölçümler toplar. Bu raporlar başarısız ağ isteklerini içermez.
Kodunuzun davranışına ve kodunuz tarafından kullanılan ağ kitaplıklarına bağlı olarak, Performans İzleme yalnızca tamamlanan ağ isteklerini rapor edebilir. Bu, açık bırakılan HTTP/S bağlantılarının raporlanmayabileceği anlamına gelir.
Ağ isteği verileri beklendiği gibi toplanmıyor
Performans İzleme'nin ağ isteği verilerini URL kalıpları altında nasıl topladığı hakkında daha fazla bilgi edinin.
Ayrıca özel URL kalıplarını da deneyebilirsiniz!
SSS
Firebase konsolundaki Ayrıntılar ve Metrikler bilgilerine ne oldu?
Sorunları giderme yönteminizi iyileştirmek için Ayrıntılar ve Metrikler sayfalarını yeniden tasarlanmış, merkezileştirilmiş bir kullanıcı arabirimi (UI) ile değiştirdik. Bu yeni sorun giderme kullanıcı arabirimi, Ayrıntılar ve Metrikler'in sunduğu aynı temel işlevleri sunar. Sorun giderme hakkında daha fazla bilgi edinmek için bkz. Belirli bir iz için daha fazla veri görüntüleme .
Numune sayısı neden beklediğim gibi değil?
Performans İzleme, 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, Performans İzleme, işlenen olay sayısını azaltmak için veri toplamayı bir cihaz alt kümesiyle sınırlayabilir. Bu sınırlar, daha az olayda bile, metrik değerlerin kullanıcınızın uygulama deneyimini temsil etmesi için yeterince yüksektir.
Performans İzleme, topladığımız veri hacmini yönetmek için aşağıdaki örnekleme seçeneklerini kullanır:
Cihazda hız sınırlaması : Bir cihazın ani izleme 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ırlandırıyoruz. Bu yaklaşım, cihazı büyük miktarda 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 izleri için yaklaşık 100 milyon ve ağ isteği izleri için 100 milyon olay toplar. Rastgele bir cihazın izlemeleri yakalayıp göndermeyeceğini belirlemek için cihazlara (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 hızı uygulamaya özeldir ve toplanan verilerin genel 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, bu da verileri yakalamak ve göndermek için daha fazla kaynak gerektirir. Kullanıcı oturumlarının etkisini en aza indirmek için Performans İzleme, 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 Performans İzleme, cihazlardan alınan bazı olayları bırakmak için sunucu tarafı örneklemeyi kullanabilir. Bu tür bir sınırlama, ölçümlerimizin etkinliğini değiştirmese de, aşağıdakiler de dahil olmak üzere küçük kalıp kaymalarına neden olabilir:
- İzlerin sayısı, bir kod parçasının yürütülme sayısından farklı olabilir.
- Kodda yakından ilişkili izlerin her biri farklı sayıda örneğe sahip olabilir.
Konsoldaki Sorunlar sekmesine ne oldu?
Sorunlar sekmesini, belirlediğiniz eşikler aşıldığında sizi otomatik olarak bilgilendiren Uyarılar'ın tanıtımıyla değiştirdik. Bir eşiğin durumunu belirlemek için artık Firebase konsolunu manuel olarak kontrol etmenize gerek yok. Uyarılar hakkında bilgi edinmek için Performans sorunları için uyarıları ayarlama bölümüne bakın.
Konsoldaki Cihazda ve Ağ sekmelerine ne oldu? Bu sayfalardaki izleri nasıl görebilirim?
Firebase konsolunun Performans İzleme bölümünü yeniden tasarladık, böylece Pano sekmesi temel metriklerinizi ve tüm izlerinizi tek bir alanda gösterir. Yeniden tasarımın bir parçası olarak Cihazda ve Ağ sayfalarını kaldırdık.
Gösterge Tablosu sekmesinin altındaki izleme 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 de dahil olmak üzere bazı ek özellikler içerir. Belirli bir izleme için tüm metrikleri ve verileri görüntülemek için izleme tablosundaki izleme adını tıklayın.
İzlerinizi, izleme 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şlangıcı, ön planda uygulama, arka planda uygulama izleri — Özel izlemeler alt sekmesi
- Ekran işleme izleri — Ekran işleme alt sekmesi
- Sayfa yükleme izleri — Sayfa yükleme alt sekmesi
Konsoldaki sorunlar için eşik belirleme yeteneğine ne oldu?
Performans İzleme, tanımlanan eşikleri aşan ölçümler için uyarıları destekler. Performans metrikleri 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.tutucu145 l10n-yertutucu147 l10n-yer
Daha küçük, ad alanlı Performance Monitoring JS SDK'sını ("bağımsız" SDK) web uygulamama nasıl eklerim?
Performans İzleme, uygulamanızdaki tek Firebase ürünüyse, aşağıdakilerle ilgileniyorsanız bağımsız Performans İzleme SDK'sını (ve aşağıdaki önerilen başlık komut dosyasını) kullanabilirsiniz:
- ad alanlı bir kitaplık kullanma
- SDK paketinizin boyutunu küçültme
- sayfanız yüklenene kadar SDK'nın başlatılmasını geciktirmek
Uygulamanıza bağımsız Performance Monitoring SDK'sını dahil etmek ve başlatılmasını sayfanız yüklendikten sonraya ertelemek için:
- Dizin dosyanızın başlığına aşağıdaki komut dosyasını ekleyin.
- Uygulamanızın Firebase proje yapılandırma nesnesini eklediğinizden emin olun.
(function(sa,fbc){function load(f,c){var a=document.createElement('script'); a.async=1;a.src=f;var s=document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(a,s);}load(sa); window.addEventListener('load',function(){firebase.initializeApp(fbc).performance()}); })(performance_standalone, firebaseConfig);
nerede,
- performance_standalone
'https://www.gstatic.com/firebasejs/9.8.4/firebase-performance-standalone.js'
- firebaseConfig , uygulamanızın Firebase yapılandırma nesnesidir
Yukarıdaki komut dosyası, bağımsız SDK'yı eşzamansız olarak yükler ve ardından pencerenin
onload olayı tetiklendikten sonra Firebase'i başlatır. This tactic reduces the impact that the SDK could have on page load metrics since the browser has already reported its loading metrics when you initialize the SDK.
Learn about the standalone Performance Monitoring SDK and the header script
This standalone SDK is optimized for size; Gzipped, it's around 10kb. It has all the functionalities of Firebase Performance Monitoring along with a minimal set of the Firebase core SDK functionalities, as well.
Firebase Performance Monitoring uses
fetch and
Promise APIs which are not available on older browsers. The polyfills for these APIs are included in the standard Firebase Performance Monitoring JS SDK, but they are omitted from the standalone SDK to reduce size.
The Performance Monitoring SDK relies, in part, upon the Resource Timing API to obtain page load metrics from the browser.
The following snippet breaks down the header script that includes then delays initialization of the SDK:
(function(sdkSource, firebaseConfigObject) { function load(f, c) { // Creates a script tag to load the standalone SDK var sdkScript = document.createElement('script'); // Sets it to an async script so that it doesn't interfere with page load sdkScript.async = 1; // Sets the source of the script sdkScript.src = f; // Inserts the script into the head of the page var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(sdkScript, s); } // Calls the load method load(sdkSource); // Initializes the SDK only when the onload method is called window.addEventListener('load', function() { firebase.initializeApp(firebaseConfigObject).performance(); }); })(performance_standalone, firebaseConfig);
where,
- performance_standalone is
'https://www.gstatic.com/firebasejs/9.8.4/firebase-performance-standalone.js'
- firebaseConfig is your app's Firebase config object
Near real-time data processing and display
What does "near real-time" performance data mean?
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 .
How do I get near real-time performance data for my app?
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.
Which versions of the Performance Monitoring SDK are considered real-time compatible?
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.
What if I don't update my app to use a real-time compatible SDK version?
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.
I've updated to a real-time compatible SDK version, but some of my users are still on old versions of my app. Do I continue to see their performance data in the Firebase console?
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.