QEMU Machine Protocol Events ============================ ACPI_DEVICE_OST --------------- Emitted when guest executes ACPI _OST method. - data: ACPIOSTInfo type as described in qapi-schema.json { "event": "ACPI_DEVICE_OST", "data": { "device": "d1", "slot": "0", "slot-type": "DIMM", "source": 1, "status": 0 } } BALLOON_CHANGE -------------- Emitted when the guest changes the actual BALLOON level. This value is equivalent to the 'actual' field return by the 'query-balloon' command Data: - "actual": actual level of the guest memory balloon in bytes (json-number) Example: { "event": "BALLOON_CHANGE", "data": { "actual": 944766976 }, "timestamp": { "seconds": 1267020223, "microseconds": 435656 } } Note: this event is rate-limited. DUMP_COMPLETED -------------- Emitted when the guest has finished one memory dump. Data: - "result": DumpQueryResult type described in qapi-schema.json - "error": Error message when dump failed. This is only a human-readable string provided when dump failed. It should not be parsed in any way (json-string, optional) Example: { "event": "DUMP_COMPLETED", "data": {"result": {"total": 1090650112, "status": "completed", "completed": 1090650112} } } GUEST_PANICKED -------------- Emitted when guest OS panic is detected. Data: - "action": Action that has been taken (json-string, currently always "pause"). Example: { "event": "GUEST_PANICKED", "data": { "action": "pause" } } MEM_UNPLUG_ERROR -------------------- Emitted when memory hot unplug error occurs. Data: - "device": device name (json-string) - "msg": Informative message (e.g., reason for the error) (json-string) Example: { "event": "MEM_UNPLUG_ERROR" "data": { "device": "dimm1", "msg": "acpi: device unplug for unsupported device" }, "timestamp": { "seconds": 1265044230, "microseconds": 450486 } } QUORUM_FAILURE -------------- Emitted by the Quorum block driver if it fails to establish a quorum. Data: - "reference": device name if defined else node name. - "sector-num": Number of the first sector of the failed read operation. - "sectors-count": Failed read operation sector count. Example: { "event": "QUORUM_FAILURE", "data": { "reference": "usr1", "sector-num": 345435, "sectors-count": 5 }, "timestamp": { "seconds": 1344522075, "microseconds": 745528 } } Note: this event is rate-limited. QUORUM_REPORT_BAD ----------------- Emitted to report a corruption of a Quorum file. Data: - "type": Quorum operation type - "error": Error message (json-string, optional) Only present on failure. This field contains a human-readable error message. There are no semantics other than that the block layer reported an error and clients should not try to interpret the error string. - "node-name": The graph node name of the block driver state. - "sector-num": Number of the first sector of the failed read operation. - "sectors-count": Failed read operation sector count. Example: Read operation: { "event": "QUORUM_REPORT_BAD", "data": { "node-name": "node0", "sector-num": 345435, "sectors-count": 5, "type": "read" }, "timestamp": { "seconds": 1344522075, "microseconds": 745528 } } Flush operation: { "event": "QUORUM_REPORT_BAD", "data": { "node-name": "node0", "sector-num": 0, "sectors-count": 2097120, "type": "flush", "error": "Broken pipe" }, "timestamp": { "seconds": 1456406829, "microseconds": 291763 } } Note: this event is rate-limited. SPICE_CONNECTED --------------- Emitted when a SPICE client connects. Data: - "server": Server information (json-object) - "host": IP address (json-string) - "port": port number (json-string) - "family": address family (json-string, "ipv4" or "ipv6") - "client": Client information (json-object) - "host": IP address (json-string) - "port": port number (json-string) - "family": address family (json-string, "ipv4" or "ipv6") Example: { "timestamp": {"seconds": 1290688046, "microseconds": 388707}, "event": "SPICE_CONNECTED", "data": { "server": { "port": "5920", "family": "ipv4", "host": "127.0.0.1"}, "client": {"port": "52873", "family": "ipv4", "host": "127.0.0.1"} }} SPICE_DISCONNECTED ------------------ Emitted when a SPICE client disconnects. Data: - "server": Server information (json-object) - "host": IP address (json-string) - "port": port number (json-string) - "family": address family (json-string, "ipv4" or "ipv6") - "client": Client information (json-object) - "host": IP address (json-string) - "port": port number (json-string) - "family": address family (json-string, "ipv4" or "ipv6") Example: { "timestamp": {"seconds": 1290688046, "microseconds": 388707}, "event": "SPICE_DISCONNECTED", "data": { "server": { "port": "5920", "family": "ipv4", "host": "127.0.0.1"}, "client": {"port": "52873", "family": "ipv4", "host": "127.0.0.1"} }} SPICE_INITIALIZED ----------------- Emitted after initial handshake and authentication takes place (if any) and the SPICE channel is up and running Data: - "server": Server information (json-object) - "host": IP address (json-string) - "port": port number (json-string) - "family": address family (json-string, "ipv4" or "ipv6") - "auth": authentication method (json-string, optional) - "client": Client information (json-object) - "host": IP address (json-string) - "port": port number (json-string) - "family": address family (json-string, "ipv4" or "ipv6") - "connection-id": spice connection id. All channels with the same id belong to the same spice session (json-int) - "channel-type": channel type. "1" is the main control channel, filter for this one if you want track spice sessions only (json-int) - "channel-id": channel id. Usually "0", might be different needed when multiple channels of the same type exist, such as multiple display channels in a multihead setup (json-int) - "tls": whevener the channel is encrypted (json-bool) Example: { "timestamp": {"seconds": 1290688046, "microseconds": 417172}, "event": "SPICE_INITIALIZED", "data": {"server": {"auth": "spice", "port": "5921", "family": "ipv4", "host": "127.0.0.1"}, "client": {"port": "49004", "family": "ipv4", "channel-type": 3, "connection-id": 1804289383, "host": "127.0.0.1", "channel-id": 0, "tls": true} }} SPICE_MIGRATE_COMPLETED ----------------------- Emitted when SPICE migration has completed Data: None. Example: { "timestamp": {"seconds": 1290688046, "microseconds": 417172}, "event": "SPICE_MIGRATE_COMPLETED" } MIGRATION --------- Emitted when a migration event happens Data: None. - "status": migration status See MigrationStatus in ~/qapi-schema.json for possible values Example: {"timestamp": {"seconds": 1432121972, "microseconds": 744001}, "event": "MIGRATION", "data": {"status": "completed"}} MIGRATION_PASS -------------- Emitted from the source side of a migration at the start of each pass (when it syncs the dirty bitmap) Data: None. - "pass": An incrementing count (starting at 1 on the first pass) Example: {"timestamp": {"seconds": 1449669631, "microseconds": 239225}, "event": "MIGRATION_PASS", "data": {"pass": 2}} VNC_DISCONNECTED ---------------- Emitted when the connection is closed. Data: - "server": Server information (json-object) - "host": IP address (json-string) - "service": port number (json-string) - "family": address family (json-string, "ipv4" or "ipv6") - "auth": authentication method (json-string, optional) - "client": Client information (json-object) - "host": IP address (json-string) - "service": port number (json-string) - "family": address family (json-string, "ipv4" or "ipv6") - "x509_dname": TLS dname (json-string, optional) - "sasl_username": SASL username (json-string, optional) Example: { "event": "VNC_DISCONNECTED", "data": { "server": { "auth": "sasl", "family": "ipv4", "service": "5901", "host": "0.0.0.0" }, "client": { "family": "ipv4", "service": "58425", "host": "127.0.0.1", "sasl_username": "luiz" } }, "timestamp": { "seconds": 1262976601, "microseconds": 975795 } } VSERPORT_CHANGE --------------- Emitted when the guest opens or closes a virtio-serial port. Data: - "id": device identifier of the virtio-serial port (json-string) - "open": true if the guest has opened the virtio-serial port (json-bool) Example: { "event": "VSERPORT_CHANGE", "data": { "id": "channel0", "open": true }, "timestamp": { "seconds": 1401385907, "microseconds": 422329 } } Note: this event is rate-limited separately for each "id".