Firebase Realtime Database profil aracı komutu
Realtime Database örneğinizdeki işlemlerde hız ve bant genişliği kullanımıyla ilgili bir 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 |
Raporu, sunucudan akış günlükleri yerine belirtilen dosyaya göre oluşturun. |
-d, --duration SECONDS |
Belirtilen saniye sayısı için veritabanı kullanım bilgilerini toplayın. |
--raw |
Toplanan ham istatistikleri, yeni satırla sınırlandırılmış JSON biçiminde çıkarın. |
İş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 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ıyı kesme
Eş zamanlı bağlantı kesme işlemleri, veritabanıyla bağlantısı kesilen bir bağlantıyı (örneğin, bir istemcinin bağlantısının kesilmesi veya kapanması) yansıtır.
{ "name": "concurrent-disconnect", "timestamp": 1484776341844 }
realtime-write
Gerçek zamanlı bağlantılardan gelen yazma istekleri. Örneğin, web istemcileri için set()
ve push()
işlemleri. Silme istekleri de realtime-write
işlemi 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 }
realtime-transaction
Bu işlem türü, gerçek zamanlı bağlantılar üzerinden yapılan işlemleri içerir. Tekrarlanan işlemler, başarısız girişimler ve yeniden denemelerden kaynaklanabilir.
{ "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 geçersiz kılmalarını yansıtır.
{ "allowed": true, "bytes": 5, "millis": 2, "name": "realtime-update", "path": [ "foo" ], "timestamp": 1484776538769 }
listener-listen
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-yayını
Bu işlem, her yazma ve güncelleme işleminin ardından sunucudan, belirli bir konumda dinleme yapan herhangi bir istemciye veya tüm istemcilere gönderilen verileri kapsar. Verilerde yapılan 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 }
listener-unlisten
Bu işlemler, ayırma yöntemleriyle dinlemeyi kapatan veya durduran dinleme istemcilerini yansıtır (örneğin, web için off()
veya iOS için removeAllObservers
).
{ "name": "listener-unlisten", "path": [ "foo" ], "timestamp": 1484776335044 }
kalan okuma
REST API aracılığıyla 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 }
dinlenme-yazma
REST API aracılığıyla PUT
ve POST
istekleri.
DELETE
istekleri 0 baytlık rest-write
işlemini 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 İstekler'i kullanın.
rest-transaction
işlemi, Etag
veya if-match
üst bilgilerini kullanan istekleri yakalar.
{ "allowed": true, "bytes": 13, "millis": 116, "name": "rest-transaction", "path": [], "timestamp": 1484775917216 }
geri-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 }
on-disconnect-put
Bu işlemler, yazma işlemleri için eklenen onDisconnect
işleyicileri 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 }
on-disconnect-update
Bu işlemler, güncelleme işlemleri için onDisconnect
işleyicilerin eklendiğini 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ı-kesin-iptal et
Bu işlemler, onConnection işleyicilerinin kaldırıldığını gösterir.
Örneğin, onDisconnect().set().cancel()
kullandığınızda.
{ "millis": 2, "name": "on-disconnect-cancel", "path": [ "baz", "mar" ], "timestamp": 1484775969930 }
run-on-disconnect
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 oluşturucu, tetiklenen tüm onDisconnect
işleyicilerinin toplam bayt değerini 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 }