【发布时间】:2014-07-29 18:06:17
【问题描述】:
在浏览器控制台中检查各种 Firebase JavaScript 对象的结构时,我注意到一些对象具有以下属性:
bytes_received: 429
bytes_sent: 64
这似乎表示为此节点/参考/快照发送和接收的数据量。
客户是否有结构化的方式来访问这些信息?
【问题讨论】:
标签: javascript firebase
在浏览器控制台中检查各种 Firebase JavaScript 对象的结构时,我注意到一些对象具有以下属性:
bytes_received: 429
bytes_sent: 64
这似乎表示为此节点/参考/快照发送和接收的数据量。
客户是否有结构化的方式来访问这些信息?
【问题讨论】:
标签: javascript firebase
不是真的。 :-)
您会看到客户跟踪的一些内部统计数据。解决它们的唯一方法是:
Firebase.INTERNAL.stats(firebaseRef);
它会将它们转储到控制台。 (请注意,这些统计信息适用于与 Firebase 的所有交互,而不仅仅是特定的 firebaseRef。)
这不是受支持的 API,可能随时消失或更改。它也可能与您在 Forge 仪表板中看到的不完全匹配(客户端不知道正在发生的一些传输开销)。但是,如果它在开发/调试过程中对您有所帮助,那就太好了。
【讨论】:
由于Firebase.INTERNAL.stats(ref) 仅将统计信息转储到控制台,因此我编写了一个模块firebase-stats,它可以访问和返回字节统计信息,以便您可以对信息进行更有用的编程操作。
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 的属性的对象来工作。这应该继续跨版本工作,但我们显然很擅长无证的内部领域,所以这绝对没有保证;使用风险自负。如果找不到 stats 对象,此模块将抛出。
【讨论】: