【问题标题】:Can a Firebase client determine the bytes sent and received?Firebase 客户端可以确定发送和接收的字节数吗?
【发布时间】:2014-07-29 18:06:17
【问题描述】:

在浏览器控制台中检查各种 Firebase JavaScript 对象的结构时,我注意到一些对象具有以下属性:

bytes_received: 429
bytes_sent: 64

这似乎表示为此节点/参考/快照发送和接收的数据量。

客户是否有结构化的方式来访问这些信息?

【问题讨论】:

    标签: javascript firebase


    【解决方案1】:

    不是真的。 :-)

    您会看到客户跟踪的一些内部统计数据。解决它们的唯一方法是:

    Firebase.INTERNAL.stats(firebaseRef);
    

    它会将它们转储到控制台。 (请注意,这些统计信息适用于与 Firebase 的所有交互,而不仅仅是特定的 firebaseRef。)

    这不是受支持的 API,可能随时消失或更改。它也可能与您在 Forge 仪表板中看到的不完全匹配(客户端不知道正在发生的一些传输开销)。但是,如果它在开发/调试过程中对您有所帮助,那就太好了。

    【讨论】:

      【解决方案2】:

      由于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 对象,此模块将抛出。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-01-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-06-25
        • 1970-01-01
        • 1970-01-01
        • 2020-03-06
        相关资源
        最近更新 更多