Firebase Gerçek Zamanlı Veritabanı işlem türleri

Firebase Gerçek Zamanlı Veritabanı profil oluşturucu komutu

Realtime Database bulut sunucunuzdaki işlemlere ilişkin hız ve bant genişliği kullanımına ilişkin bir rapor oluşturmak için aşağıdaki komutu kullanın:

firebase database:profile
Bayrak seçenekleri Tanım
-h, --help Çıkış kullanım bilgileri.
-o, --output FILENAME Çıktıyı belirtilen dosyaya kaydedin.
-i, --input FILENAME Raporu, sunucudaki akış günlükleri yerine belirtilen dosyaya göre oluşturun.
-d, --duration SECONDS Belirtilen saniye sayısı boyunca veritabanı kullanım bilgilerini toplayın.
--raw Yeni satırla ayrılmış JSON olarak toplanan ham istatistiklerin çıktısını alın.

Operasyon türleri

eşzamanlı bağlantı

Bu işlem, veritabanına yapılan gerçek zamanlı bağlantıları yansıtır (örneğin, yeni bir istemci bir 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ı kesme

Eşzamanlı bağlantı kopmaları, veritabanıyla bağlantısı kesilen bir bağlantıyı yansıtır (örneğin, bir istemcinin bağlantısı kesildiğinde veya oturum kapatıldığında).

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

gerçek zamanlı yazma

Gerçek zamanlı bağlantılardan istekleri yazın. Örneğin, web istemcileri için set() ve push() işlemleri. Silme istekleri de realtime-write işlemleri 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
}

gerçek zamanlı işlem

Bu işlem türü, gerçek zamanlı bağlantılar üzerinden gerçekleştirilen işlemleri içerir. Tekrarlanan işlemler başarısız denemelerin ve yeniden denemelerin sonucu olabilir.

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

gerçek zamanlı güncelleme

Güncellemelere yönelik bu gerçek zamanlı işlemler, realtime-write daha genel yazma işlemlerini değil, belirli verilerin üzerine yazma işlemlerini yansıtır.

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

dinleyici-dinle

Bu işlemler, bir istemciden belirli bir konumdaki ilk veri talebini 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 dinleyen tüm istemcilere gönderilen verileri kapsar. Verilerdeki 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
}

dinleyici-dinlemeyi kaldır

Bu işlemler, ayırma yöntemleri (örneğin, web için off() veya iOS için removeAllObservers ) aracılığıyla oturumu kapatan veya dinlemeyi bırakan dinleme istemcilerini yansıtır.

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

dinlenme okuması

REST API aracılığıyla istekleri 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
}

dinlenme-yazma

REST API aracılığıyla PUT ve POST istekleri. DELETE istekleri 0 baytlık rest-write işlemlerini 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 İstekleri kullanın. rest-transaction işlemi, Etag veya if-match başlıklarını kullanarak istekleri yakalar.

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

geri kalan güncelleme

REST API aracılığıyla yapılan güncellemeler PATCH isteklerini yansıtır.

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

bağlantı kesildiğinde

Bu işlemler, onDisconnect dinleyicilerinin yazma işlemlerine eklenmesini 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
}

bağlantı kesildiğinde güncelleme

Bu işlemler, güncelleme işlemlerine onDisconnect dinleyicilerinin eklenmesini 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ı kes-iptal et

Bu işlemler onDisconnect dinleyicilerinin kaldırılmasını yansıtır. Örneğin, onDisconnect().set().cancel() kullandığınızda.

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

bağlantı kesildiğinde çalıştır

Bu işlemler onDisconnect dinleyicilerinin tetiklenmesini yansıtır. Gerçek zamanlı bir istemci, en az bir onDisconnect dinleyicisi ekledikten sonra bağlantıyı kestiğinde profil oluşturucu, tetiklenen tüm onDisconnect dinleyicilerinin toplanmış baytlarını ve zamanını yansıtmak için run-on-disconnect çalıştırma işlemini kaydeder.

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