Ir a la consola

Tipos de operaciones de Firebase Realtime Database

Comando del generador de perfiles de Firebase Realtime Database

Para generar un informe de la velocidad y el uso del ancho de banda de las operaciones en tu instancia de Realtime Database, usa el siguiente comando:

firebase database:profile
Opciones
-h, --help Proporciona información sobre el uso.
-o, --output <filename> Guarda el resultado en el archivo especificado.
-i, --input <filename> Genera el informe a partir del archivo especificado en lugar de los registros de transmisión provenientes del servidor.
-d, --duration <seconds> Recopila información del uso de la base de datos para la cantidad de segundos especificada.
--raw Proporciona las estadísticas sin analizar que se recopilaron en un archivo JSON delimitado por saltos de línea.

Tipos de operación

concurrent-connect

Esta operación refleja conexiones en tiempo real a la base de datos (por ejemplo, cuando un cliente nuevo se conecta a través de un SDK). Las conexiones RESTful no se reflejan en las operaciones de concurrent-connect.

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

concurrent-disconnect

Las operaciones concurrent-disconnect reflejan una conexión que se desconectó desde la base de datos (por ejemplo, cuando un cliente se desconecta o se cierra).

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

realtime-write

Solicitudes de escritura desde conexiones en tiempo real. Por ejemplo, operaciones set() y push() para clientes web. Las solicitudes de eliminación también se cuentan como operaciones realtime-write y reflejan escrituras de 0 bytes.

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

realtime-transaction

Este tipo de operación incluye transacciones que se ejecutan a través de conexiones en tiempo real. Las transacciones repetidas pueden ser resultado de intentos fallidos o reiterados.

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

realtime-update

Estas operaciones en tiempo real para las actualizaciones reflejan sobrescrituras de datos específicos, no las operaciones de escritura más generales de realtime-write.

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

listener-listen

Estas operaciones reflejan la solicitud inicial de datos en una ubicación específica desde un cliente. Por ejemplo, los métodos on() o once() para clientes web.

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

listener-broadcast

Esta operación abarca los datos enviados desde el servidor a todos y cada uno de los clientes que están escuchando en una ubicación determinada después de cada operación de escritura y actualización. El cambio en los datos genera una operación de transmisión. Sin embargo, es posible que veas 0 actualizaciones si no hay clientes escuchando.

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

Estas operaciones reflejan los clientes que escuchan y que se cierran o dejan de escuchar a través de los métodos de desvinculación (por ejemplo, off() para web o removeAllObservers para iOS).

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

rest-read

Solicitudes GET a través de la API de REST.

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

Solicitudes PUT y POST a través de la API de REST. Las solicitudes DELETE reflejan las operaciones rest-write de 0 bytes.

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

rest-update

Las actualizaciones a través de la API de REST muestran las solicitudes PATCH.

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