Firebase 即時資料庫作業類型

Firebase 即時資料庫分析器指令

如要針對即時資料庫執行個體中的作業產生速度和頻寬用量報表,請使用下列指令:

firebase database:profile
檢舉選項 說明
-h, --help 輸出內容的使用資訊。
-o, --output FILENAME 將輸出內容儲存至指定檔案。
-i, --input FILENAME 根據指定的檔案產生報表,而非從伺服器串流記錄。
-d, --duration SECONDS 針對指定的秒數收集資料庫用量資訊。
--raw 將收集的原始統計資料輸出為以換行符號分隔的 JSON。

作業類型

並行連線

這項作業會反映資料庫的即時連線 (例如,透過 SDK 連結的新用戶端)。並行連線作業不會反映符合 REST 樣式的連線。

{
    "name": "concurrent-connect",
    "timestamp": 1484776334900
}

並行-中斷連線

並行中斷會反映與資料庫中斷連線的連線 (例如用戶端中斷連線或登出時)。

{
    "name": "concurrent-disconnect",
    "timestamp": 1484776341844
}

realtime-write

從即時連線寫入要求。例如,網路用戶端的 set()push() 作業。刪除要求也會計為 realtime-write 作業,並反映 0 個位元組的寫入。

{
    "allowed": true, // If security rules allow the operation
    "bytes": 1,
    "millis": 2,
    "name": "realtime-write",
    "path": [
        "foo"
    ],
    "timestamp": 1484776538763
}

realtime-transaction

這項作業類型包含透過即時連線進行的交易,重複交易可能是嘗試失敗和重試的結果。

{
    "allowed": true,
    "bytes": 20,
    "millis": 2,
    "name": "realtime-transaction",
    "path": [
        "foo"
    ],
    "timestamp": 1484776854610
}

即時更新

這些更新即時作業會反映特定資料的過度更新,而非 realtime-write 中較籠統的寫入作業。

{
    "allowed": true,
    "bytes": 5,
    "millis": 2,
    "name": "realtime-update",
    "path": [
        "foo"
    ],
    "timestamp": 1484776538769
}

listener-listen

這些作業反映了從用戶端在特定位置取得資料的初始要求。例如網路用戶端的 on()once() 方法。

{
    "allowed": true,
    "bytes": 0,
    "millis": 26,
    "name": "listener-listen",
    "path": [
        "foo"
    ],
    "querySet": [],
    "timestamp": 1484776335024,
    "unIndexed": false
}

聽眾廣播

這項作業涵蓋伺服器於每次寫入和更新作業後,於特定位置監聽的任何用戶端資料。資料變更會導致廣播作業。但是,如果沒有任何用戶端監聽,您可能會看到 0 項更新。

{
    "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

這些作業反映了透過卸離方法遭到登出或停止監聽的監聽用戶端 (例如,off() 用於網頁,iOS 為 removeAllObservers)。

{
    "name": "listener-unlisten",
    "path": [
        "foo"
    ],
    "timestamp": 1484776335044
}

休息

GET 要求。

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

還原

PUTPOST 要求。DELETE 要求反映的 rest-write 作業為 0 個位元組。

{
    "allowed": true,
    "bytes": 13,
    "millis": 116,
    "name": "rest-write",
    "path": [],
    "timestamp": 1484775917216
}

休息交易

對於類似交易的行為,請使用條件式要求rest-transaction 作業會使用 Etagif-match 標頭擷取要求。

{
    "allowed": true,
    "bytes": 13,
    "millis": 116,
    "name": "rest-transaction",
    "path": [],
    "timestamp": 1484775917216
}

休息更新

透過 REST API 的更新會反映 PATCH 要求。

{
    "allowed": true,
    "bytes": 5,
    "millis": 11,
    "name": "rest-update",
    "path": [
        "baz",
        "mar"
    ],
    "timestamp": 1484775969930
}

on-disconnect-put

這些作業反映了為了寫入作業而新增的 onDisconnect 事件監聽器。例如使用 onDisconnect().setValue() 時。

{
    "allowed": true,
    "bytes": 4,
    "millis": 2,
    "name": "on-disconnect-put",
    "path": [
        "baz",
        "mar"
    ],
    "timestamp": 1484775969930
}

on-disconnect-update

這些作業反映了為了更新作業而新增的 onDisconnect 事件監聽器。例如使用 onDisconnect().updateChildren() 時。

{
    "allowed": true,
    "bytes": 4,
    "millis": 2,
    "name": "on-disconnect-update",
    "path": [
        "baz",
        "mar"
    ],
    "timestamp": 1484775969930
}

停用 - 取消連線

這些作業反映了移除 onConnection 事件監聽器的情形。 例如使用 onDisconnect().set().cancel() 時。

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

run-on-disconnect

這些作業會反映 onDisconnect 事件監聽器的觸發情形。如果即時用戶端在新增至少一個 onDisconnect 事件監聽器後中斷連線,分析器會記錄一項 run-on-disconnect 作業,反映所有觸發 onDisconnect 事件監聽器的匯總位元組和時間。

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