Firebase 实时数据库操作类型

Firebase 实时数据库分析器命令

要生成关于实时数据库实例中操作的速度和带宽使用情况的报告,请使用以下命令:

firebase database:profile
选项
-h, --help 输出使用情况信息。
-o, --output <filename> 将输出内容保存到指定的文件。
-i, --input <filename> 基于指定的文件(而不是来自服务器的流日志)生成报告。
-d, --duration <seconds> 收集指定秒数的数据库使用情况信息。
--raw 输出以(换行符分隔的)JSON 格式收集的原始统计信息。

操作类型

concurrent-connect

此操作体现与数据库的实时连接(例如,当新客户端通过 SDK 建立连接时)。concurrent-connect 操作中不会体现 RESTful 连接。

{
    "name": "concurrent-connect",
    "timestamp": 1484776334900
}

concurrent-disconnect

concurrent-disconnect 操作体现已与数据库断开的连接(例如,当客户端断开连接或停止工作时)。

{
    "name": "concurrent-disconnect",
    "timestamp": 1484776341844
}

realtime-write

来自实时连接的写入请求。例如,适用于网页版客户端的 set()push() 操作。删除请求也会计为 realtime-write 操作,并体现 0 字节的写入。

{
    "allowed": true, // If security rules allow the operation
    "bytes": 1,
    "millis": 2,
    "name": "realtime-write",
    "path": [
        "foo"
    ],
    "timestamp": 1484776538763
}

realtime-transaction

此操作类型包含通过实时连接进行的事务。重复的事务可能是由失败尝试和重试造成的。

{
    "allowed": true,
    "bytes": 20,
    "millis": 2,
    "name": "realtime-transaction",
    "path": [
        "foo"
    ],
    "timestamp": 1484776854610
}

realtime-update

这些实时更新操作体现特定数据的重写,而不是 realtime-write 中更常规的写入操作。

{
    "allowed": true,
    "bytes": 5,
    "millis": 2,
    "name": "realtime-update",
    "path": [
        "foo"
    ],
    "timestamp": 1484776538769
}

listener-listen

这些操作体现客户端对特定位置的数据的初始请求。例如,适用于网页版客户端的 on()once() 方法。

{
    "allowed": true,
    "bytes": 0,
    "millis": 26,
    "name": "listener-listen",
    "path": [
        "foo"
    ],
    "querySet": [],
    "timestamp": 1484776335024,
    "unIndexed": false
}

listener-broadcast

此操作涵盖从服务器发送到在每次写入和更新操作后侦听给定位置的所有客户端的数据。更改数据会触发广播操作。不过,如果没有任何正在进行侦听的客户端,您可能会看到 0 项更新。

{
    "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

这些操作体现停止工作的侦听客户端或或停止通过分离方法侦听的侦听客户端(例如,适用于网页的 off() 或适用于 iOS 的 removeAllObservers)。

{
    "name": "listener-unlisten",
    "path": [
        "foo"
    ],
    "timestamp": 1484776335044
}

rest-read

通过 REST API 发送的 GET 请求。

{
    "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
}

rest-write

通过 REST API 发送的 PUTPOST 请求。DELETE 请求体现为 0 字节的 rest-write 操作。

{
    "allowed": true,
    "bytes": 13,
    "millis": 116,
    "name": "rest-write",
    "path": [],
    "timestamp": 1484775917216
}

rest-update

通过 REST API 进行的更新体现为 PATCH 请求。

{
    "allowed": true,
    "bytes": 5,
    "millis": 11,
    "name": "rest-update",
    "path": [
        "baz",
        "mar"
    ],
    "timestamp": 1484775969930
}

发送以下问题的反馈:

此网页
需要帮助?请访问我们的支持页面