انواع عملیات پایگاه داده بیدرنگ Firebase

فرمان پروفایلر پایگاه داده بیدرنگ Firebase

برای ایجاد گزارشی از میزان استفاده از سرعت و پهنای باند برای عملیات در نمونه پایگاه داده Realtime خود، از دستور زیر استفاده کنید:

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
}