Firebase Realtime Database işlem türleri

Firebase Realtime Database profil aracı komutu

Realtime Database örneğinizdeki işlemlerin hız ve bant genişliği kullanımıyla ilgili 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 Sunucudan günlük akışı gerçekleştirmek yerine, belirtilen dosyayı temel alarak raporu oluşturun.
-d, --duration SECONDS Belirtilen saniye boyunca veritabanı kullanım bilgilerini toplayın.
--raw Toplanan ham istatistikleri yeni satırla sınırlandırılmış JSON olarak gönderin.

İş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 bir SDK aracılığıyla bağlandığında). RESTful bağlantılar, eşzamanlı bağlanma işlemlerine yansıtılmaz.

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

eş zamanlı bağlantı kesilmesi

Eşzamanlı-bağlantı kesilmesi, veritabanıyla bağlantısı kesilen bir bağlantıyı yansıtır (örneğin, bir istemcinin bağlantısını kestiğinde veya oturumu kapattığında).

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

gerçek zamanlı-yazma

Gerçek zamanlı bağlantılardan yazma istekleri. Ö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 deneme ve yeniden denemelerin sonucu olabilir.

{
    "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 fazlalıklarını yansıtır.

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

dinleyiciyi dinle

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-anons

Bu işlem, her yazma ve güncelleme işleminin ardından sunucudan belirli bir konumda dinleme yapan tüm istemcilere gönderilen verileri kapsar. Verilerde yapılan değişiklik, bir yayın işlemine yol açar. Ancak dinleyen bir müşteri 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-dinleme

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

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

dinlenme

REST API üzerinden 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
}

yeniden-yazma

REST API üzerinden 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
}

dinlenme-işlem

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

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

dinlenme-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
}

bağlantı kesilme noktası

Bu işlemler, yazma işlemleri için onDisconnect işleyicilerinin 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ıyı kesildiğinde-güncelleme

Bu işlemler, işlemleri güncellemek için onDisconnect işleyicilerinin 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ı kesildiğinde-iptal

Bu işlemler, onBağlantıyı kesen dinleyicilerin 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ırma

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 aracı, tetiklenen tüm onDisconnect işleyicilerinin birleştirilmiş baytlarını 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
}