Perintah profiler Firebase Realtime Database
Untuk membuat laporan tentang kecepatan dan penggunaan bandwidth untuk operasi di instance Realtime Database Anda, gunakan perintah berikut:
firebase database:profile
Opsi flag | Deskripsi |
---|---|
-h, --help |
Menampilkan informasi penggunaan. |
-o, --output FILENAME |
Menyimpan output ke file yang ditentukan. |
-i, --input FILENAME |
Menghasilkan laporan berdasarkan file yang ditentukan, bukan log streaming dari server. |
-d, --duration SECONDS |
Mengumpulkan informasi penggunaan database untuk jumlah detik yang ditentukan. |
--raw |
Menampilkan statistik mentah yang dikumpulkan sebagai JSON yang dibatasi baris baru. |
Jenis-jenis operasi
concurrent-connect
Operasi ini mencerminkan koneksi realtime ke database (misalnya, saat klien baru melakukan koneksi lewat SDK). Koneksi RESTful tidak tercermin dalam operasi concurrent-connect.
{ "name": "concurrent-connect", "timestamp": 1484776334900 }
concurrent-disconnect
Operasi concurrent-disconnect mencerminkan koneksi yang telah terputus dari database (misalnya, saat klien memutus koneksi atau melakukan sign off).
{ "name": "concurrent-disconnect", "timestamp": 1484776341844 }
realtime-write
Permintaan tulis dari koneksi realtime. Misalnya, operasi set()
dan push()
untuk klien web. Permintaan hapus juga dihitung sebagai operasi
realtime-write
, dan mencerminkan penulisan 0 byte.
{ "allowed": true, // If security rules allow the operation "bytes": 1, "millis": 2, "name": "realtime-write", "path": [ "foo" ], "timestamp": 1484776538763 }
realtime-transaction
Jenis operasi ini mencakup transaksi yang dilakukan melalui koneksi realtime. Transaksi berulang mungkin merupakan akibat dari usaha dan percobaan ulang yang gagal.
{ "allowed": true, "bytes": 20, "millis": 2, "name": "realtime-transaction", "path": [ "foo" ], "timestamp": 1484776854610 }
realtime-update
Operasi realtime untuk update ini mencerminkan penimpaan data tertentu, bukan operasi tulis
yang lebih umum di realtime-write
.
{ "allowed": true, "bytes": 5, "millis": 2, "name": "realtime-update", "path": [ "foo" ], "timestamp": 1484776538769 }
listener-listen
Operasi ini mencerminkan permintaan awal atas data di lokasi spesifik
dari klien. Misalnya, metode on()
atau once()
untuk klien web.
{ "allowed": true, "bytes": 0, "millis": 26, "name": "listener-listen", "path": [ "foo" ], "querySet": [], "timestamp": 1484776335024, "unIndexed": false }
listener-broadcast
Operasi ini mencakup data yang dikirim dari server ke setiap dan semua klien yang mendeteksi di lokasi tertentu setelah setiap operasi tulis dan update. Perubahan pada data akan mengakibatkan operasi broadcast. Namun, Anda mungkin melihat 0 update jika tidak ada klien yang mendeteksi.
{ "bytes": 56, // Total bytes sent across clients "clientsUpdated": 3, // This may be 0 if no clients are listening "millis": 17, "name": "listener-broadcast", "path": [ "baz", "mar" ], "timestamp": 1484775969928 }
listener-unlisten
Operasi ini mencerminkan klien pemroses yang sign off atau berhenti memproses melalui metode
pelepasan (misalnya, off()
untuk web, atau
removeAllObservers
untuk iOS).
{ "name": "listener-unlisten", "path": [ "foo" ], "timestamp": 1484776335044 }
rest-read
Permintaan GET
melalui REST API.
{ "allowed": true, "bytes": 348, // This would be 0 if the read data was null "millis": 26, "name": "rest-read", "path": [], "querySet": [ { "default": true, "endIndexValue": "[MAX_NAME]", "equality": false, "index": {}, "limit": null, "range": false, "simpleLimit": false, "startIndexValue": "[MIN_NAME]", "viewFrom": null } ], "timestamp": 1484775747416 }
rest-write
Permintaan PUT
dan POST
melalui REST API.
Permintaan DELETE
mencerminkan
rest-write
operasi 0 byte.
{ "allowed": true, "bytes": 13, "millis": 116, "name": "rest-write", "path": [], "timestamp": 1484775917216 }
rest-transaction
Untuk perilaku seperti transaksi, gunakan Permintaan bersyarat.
Operasi rest-transaction
merekam permintaan menggunakan header Etag
atau if-match
.
{ "allowed": true, "bytes": 13, "millis": 116, "name": "rest-transaction", "path": [], "timestamp": 1484775917216 }
rest-update
Update melalui REST API mencerminkan permintaan PATCH
.
{ "allowed": true, "bytes": 5, "millis": 11, "name": "rest-update", "path": [ "baz", "mar" ], "timestamp": 1484775969930 }
on-disconnect-put
Operasi ini mencerminkan penambahan pemroses onDisconnect
pada operasi
tulis. Misalnya, saat Anda menggunakan onDisconnect().setValue()
.
{ "allowed": true, "bytes": 4, "millis": 2, "name": "on-disconnect-put", "path": [ "baz", "mar" ], "timestamp": 1484775969930 }
on-disconnect-update
Operasi ini mencerminkan penambahan pemroses onDisconnect
pada operasi
update. Misalnya, saat Anda menggunakan onDisconnect().updateChildren()
.
{ "allowed": true, "bytes": 4, "millis": 2, "name": "on-disconnect-update", "path": [ "baz", "mar" ], "timestamp": 1484775969930 }
on-disconnect-cancel
Operasi ini mencerminkan penghapusan pemroses onDisconnect.
Misalnya, saat Anda menggunakan onDisconnect().set().cancel()
.
{ "millis": 2, "name": "on-disconnect-cancel", "path": [ "baz", "mar" ], "timestamp": 1484775969930 }
run-on-disconnect
Operasi ini mencerminkan pemicuan pemroses onDisconnect
.
Saat klien realtime terputus setelah menambahkan setidaknya satu pemroses
onDisconnect
, profiler mencatat satu operasi run-on-disconnect
untuk
mencerminkan byte dan waktu agregat semua pemroses onDisconnect
yang
dipicu.
{ "bytes": 4, "millis": 2, "name": "run-on-disconnect", "timestamp": 1484775969930 }