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

فرمان پروفایلر Firebase Realtime Database

برای ایجاد گزارشی از میزان استفاده از سرعت و پهنای باند برای عملیات در نمونه 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
}

استراحت بخوانید

درخواست ها را از طریق 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
}