Может ли клиент Firebase определить отправленные и полученные байты?
-
21-12-2019 - |
Вопрос
Изучая структуру различных объектов Firebase JavaScript в консоли браузера, я заметил, что некоторые объекты обладают этими свойствами:
bytes_received: 429
bytes_sent: 64
По-видимому, это указывает на объем данных, которые были отправлены и получены для этого узла / ref / snapshot.
Существует ли структурированный способ для клиента получить доступ к этой информации?
Решение
Не на самом деле.: -)
Вы видите, что некоторые внутренние статистики клиент отслеживает.Единственный способ получить на них - это с:
Firebase.INTERNAL.stats(firebaseRef);
.
И это сброс их к консоли.(Обратите внимание, что статистика предназначены для всех взаимодействий с Firebase, а не только в частности, Firebaseref.)
Это не поддерживаемое API и может исчезнуть или изменяться в любое время.Он также может не совпадать точно с тем, что вы видите в приборной панели FORGE (клиент не знает о некоторых из транспортных расходов, которые продолжаются).Но если это поможет вам вообще во время разработки / отладки, отлично.
Другие советы
С тех пор как Firebase.INTERNAL.stats(ref)
я только выгружаю статистику на консоль, я написал модуль, firebase-статистика, который делает непослушные вещи для доступа и возврата статистики байтов, чтобы вы могли делать с этой информацией более полезные программные вещи.
var firebaseStats = require('firebase-stats'),
Firebase = require('firebase'),
ref = new Firebase('https://docs-examples.firebaseio.com');
firebaseStats(ref); // -> { bytes_received: 287, bytes_sent: 58 }
Это работает путем поиска объекта со свойством, называемым bytes_sent
.Это следует продолжаем работать с разными выпусками, но мы, очевидно, находимся на недокументированной внутренней территории, так что это не дает абсолютно никаких гарантий;используйте на свой страх и риск.Этот модуль выдаст ошибку, если он не сможет найти объект статистики.