Un client di firebase può determinare i byte inviati e ricevuti?
-
21-12-2019 - |
Domanda
Durante l'ispezione della struttura dei vari oggetti JavaScript di FireBase nella console del browser, ho notato che alcuni oggetti hanno queste proprietà:
bytes_received: 429
bytes_sent: 64
.
Ciò sembra indicare la quantità di dati inviati e ricevuti per questo nodo / ref / istantanea.
C'è un modo strutturato per un cliente per accedere a queste informazioni?
Soluzione
Non proprio.: -)
Stai vedendo alcune statistiche interne che il cliente tiene traccia di.L'unico modo per arrivare a loro è con:
Firebase.INTERNAL.stats(firebaseRef);
.
E lo scaricherà alla console.(Si noti che le statistiche sono per tutte le interazioni con labicazione del fuoco, non solo quel particolare firebaseref.)
Questa non è un'API supportata e potrebbe scomparire o cambiare in qualsiasi momento.Non può anche corrispondere esattamente con ciò che vedi nella forgia dashboard (il cliente non è consapevole di alcuni dei trasporti sopra la testa che continua).Ma se ti aiuta affatto durante lo sviluppo / il debug, ottimo.
Altri suggerimenti
Poiché Firebase.INTERNAL.stats(ref)
scarica solo le statistiche nella console, ho scritto un modulo, Firebase-Stats, che fa cose cattive da accedere e restituire le statistiche dei byte in modo da poter fare più utili cose programmatiche con le informazioni.
var firebaseStats = require('firebase-stats'),
Firebase = require('firebase'),
ref = new Firebase('https://docs-examples.firebaseio.com');
firebaseStats(ref); // -> { bytes_received: 287, bytes_sent: 58 }
.
funziona cercando un oggetto con una proprietà chiamata bytes_sent
.Questo dovrebbe essere continuare a lavorare attraverso le versioni, ma ovviamente siamo bene in un territorio interno non documentato, quindi questo è assolutamente senza garanzia;Utilizzare a proprio rischio.Questo modulo lancerà se non riesce a trovare l'oggetto Statisti.