Firebase Realtime Database işlem türleri

Firebase Realtime Database profil aracı komutu

Realtime Database örneğinizdeki işlemlerde hız ve bant genişliği kullanımıyla ilgili bir rapor oluşturmak için aşağıdaki komutu kullanın:

firebase database:profile
İşaretleme seçenekleri Açıklama
-h, --help Çıkış kullanım bilgileri.
-o, --output FILENAME Çıkışı belirtilen dosyaya kaydedin.
-i, --input FILENAME Raporu, sunucudan akış günlükleri yerine belirtilen dosyaya göre oluşturun.
-d, --duration SECONDS Belirtilen saniye sayısı için veritabanı kullanım bilgilerini toplayın.
--raw Toplanan ham istatistikleri, yeni satırla sınırlandırılmış JSON biçiminde çıkarın.

İşlem türleri

eşzamanlı bağlantı

Bu işlem, veritabanına gerçek zamanlı bağlantıları yansıtır (örneğin, yeni bir istemci SDK aracılığıyla bağlandığında). RESTful bağlantılar, eşzamanlı bağlantı işlemlerine yansıtılmaz.

{
    "name": "concurrent-connect",
    "timestamp": 1484776334900
}

eşzamanlı bağlantıyı kesme

Eş zamanlı bağlantı kesme işlemleri, veritabanıyla bağlantısı kesilen bir bağlantıyı (örneğin, bir istemcinin bağlantısının kesilmesi veya kapanması) yansıtır.

{
    "name": "concurrent-disconnect",
    "timestamp": 1484776341844
}

realtime-write

Gerçek zamanlı bağlantılardan gelen yazma istekleri. Örneğin, web istemcileri için set() ve push() işlemleri. Silme istekleri de realtime-write işlemi olarak sayılır ve 0 baytlık yazma işlemlerini yansıtır.

{
    "allowed": true, // If security rules allow the operation
    "bytes": 1,
    "millis": 2,
    "name": "realtime-write",
    "path": [
        "foo"
    ],
    "timestamp": 1484776538763
}

realtime-transaction

Bu işlem türü, gerçek zamanlı bağlantılar üzerinden yapılan işlemleri içerir. Tekrarlanan işlemler, başarısız girişimler ve yeniden denemelerden kaynaklanabilir.

{
    "allowed": true,
    "bytes": 20,
    "millis": 2,
    "name": "realtime-transaction",
    "path": [
        "foo"
    ],
    "timestamp": 1484776854610
}

gerçek zamanlı-güncelleme

Güncellemeler için bu gerçek zamanlı işlemler, realtime-write içindeki daha genel yazma işlemlerini değil, belirli verilerin geçersiz kılmalarını yansıtır.

{
    "allowed": true,
    "bytes": 5,
    "millis": 2,
    "name": "realtime-update",
    "path": [
        "foo"
    ],
    "timestamp": 1484776538769
}

listener-listen

Bu işlemler, bir istemciden belirli bir konumdaki ilk veri isteğini yansıtır. Örneğin, web istemcileri için on() veya once() yöntemleri.

{
    "allowed": true,
    "bytes": 0,
    "millis": 26,
    "name": "listener-listen",
    "path": [
        "foo"
    ],
    "querySet": [],
    "timestamp": 1484776335024,
    "unIndexed": false
}

dinleyici-yayını

Bu işlem, her yazma ve güncelleme işleminin ardından sunucudan, belirli bir konumda dinleme yapan herhangi bir istemciye veya tüm istemcilere gönderilen verileri kapsar. Verilerde yapılan değişiklik, bir yayın işlemine yol açar. Ancak dinleyen herhangi bir istemci yoksa 0 güncelleme görebilirsiniz.

{
    "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
}

listener-unlisten

Bu işlemler, ayırma yöntemleriyle dinlemeyi kapatan veya durduran dinleme istemcilerini yansıtır (örneğin, web için off() veya iOS için removeAllObservers).

{
    "name": "listener-unlisten",
    "path": [
        "foo"
    ],
    "timestamp": 1484776335044
}

kalan okuma

REST API aracılığıyla GET istekleri.

{
    "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
}

dinlenme-yazma

REST API aracılığıyla PUT ve POST istekleri. DELETE istekleri 0 baytlık rest-write işlemini yansıtır.

{
    "allowed": true,
    "bytes": 13,
    "millis": 116,
    "name": "rest-write",
    "path": [],
    "timestamp": 1484775917216
}

geri kalan işlem

İşlem benzeri davranışlar için koşullu İstekler'i kullanın. rest-transaction işlemi, Etag veya if-match üst bilgilerini kullanan istekleri yakalar.

{
    "allowed": true,
    "bytes": 13,
    "millis": 116,
    "name": "rest-transaction",
    "path": [],
    "timestamp": 1484775917216
}

geri-güncelleme

REST API üzerinden yapılan güncellemeler, PATCH isteklerini yansıtır.

{
    "allowed": true,
    "bytes": 5,
    "millis": 11,
    "name": "rest-update",
    "path": [
        "baz",
        "mar"
    ],
    "timestamp": 1484775969930
}

on-disconnect-put

Bu işlemler, yazma işlemleri için eklenen onDisconnect işleyicileri yansıtır. Örneğin, onDisconnect().setValue() kullandığınızda.

{
    "allowed": true,
    "bytes": 4,
    "millis": 2,
    "name": "on-disconnect-put",
    "path": [
        "baz",
        "mar"
    ],
    "timestamp": 1484775969930
}

on-disconnect-update

Bu işlemler, güncelleme işlemleri için onDisconnect işleyicilerin eklendiğini yansıtır. Örneğin, onDisconnect().updateChildren() kullandığınızda.

{
    "allowed": true,
    "bytes": 4,
    "millis": 2,
    "name": "on-disconnect-update",
    "path": [
        "baz",
        "mar"
    ],
    "timestamp": 1484775969930
}

bağlantıyı-kesin-iptal et

Bu işlemler, onConnection işleyicilerinin kaldırıldığını gösterir. Örneğin, onDisconnect().set().cancel() kullandığınızda.

{
    "millis": 2,
    "name": "on-disconnect-cancel",
    "path": [
        "baz",
        "mar"
    ],
    "timestamp": 1484775969930
}

run-on-disconnect

Bu işlemler, onDisconnect işleyicilerinin tetiklenmesini yansıtır. Gerçek zamanlı bir istemci en az bir onDisconnect işleyici ekledikten sonra bağlantısı kesildiğinde profil oluşturucu, tetiklenen tüm onDisconnect işleyicilerinin toplam bayt değerini ve zamanını yansıtmak için tek bir run-on-disconnect işlemi kaydeder.

{
    "bytes": 4,
    "millis": 2,
    "name": "run-on-disconnect",
    "timestamp": 1484775969930
}