פקודת הפרופיל של מסד הנתונים של Firebase בזמן אמת
כדי להפיק דוח על השימוש במהירות וברוחב הפס עבור פעולות במופע 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 }
לנוח לקרוא
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
של 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 }