أمر ملف شخصي واحد (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 }
البث المستمع
تغطي هذه العملية البيانات المرسلة من الخادم إلى أي وجميع العملاء الذين يستمعون في موقع معين بعد كل عملية كتابة وتحديث. تشير رسالة الأشكال البيانية التغيير في البيانات إلى عملية بث. ومع ذلك، قد لا تظهر لك أي تعديلات. إذا لم يكن هناك أي عملاء يستمعون.
{ "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
واجهة برمجة التطبيقات.
{ "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
واجهة برمجة التطبيقات.
ظهور 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().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 }