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