Firebase Realtime Database 分析器指令
如要產生 Realtime Database 執行個體,請使用下列指令:
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 }
即時寫入
從即時連線寫入要求。例如 set()
和 push()
可以為網路用戶端執行多項作業刪除要求也會計為 realtime-write
並顯示 0 位元組的寫入次數。
{ "allowed": true, // If security rules allow the operation "bytes": 1, "millis": 2, "name": "realtime-write", "path": [ "foo" ], "timestamp": 1484776538763 }
即時交易
這個作業類型包含透過即時連線進行的交易。 重複交易可能是嘗試失敗並重試的結果。
{ "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 }
傾聽
這些作業反映出您最初針對特定位置提出的資料要求
用戶端。例如,網路用戶端的 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 }
聽者不聽
這些行動反映了監聽用戶端 (登出或停止監聽)
透過卸離方法 (例如,off()
代表網頁,removeAllObservers
iOS 版)。
{ "name": "listener-unlisten", "path": [ "foo" ], "timestamp": 1484776335044 }
休息讀取
透過 REST 傳送 GET
要求
也能使用 Google Cloud CLI 或
Compute Engine 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 }
靜態寫入
PUT
和
透過 REST 傳送 POST
要求
也能使用 Google Cloud CLI 或
Compute Engine API
DELETE
要求會反映
rest-write
作業數,共 0 個位元組。
{ "allowed": true, "bytes": 13, "millis": 116, "name": "rest-write", "path": [], "timestamp": 1484775917216 }
休息交易
如果是類似交易的行為,請使用
條件式要求。
rest-transaction
作業會使用 Etag
或 if-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 }
互連運算系統
這些作業反映了新增要寫入的 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 }
on-disconnect-cancel
這些作業反映了移除中斷連線事件監聽器。
例如使用 onDisconnect().set().cancel()
時。
{ "millis": 2, "name": "on-disconnect-cancel", "path": [ "baz", "mar" ], "timestamp": 1484775969930 }
透過中斷連結執行
這些作業會反映 onDisconnect
事件監聽器的觸發。
在新增至少一個 onDisconnect
後,即時用戶端中斷連線
事件監聽器就會記錄單一 run-on-disconnect
作業
反映所有 onDisconnect
事件監聽器的匯總位元組和時間
{ "bytes": 4, "millis": 2, "name": "run-on-disconnect", "timestamp": 1484775969930 }