Halaman ini memberikan tips pemecahan masalah untuk memulai Performance Monitoring atau menggunakan fitur dan alat Performance Monitoring.
Pemeriksaan pertama untuk pemecahan masalah
Dua pemeriksaan berikut adalah praktik terbaik umum yang direkomendasikan untuk siapa pun sebelum pemecahan masalah lebih lanjut.
1. Periksa pesan log untuk peristiwa kinerja
Periksa pesan log Anda untuk memastikan bahwa Performance Monitoring SDK menangkap peristiwa kinerja.
Buka alat pengembang browser Anda (misalnya, tab Jaringan untuk Alat Pengembang Chrome atau di Monitor Jaringan untuk Firefox ).
Segarkan aplikasi web Anda di browser.
Periksa pesan log Anda untuk setiap pesan kesalahan.
Setelah beberapa detik, cari panggilan jaringan ke
firebaselogging.googleapis.com
di alat pengembang browser Anda. Adanya panggilan jaringan tersebut menunjukkan bahwa browser mengirimkan data performa ke Firebase.
Jika aplikasi Anda tidak mencatat peristiwa kinerja, tinjau tips pemecahan masalah .
2. Periksa Dasbor Status Firebase
Periksa Dasbor Status Firebase jika ada pemadaman yang diketahui untuk Firebase atau untuk Pemantauan Kinerja.
Memulai Pemantauan Kinerja
Jika Anda memulai dengan Performance Monitoring ( iOS+ | Android | Web ), tips pemecahan masalah berikut dapat membantu mengatasi masalah yang melibatkan Firebase yang mendeteksi SDK atau menampilkan data performa pertama Anda di Firebase console.
Firebase dapat mendeteksi jika Anda telah berhasil menambahkan Performance Monitoring SDK ke aplikasi Anda saat menerima informasi kejadian (seperti interaksi aplikasi) dari aplikasi Anda. Biasanya dalam 10 menit setelah memulai aplikasi Anda, dasbor Kinerja konsol Firebase menampilkan pesan "SDK terdeteksi". Kemudian, dalam waktu 30 menit, dashboard menampilkan data awal yang diproses.
Jika sudah lebih dari 10 menit sejak Anda menambahkan versi terbaru SDK ke aplikasi, dan Anda masih belum melihat perubahan apa pun, periksa pesan log Anda untuk memastikan bahwa Performance Monitoring mencatat peristiwa. Coba langkah pemecahan masalah yang tepat seperti yang dijelaskan di bawah ini untuk memecahkan masalah pesan deteksi SDK yang tertunda.
Jika Anda masih mengembangkan secara lokal, coba buat lebih banyak peristiwa untuk pengumpulan data:
Sajikan dan lihat aplikasi web Anda di lingkungan lokal.
Hasilkan peristiwa dengan memuat subhalaman untuk situs Anda, berinteraksi dengan aplikasi Anda, dan/atau memicu permintaan jaringan. Pastikan tab browser tetap terbuka setidaknya selama 10 detik setelah halaman dimuat.
Pastikan objek konfigurasi Firebase ditambahkan dengan benar ke aplikasi Anda dan Anda belum memodifikasi objek tersebut. Khususnya, periksa hal berikut:
- ID Aplikasi Web Firebase (
appId
) di objek config sudah benar untuk aplikasi Anda. Temukan ID Aplikasi Firebase Anda di kartu aplikasi Anda dari pengaturan Anda proyek .
Jika ada yang salah dengan objek konfigurasi di aplikasi Anda, coba yang berikut ini:
Hapus objek konfigurasi yang saat ini Anda miliki di aplikasi Anda.
Ikuti petunjuk ini untuk mendapatkan objek konfigurasi baru dan menambahkannya ke aplikasi web Anda.
- ID Aplikasi Web Firebase (
Jika SDK mencatat peristiwa dan semuanya tampaknya telah disiapkan dengan benar, tetapi Anda masih belum melihat pesan deteksi SDK atau data yang diproses (setelah 2 jam), hubungi Dukungan Firebase .
Pastikan Performance Monitoring SDK diinisialisasi dengan benar di aplikasi Anda.
Pastikan Performance Monitoring SDK tidak dinonaktifkan melalui tanda berikut:
-
performance.instrumentationEnabled
-
Pastikan caching browser Anda dinonaktifkan, jika tidak, browser mungkin tidak mengambil setelan instrumentasi baru.
Tutup, lalu buka kembali tab halaman web. Periksa log lagi.
Jika Anda baru saja menambahkan Performance Monitoring SDK di aplikasi, Anda mungkin perlu memulai ulang aplikasi sepenuhnya agar SDK dapat mulai berfungsi.
Jika Anda tidak dapat menemukan apa pun yang dinonaktifkan di aplikasi Anda, hubungi Dukungan Firebase .
Pemantauan Kinerja memproses data peristiwa kinerja sebelum menampilkannya di dasbor Kinerja .
Jika sudah lebih dari 24 jam sejak pesan "SDK terdeteksi" muncul , dan Anda masih belum melihat data, periksa Dasbor Status Firebase untuk mengetahui apakah ada gangguan yang diketahui. Jika tidak ada gangguan, hubungi Dukungan Firebase .
Pemecahan masalah umum
Jika Anda telah berhasil menambahkan SDK dan menggunakan Performance Monitoring di aplikasi Anda, tips pemecahan masalah berikut dapat membantu mengatasi masalah umum yang melibatkan fitur dan alat Performance Monitoring.
Jika Anda tidak melihat pesan log untuk peristiwa kinerja , coba langkah pemecahan masalah berikut:
Pastikan Performance Monitoring SDK diinisialisasi dengan benar di aplikasi Anda.
Pastikan Performance Monitoring SDK tidak dinonaktifkan melalui tanda berikut:
-
performance.instrumentationEnabled
-
Pastikan caching browser Anda dinonaktifkan, jika tidak, browser mungkin tidak mengambil setelan instrumentasi baru.
Tutup, lalu buka kembali tab halaman web. Periksa log lagi.
Jika Anda baru saja menambahkan Performance Monitoring SDK di aplikasi, Anda mungkin perlu memulai ulang aplikasi sepenuhnya agar SDK dapat mulai berfungsi.
Jika Anda tidak dapat menemukan apa pun yang dinonaktifkan di aplikasi Anda, hubungi Dukungan Firebase .
Jika Anda tidak melihat data untuk metrik penundaan input pertama , coba langkah pemecahan masalah berikut:
Ketahuilah bahwa Performance Monitoring hanya merekam metrik penundaan input pertama saat pengguna mengklik halaman web dalam 5 detik pertama setelah pemuatan halaman.
Pastikan Anda telah menyiapkan aplikasi untuk mengukur metrik ini. Metrik penundaan input pertama memerlukan penyiapan manual . Khususnya, Anda perlu menambahkan pustaka polyfill untuk metrik ini. Untuk petunjuk penginstalan, lihat dokumentasi perpustakaan .
Perhatikan bahwa penambahan pustaka polyfill ini tidak diperlukan untuk Performance Monitoring untuk melaporkan metrik aplikasi web lainnya.
Apakah Anda melihat data performa untuk pelacakan yang dikumpulkan secara otomatis, tetapi tidak untuk pelacakan kode kustom ? Coba langkah pemecahan masalah berikut:
Periksa penyiapan trace kode kustom yang diinstrumentasikan melalui Trace API , terutama yang berikut ini:
- Nama untuk trace kode kustom dan metrik kustom harus memenuhi persyaratan berikut: tidak ada spasi kosong di depan atau di belakang, tidak ada karakter garis bawah (
_
) di depan, dan panjang maksimal adalah 32 karakter. - Semua jejak harus dimulai dan dihentikan. Jejak apa pun yang tidak dimulai, tidak dihentikan, atau dihentikan sebelum dimulai tidak akan dicatat.
Perhatikan bahwa jika Anda menggunakan metode
record()
, Anda tidak perlu memulai atau menghentikan pelacakan secara eksplisit.- Nama untuk trace kode kustom dan metrik kustom harus memenuhi persyaratan berikut: tidak ada spasi kosong di depan atau di belakang, tidak ada karakter garis bawah (
Pastikan pengumpulan data Performance Monitoring tidak dinonaktifkan melalui tanda berikut:
performance.dataCollectionEnabled
Bendera ini mengontrol pengumpulan data untuk pelacakan kode kustom saja (tidak semua data).
Periksa pesan log Anda untuk memastikan bahwa Performance Monitoring mencatat pelacakan kode khusus yang diharapkan.
Jika Performance Monitoring mencatat peristiwa, tetapi tidak ada data yang ditampilkan setelah 24 jam, hubungi Dukungan Firebase .
Jika Anda kehilangan data permintaan jaringan, perhatikan hal berikut:
Performance Monitoring secara otomatis mengumpulkan metrik untuk permintaan jaringan yang dilaporkan oleh API browser. Laporan ini tidak menyertakan permintaan jaringan yang gagal.
Bergantung pada perilaku kode Anda dan pustaka jaringan yang digunakan oleh kode Anda, Pemantauan Kinerja mungkin hanya melaporkan permintaan jaringan yang diselesaikan. Ini berarti koneksi HTTP/S yang dibiarkan terbuka mungkin tidak dilaporkan.
Pelajari lebih lanjut cara Performance Monitoring menggabungkan data permintaan jaringan berdasarkan pola URL.
Anda juga dapat mencoba pola URL ubahsuaian !
FAQ
Kami mengganti Masalah Teratas dengan Lansiran Terbaru sebagai tindak lanjut pengenalan lansiran kami baru-baru ini, yang secara otomatis memberi tahu Anda saat ambang batas yang Anda tetapkan terlampaui. Masalah sekarang sudah tidak digunakan lagi dan diganti dengan peringatan.
Pemilih aplikasi di bagian atas kartu Performa memfilter entri lansiran di bawah Lansiran Terbaru . Hanya tiga lansiran terbaru untuk aplikasi yang dipilih yang ditampilkan.
Untuk mempelajari lebih lanjut tentang lansiran, lihat Menyiapkan lansiran untuk masalah kinerja .
Performance Monitoring mendukung peringatan untuk metrik yang melebihi ambang batas yang ditentukan. Untuk menghindari kebingungan dengan ambang yang dapat dikonfigurasi untuk metrik kinerja ini, kami menghapus kemampuan untuk mengonfigurasi ambang untuk masalah .
Kami mengganti halaman Detail dan Metrik dengan antarmuka pengguna (UI) terpusat yang baru didesain ulang untuk menyempurnakan cara Anda memecahkan masalah. UI pemecahan masalah baru ini menawarkan fungsionalitas inti yang sama dengan yang ditawarkan Detail dan Metrik. Untuk mempelajari lebih lanjut tentang pemecahan masalah, lihat Melihat lebih banyak data untuk jejak tertentu .
Performance Monitoring mengumpulkan data performa dari perangkat pengguna aplikasi Anda. Jika aplikasi Anda memiliki banyak pengguna atau jika aplikasi menghasilkan aktivitas performa dalam jumlah besar, Performance Monitoring mungkin membatasi pengumpulan data ke subkumpulan perangkat untuk mengurangi jumlah peristiwa yang diproses. Batasan ini cukup tinggi sehingga, meski dengan peristiwa yang lebih sedikit, nilai metrik tetap mewakili pengalaman aplikasi pengguna Anda.
Untuk mengelola volume data yang kami kumpulkan, Performance Monitoring menggunakan opsi pengambilan sampel berikut:
Pembatasan kecepatan di perangkat : Untuk mencegah perangkat mengirim semburan pelacakan secara tiba-tiba, kami membatasi jumlah kode dan pelacakan permintaan jaringan yang dikirim dari perangkat ke 300 kejadian setiap 10 menit. Pendekatan ini melindungi perangkat dari instrumentasi loop yang dapat mengirim data kinerja dalam jumlah besar, dan mencegah satu perangkat mengubah pengukuran kinerja.
Pengambilan sampel dinamis : Performance Monitoring mengumpulkan sekitar 100 juta peristiwa untuk pelacakan kode dan 100 juta untuk pelacakan permintaan jaringan per aplikasi di semua pengguna aplikasi. Laju pengambilan sampel dinamis diambil di perangkat (menggunakan Firebase Remote Config) untuk menentukan apakah perangkat acak harus menangkap dan mengirim pelacakan. Perangkat yang tidak dipilih untuk pengambilan sampel tidak mengirimkan peristiwa apa pun. Tingkat pengambilan sampel dinamis khusus untuk aplikasi dan disesuaikan untuk memastikan bahwa keseluruhan volume data yang dikumpulkan tetap di bawah batas.
Sesi pengguna mengirimkan data tambahan yang mendetail dari perangkat pengguna, yang membutuhkan lebih banyak sumber daya untuk mengambil dan mengirim data. Untuk meminimalkan dampak sesi pengguna, Performance Monitoring mungkin juga membatasi jumlah sesi.
Pembatasan kecepatan sisi server : Untuk memastikan bahwa aplikasi tidak melebihi batas pengambilan sampel, Performance Monitoring mungkin menggunakan pengambilan sampel sisi server untuk membatalkan beberapa peristiwa yang diterima dari perangkat. Meskipun jenis pembatasan ini tidak mengubah keefektifan metrik kami, hal ini dapat menyebabkan perubahan pola kecil, termasuk yang berikut:
- Jumlah jejak dapat berbeda dari berapa kali potongan kode dieksekusi.
- Jejak yang digabungkan erat dalam kode masing-masing dapat memiliki jumlah sampel yang berbeda.
Kami mengganti tab Masalah dengan pengenalan Lansiran, yang secara otomatis memberi tahu Anda saat ambang batas yang Anda tetapkan terlampaui. Anda tidak perlu lagi memeriksa konsol Firebase secara manual untuk menentukan status ambang batas. Untuk mempelajari tentang Lansiran, lihat Menyiapkan lansiran untuk masalah kinerja .
Kami telah mendesain ulang bagian Performance Monitoring dari Firebase console sehingga tab Dasbor menampilkan metrik kunci dan semua jejak Anda dalam satu ruang. Sebagai bagian dari desain ulang, kami menghapus laman Di perangkat dan Jaringan .
Tabel pelacakan di bagian bawah tab Dasbor memiliki semua informasi yang sama dengan yang ditampilkan tab Pada perangkat dan Jaringan , tetapi dengan beberapa fitur tambahan, termasuk kemampuan untuk mengurutkan pelacakan Anda berdasarkan perubahan persentase untuk metrik tertentu. Untuk melihat semua metrik dan data pelacakan tertentu, klik nama pelacakan di tabel pelacakan.
Lihat pelacakan Anda di subtab tabel pelacakan berikut:
- Jejak permintaan jaringan (siap pakai dan khusus) — subtab Permintaan jaringan
- Pelacakan kode khusus — Subtab Pelacakan khusus
- Pelacakan aplikasi mulai, aplikasi di latar depan, aplikasi di latar belakang — subtab Pelacakan khusus
- Jejak rendering layar — Subtab rendering layar
- Pelacakan pemuatan halaman — Subtab pemuatan halaman
Untuk detail tentang tabel pelacakan serta melihat metrik dan data, kunjungi halaman ikhtisar konsol ( iOS+ | Android | Web ).
Frame rendering lambat dan frame beku dihitung dengan asumsi kecepatan refresh perangkat 60Hz. Jika kecepatan refresh perangkat lebih rendah dari 60Hz, setiap frame akan memiliki waktu rendering yang lebih lambat karena lebih sedikit frame yang dirender per detik. Waktu rendering yang lebih lambat dapat menyebabkan frame yang lebih lambat atau beku dilaporkan karena lebih banyak frame akan dirender lebih lambat atau akan dibekukan. Namun, jika kecepatan refresh perangkat lebih tinggi dari 60Hz, setiap frame akan memiliki waktu rendering yang lebih cepat. Ini dapat menyebabkan lebih sedikit frame lambat atau beku yang dilaporkan. Ini adalah batasan saat ini di Performance Monitoring SDK.
If Performance Monitoring is the only Firebase product in your app, you can use the standalone Performance Monitoring SDK (and the recommended header script below) if you're interested in:
- using a namespaced library
- reducing your SDK package size
- delaying initialization of the SDK until after your page loads
To include the standalone Performance Monitoring SDK in your app and delay its initialization to after your page loads:
- Add the following script to the header of your index file.
- Make sure to add your app's Firebase project configuration object .
(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);
where,
- performance_standalone is
'https://www.gstatic.com/firebasejs/9.15.0/firebase-performance-standalone.js'
- firebaseConfig is your app's Firebase config object
The above script asynchronously loads the standalone SDK then initializes Firebase after the window's onload
event fires. 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.
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 .