فرمان نمایهگر Firebase Realtime Database
برای تولید گزارش سرعت و استفاده از پهنای باند برای عملیات در نمونه Realtime Database، از فرمان زیر استفاده کنید:
firebase database:profile
| گزینههای پرچم | شرح |
|---|---|
-h, --help |
اطلاعات استفاده از برونداد. |
-o, --output FILENAME |
برونداد را در فایل مشخصشده ذخیره کنید. |
-i, --input FILENAME |
گزارش را براساس فایل مشخصشده بهجای گزارشهای جاریسازی از سرور تولید کنید. |
-d, --duration SECONDS |
اطلاعات استفاده از پایگاه داده را برای تعداد ثانیههای مشخصشده جمعآوری کنید. |
--raw |
آمار خام جمعآوریشده را بهصورت JSON محدودشده با خط جدید برونداد کنید. |
انواع عملیات
اتصال همزمان
این عملیات ارتباطات بیدرنگ با پایگاه داده را منعکس میکند (برای مثال، وقتی کارخواه جدیدی ازطریق کیت توسعه نرمافزار متصل میشود). اتصالات RESTful در عملیات اتصال همزمان منعکس نمیشوند.
{ "name": "concurrent-connect", "timestamp": 1484776334900 }
قطع اتصال همزمان
قطع اتصال همزمان نشاندهنده اتصالی است که از پایگاه داده قطع شده است (برای مثال، زمانی که یک کارخواه قطع اتصال میکند یا از سیستم خارج میشود).
{ "name": "concurrent-disconnect", "timestamp": 1484776341844 }
نوشتن همزمان
درخواستها را از اتصالات همزمان بنویسید. برای مثال، set() و push()
عملیات برای کارخواههای وب. درخواستهای حذف نیز بهعنوان realtime-write
عملیات شمارش میشوند و نشاندهنده نوشتن ۰ بایت هستند.
{ "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-update
این عملیاتهای همزمان برای بهروزرسانیها نشاندهنده بازنویسی دادههای خاص است، نه
عملیاتهای نوشتاری عمومیتر در 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 }
شنونده-همهفرستی
این عملکرد دادههای ارسالی از سرور به همه مشتریانی را که در مکان معینی پساز هر عملکرد نوشتن و بهروزرسانی گوش میدهند پوشش میدهد. تغییر در دادهها منجر به عملیات همهفرستی میشود. بااینحال، اگر هیچ کارخواهی درحال گوش دادن نباشد، ممکن است ۰ بهروزرسانی ببینید.
{ "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 }
استراحت-خواندن
GET درخواست ازطریق 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 }
نوشتن بقیه
PUT و
POST درخواستها ازطریق
REST API.
DELETE درخواست نشاندهنده
rest-write عملیات ۰ بایتی است.
{ "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 }
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 }
on-disconnect-cancel
این عملیاتها نشاندهنده برداشتن شنوندگان 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 }