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 }