Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
254 lines
7.1 KiB
Plaintext
254 lines
7.1 KiB
Plaintext
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_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}}
|
|
|
|
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".
|