סוגי פעולות של מסד נתונים של Firebase בזמן אמת

פקודת הפרופיל של מסד הנתונים של 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
}