فرمان پروفایلر Firebase Realtime Database
برای ایجاد گزارشی از میزان استفاده از سرعت و پهنای باند برای عملیات در نمونه Realtime Database خود، از دستور زیر استفاده کنید:
firebase database:profile
گزینه های پرچم | توضیحات |
---|---|
-h, --help | اطلاعات استفاده از خروجی |
-o, --output FILENAME | خروجی را در فایل مشخص شده ذخیره کنید. |
-i, --input FILENAME | گزارش را بر اساس فایل مشخص شده به جای گزارش جریان از سرور ایجاد کنید. |
-d, --duration SECONDS | اطلاعات استفاده از پایگاه داده را برای تعداد ثانیه مشخص شده جمع آوری کنید. |
--raw | آمارهای خام جمعآوریشده را بهعنوان JSON با خط جدید جدا شده، خروجی بگیرید. |
انواع عملیات
همزمان اتصال
این عملیات اتصالات بیدرنگ به پایگاه داده را منعکس می کند (به عنوان مثال، زمانی که یک کلاینت جدید از طریق یک SDK متصل می شود). اتصالات RESTful در عملیات اتصال همزمان منعکس نمی شوند.
{ "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 API 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 }
استراحت بنویس
درخواستهای PUT
و POST
از طریق REST 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 }
به روز رسانی قطع ارتباط
این عملیات منعکس کننده اضافه شدن شنوندگان onDisconnect
برای به روز رسانی عملیات است. به عنوان مثال، وقتی از onDisconnect().updateChildren()
استفاده می کنید.
{ "allowed": true, "bytes": 4, "millis": 2, "name": "on-disconnect-update", "path": [ "baz", "mar" ], "timestamp": 1484775969930 }
در قطع-لغو
این عملیات منعکس کننده حذف شنوندگان onDisconnect است. به عنوان مثال، وقتی از 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 }