Buka konsol

Jenis operasi Firebase Realtime Database

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 tanda 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

Concurrent-disconnects 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 sebesar 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 spesifik, bukan operasi tulis yang lebih umum pada 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 mengarah ke 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 pendeteksi yang sign off atau berhenti mendeteksi 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 operasi rest-write sebesar 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 menangkap 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 listener onDisconnect untuk menulis operasi. Misalnya, ketika 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 listener onDisconnect untuk memperbarui operasi. Misalnya, ketika 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 listener onDisconnect. Misalnya, ketika Anda menggunakan onDisconnect().set().cancel().

{
    "millis": 2,
    "name": "on-disconnect-cancel",
    "path": [
        "baz",
        "mar"
    ],
    "timestamp": 1484775969930
}

run-on-disconnect

Operasi ini mencerminkan pemicuan listener onDisconnect. Ketika klien realtime terputus setelah menambahkan setidaknya satu listener onDisconnect, profiler mencatat operasi run-on-disconnect tunggal untuk mencerminkan byte agregat dan waktu terpicunya semua listener onDisconnect.

{
    "bytes": 4,
    "millis": 2,
    "name": "run-on-disconnect",
    "timestamp": 1484775969930
}