Lệnh của trình phân tích cơ sở dữ liệu theo thời gian thực Firebase
Để tạo báo cáo về tốc độ và mức sử dụng băng thông cho các thao tác trong thực thể Cơ sở dữ liệu theo thời gian thực, hãy dùng lệnh sau:
firebase database:profile
Tùy chọn gắn cờ | Mô tả |
---|---|
-h, --help |
Thông tin về mức sử dụng đầu ra. |
-o, --output FILENAME |
Lưu kết quả vào tệp được chỉ định. |
-i, --input FILENAME |
Tạo báo cáo dựa trên tệp được chỉ định thay vì nhật ký luồng từ máy chủ. |
-d, --duration SECONDS |
Thu thập thông tin về việc sử dụng cơ sở dữ liệu cho số giây đã chỉ định. |
--raw |
Xuất số liệu thống kê thô được thu thập dưới dạng JSON được phân tách bằng dòng mới. |
Loại thao tác
kết nối đồng thời
Thao tác này phản ánh các kết nối theo thời gian thực đến cơ sở dữ liệu (ví dụ: khi một ứng dụng mới kết nối qua một SDK). Kết nối RESTful không được phản ánh trong các hoạt động kết nối đồng thời.
{ "name": "concurrent-connect", "timestamp": 1484776334900 }
ngắt kết nối đồng thời
Ngắt kết nối đồng thời phản ánh một kết nối đã bị ngắt kết nối khỏi cơ sở dữ liệu (ví dụ: khi ứng dụng ngắt kết nối hoặc đăng xuất).
{ "name": "concurrent-disconnect", "timestamp": 1484776341844 }
ghi theo thời gian thực
Ghi yêu cầu từ các kết nối theo thời gian thực. Ví dụ: thao tác set()
và push()
cho ứng dụng web. Các yêu cầu xoá cũng được tính là thao tác realtime-write
và phản ánh số lượt ghi là 0 byte.
{ "allowed": true, // If security rules allow the operation "bytes": 1, "millis": 2, "name": "realtime-write", "path": [ "foo" ], "timestamp": 1484776538763 }
giao dịch theo thời gian thực
Loại hoạt động này bao gồm các giao dịch được thực hiện thông qua kết nối theo thời gian thực. Các giao dịch lặp lại có thể là kết quả của các lần thử và thử lại không thành công.
{ "allowed": true, "bytes": 20, "millis": 2, "name": "realtime-transaction", "path": [ "foo" ], "timestamp": 1484776854610 }
cập nhật theo thời gian thực
Các thao tác theo thời gian thực này để cập nhật phản ánh quá nhiều dữ liệu cụ thể, chứ không phải các thao tác ghi chung chung hơn trong realtime-write
.
{ "allowed": true, "bytes": 5, "millis": 2, "name": "realtime-update", "path": [ "foo" ], "timestamp": 1484776538769 }
thính- nghe
Các thao tác này phản ánh yêu cầu ban đầu về dữ liệu ở một vị trí cụ thể của ứng dụng. Ví dụ: phương thức on()
hoặc once()
cho các ứng dụng web.
{ "allowed": true, "bytes": 0, "millis": 26, "name": "listener-listen", "path": [ "foo" ], "querySet": [], "timestamp": 1484776335024, "unIndexed": false }
thông báo về trình nghe
Thao tác này bao gồm dữ liệu được gửi từ máy chủ đến mọi ứng dụng khách đang theo dõi tại một vị trí nhất định sau mỗi thao tác ghi và cập nhật. Việc thay đổi dữ liệu sẽ dẫn đến một thao tác truyền tin. Tuy nhiên, bạn có thể thấy 0 nội dung cập nhật nếu không có ứng dụng nào đang nghe.
{ "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 }
không nghe-nghe
Các thao tác này phản ánh các ứng dụng lắng nghe đăng xuất hoặc ngừng nghe thông qua các phương thức tách (ví dụ: off()
đối với web hoặc removeAllObservers
đối với iOS).
{ "name": "listener-unlisten", "path": [ "foo" ], "timestamp": 1484776335044 }
đọc khi nghỉ ngơi
Các yêu cầu GET
thông qua API REST.
{ "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 }
ghi-ghi-thời gian
Các yêu cầu PUT
và POST
thông qua API REST.
Các yêu cầu DELETE
phản ánh các toán tử rest-write
có kích thước 0 byte.
{ "allowed": true, "bytes": 13, "millis": 116, "name": "rest-write", "path": [], "timestamp": 1484775917216 }
thời gian còn lại
Đối với hành vi giống như giao dịch, hãy sử dụng Yêu cầu có điều kiện.
Thao tác rest-transaction
sẽ ghi lại các yêu cầu bằng cách sử dụng tiêu đề Etag
hoặc if-match
.
{ "allowed": true, "bytes": 13, "millis": 116, "name": "rest-transaction", "path": [], "timestamp": 1484775917216 }
thông tin cập nhật về thời gian nghỉ ngơi
Các bản cập nhật thông qua API REST phản ánh các yêu cầu PATCH
.
{ "allowed": true, "bytes": 5, "millis": 11, "name": "rest-update", "path": [ "baz", "mar" ], "timestamp": 1484775969930 }
khi-ngắt kết nối-đặt
Các thao tác này phản ánh việc thêm trình nghe onDisconnect
để ghi các thao tác. Ví dụ: khi bạn sử dụng onDisconnect().setValue()
.
{ "allowed": true, "bytes": 4, "millis": 2, "name": "on-disconnect-put", "path": [ "baz", "mar" ], "timestamp": 1484775969930 }
cập nhật khi ngắt kết nối
Các thao tác này phản ánh việc thêm trình nghe onDisconnect
để cập nhật các thao tác. Ví dụ: khi bạn sử dụng onDisconnect().updateChildren()
.
{ "allowed": true, "bytes": 4, "millis": 2, "name": "on-disconnect-update", "path": [ "baz", "mar" ], "timestamp": 1484775969930 }
khi ngắt kết nối-huỷ
Các thao tác này phản ánh việc loại bỏ trình nghe onNgắt kết nối.
Ví dụ: khi bạn sử dụng onDisconnect().set().cancel()
.
{ "millis": 2, "name": "on-disconnect-cancel", "path": [ "baz", "mar" ], "timestamp": 1484775969930 }
ngắt kết nối khi chạy
Các thao tác này phản ánh việc kích hoạt trình nghe onDisconnect
.
Khi một ứng dụng theo thời gian thực ngắt kết nối sau khi thêm ít nhất một trình nghe onDisconnect
, trình phân tích tài nguyên sẽ ghi lại một thao tác run-on-disconnect
duy nhất để phản ánh các byte và thời gian tổng hợp của tất cả trình nghe onDisconnect
được kích hoạt.
{ "bytes": 4, "millis": 2, "name": "run-on-disconnect", "timestamp": 1484775969930 }