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 }