Firebase Realtime Database işlem türleri

Firebase Realtime Database profil aracı komutu

İşletim sisteminizdeki işlemlerin hız ve bant genişliği kullanımına ilişkin bir rapor oluşturmak için Realtime Database örneği 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 akış günlükleri yerine belirtilen dosyayı temel alarak oluştur sunucudan kaldıracak.
-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, SDK aracılığıyla yeni bir istemci bağlanır). RESTful bağlantılar şuna yansıtılmaz: eşzamanlı bağlantı işlemleri

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

eş zamanlı bağlantı kesilmesi

Eşzamanlı-bağlantı kesilmesi, (örneğin, bir istemcinin bağlantısını kestiğinde veya oturumu tamamladığında) veri alışverişi yapabilirsiniz.

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

gerçek zamanlı-yazma

Gerçek zamanlı bağlantılardan yazma istekleri. Örneğin, set() ve push() işlemleri için kullanılır. Silme istekleri de realtime-write olarak sayılır işlemleri için geçerlidir ve 0 baytlık yazmaları 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üncellemelere ilişkin bu gerçek zamanlı işlemler, belirli verilerin fazlalıklarını yansıtır, realtime-write içinde daha genel yazma işlemleri yapılır.

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

dinleyiciyi dinle

Bu işlemler, belirli bir konumla ilgili olarak şu tarihteki ilk veri isteğini yansıtır: anlatabilmişimdir. Ö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, sunucudan gönderilen tüm istemcilere gönderilen verileri kapsar. her yazma ve güncelleme işleminden sonra belirli bir konumda dinleme yapar. İlgili içeriği oluşturmak için kullanılan bir yayın işlemine dönüşür. Ancak 0 güncelleme görebilirsiniz müşteri olup olmadığını test edebilirsiniz.

{
    "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, dinleyen veya dinlemeyi bırakan istemcileri yansıtır. kaldırma yöntemleriyle (örneğin, web için off() veya removeAllObservers) ).

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

dinlenme

REST üzerinden GET istek API'ye gidin.

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

geri-yazma

PUT ve REST üzerinden POST isteği API'ye gidin. DELETE istekleri yansıtılıyor 0 baytlık rest-write işlemi.

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

dinlenme-işlem

İşleme benzer davranış için koşullu İstekler. rest-transaction işlemi, Etag veya if-match kullanan istekleri yakalar. başlıklar.

{
    "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şlemi için onDisconnect işleyicilerin eklenmesini yansıtır anlamına gelir. Ö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, güncellemek için onDisconnect işleyicinin eklenmesini yansıtır anlamına gelir. Ö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 ekledikten sonra bağlantıyı kestiğinde işleyici, profil aracı tek bir run-on-disconnect işlemi kaydeder (tüm onDisconnect dinleyicilerinin toplam baytlarını ve zamanını yansıtmak için) tetiklendi.

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