                   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.

BLOCK_IMAGE_CORRUPTED
---------------------

Emitted when a disk image is being marked corrupt. The image can be
identified by its device or node name. The 'device' field is always
present for compatibility reasons, but it can be empty ("") if the
image does not have a device name associated.

Data:

- "device":    Device name (json-string)
- "node-name": Node name (json-string, optional)
- "msg":       Informative message (e.g., reason for the corruption)
               (json-string)
- "offset":    If the corruption resulted from an image access, this
               is the host's access offset into the image
               (json-int, optional)
- "size":      If the corruption resulted from an image access, this
               is the access size (json-int, optional)

Example:

{ "event": "BLOCK_IMAGE_CORRUPTED",
    "data": { "device": "ide0-hd0", "node-name": "node0",
        "msg": "Prevented active L1 table overwrite", "offset": 196608,
        "size": 65536 },
    "timestamp": { "seconds": 1378126126, "microseconds": 966463 } }

BLOCK_IO_ERROR
--------------

Emitted when a disk I/O error occurs.

Data:

- "device": device name (json-string)
- "operation": I/O operation (json-string, "read" or "write")
- "action": action that has been taken, it's one of the following (json-string):
    "ignore": error has been ignored
    "report": error has been reported to the device
    "stop": the VM is going to stop because of the error

Example:

{ "event": "BLOCK_IO_ERROR",
    "data": { "device": "ide0-hd1",
              "operation": "write",
              "action": "stop" },
    "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }

Note: If action is "stop", a STOP event will eventually follow the
BLOCK_IO_ERROR event.

BLOCK_JOB_CANCELLED
-------------------

Emitted when a block job has been cancelled.

Data:

- "type":     Job type (json-string; "stream" for image streaming
                                     "commit" for block commit)
- "device":   Job identifier. Originally the device name but other
              values are allowed since QEMU 2.7 (json-string)
- "len":      Maximum progress value (json-int)
- "offset":   Current progress value (json-int)
              On success this is equal to len.
              On failure this is less than len.
- "speed":    Rate limit, bytes per second (json-int)

Example:

{ "event": "BLOCK_JOB_CANCELLED",
     "data": { "type": "stream", "device": "virtio-disk0",
               "len": 10737418240, "offset": 134217728,
               "speed": 0 },
     "timestamp": { "seconds": 1267061043, "microseconds": 959568 } }

BLOCK_JOB_COMPLETED
-------------------

Emitted when a block job has completed.

Data:

- "type":     Job type (json-string; "stream" for image streaming
                                     "commit" for block commit)
- "device":   Job identifier. Originally the device name but other
              values are allowed since QEMU 2.7 (json-string)
- "len":      Maximum progress value (json-int)
- "offset":   Current progress value (json-int)
              On success this is equal to len.
              On failure this is less than len.
- "speed":    Rate limit, bytes per second (json-int)
- "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 streaming
              has failed and clients should not try to interpret the error
              string.

Example:

{ "event": "BLOCK_JOB_COMPLETED",
     "data": { "type": "stream", "device": "virtio-disk0",
               "len": 10737418240, "offset": 10737418240,
               "speed": 0 },
     "timestamp": { "seconds": 1267061043, "microseconds": 959568 } }

BLOCK_JOB_ERROR
---------------

Emitted when a block job encounters an error.

Data:

- "device": Job identifier. Originally the device name but other
            values are allowed since QEMU 2.7 (json-string)
- "operation": I/O operation (json-string, "read" or "write")
- "action": action that has been taken, it's one of the following (json-string):
    "ignore": error has been ignored, the job may fail later
    "report": error will be reported and the job canceled
    "stop": error caused job to be paused

Example:

{ "event": "BLOCK_JOB_ERROR",
    "data": { "device": "ide0-hd1",
              "operation": "write",
              "action": "stop" },
    "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }

BLOCK_JOB_READY
---------------

Emitted when a block job is ready to complete.

Data:

- "type":     Job type (json-string; "stream" for image streaming
                                     "commit" for block commit)
- "device":   Job identifier. Originally the device name but other
              values are allowed since QEMU 2.7 (json-string)
- "len":      Maximum progress value (json-int)
- "offset":   Current progress value (json-int)
              On success this is equal to len.
              On failure this is less than len.
- "speed":    Rate limit, bytes per second (json-int)

Example:

{ "event": "BLOCK_JOB_READY",
    "data": { "device": "drive0", "type": "mirror", "speed": 0,
              "len": 2097152, "offset": 2097152 }
    "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }

Note: The "ready to complete" status is always reset by a BLOCK_JOB_ERROR
event.

DEVICE_DELETED
--------------

Emitted whenever the device removal completion is acknowledged
by the guest.
At this point, it's safe to reuse the specified device ID.
Device removal can be initiated by the guest or by HMP/QMP commands.

Data:

- "device": device name (json-string, optional)
- "path": device path (json-string)

{ "event": "DEVICE_DELETED",
  "data": { "device": "virtio-net-pci-0",
            "path": "/machine/peripheral/virtio-net-pci-0" },
  "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }

DEVICE_TRAY_MOVED
-----------------

It's emitted whenever the tray of a removable device is moved by the guest
or by HMP/QMP commands.

Data:

- "device": device name (json-string)
- "tray-open": true if the tray has been opened or false if it has been closed
               (json-bool)

{ "event": "DEVICE_TRAY_MOVED",
  "data": { "device": "ide1-cd0",
            "tray-open": true
  },
  "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }

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

NIC_RX_FILTER_CHANGED
---------------------

The event is emitted once until the query command is executed,
the first event will always be emitted.

Data:

- "name": net client name (json-string)
- "path": device path (json-string)

{ "event": "NIC_RX_FILTER_CHANGED",
  "data": { "name": "vnet0",
            "path": "/machine/peripheral/vnet0/virtio-backend" },
  "timestamp": { "seconds": 1368697518, "microseconds": 326866 } }
}

POWERDOWN
---------

Emitted when the Virtual Machine is powered down through the power
control system, such as via ACPI.

Data: None.

Example:

{ "event": "POWERDOWN",
    "timestamp": { "seconds": 1267040730, "microseconds": 682951 } }

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.

RESET
-----

Emitted when the Virtual Machine is reset.

Data: None.

Example:

{ "event": "RESET",
    "timestamp": { "seconds": 1267041653, "microseconds": 9518 } }

RESUME
------

Emitted when the Virtual Machine resumes execution.

Data: None.

Example:

{ "event": "RESUME",
    "timestamp": { "seconds": 1271770767, "microseconds": 582542 } }

RTC_CHANGE
----------

Emitted when the guest changes the RTC time.

Data:

- "offset": Offset between base RTC clock (as specified by -rtc base), and
new RTC clock value (json-number)

Example:

{ "event": "RTC_CHANGE",
    "data": { "offset": 78 },
    "timestamp": { "seconds": 1267020223, "microseconds": 435656 } }

Note: this event is rate-limited.

SHUTDOWN
--------

Emitted when the Virtual Machine has shut down, indicating that qemu
is about to exit.

Data: None.

Example:

{ "event": "SHUTDOWN",
    "timestamp": { "seconds": 1267040730, "microseconds": 682951 } }

Note: If the command-line option "-no-shutdown" has been specified, a STOP
event will eventually follow the SHUTDOWN event.

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

STOP
----

Emitted when the Virtual Machine is stopped.

Data: None.

Example:

{ "event": "STOP",
    "timestamp": { "seconds": 1267041730, "microseconds": 281295 } }

SUSPEND
-------

Emitted when guest enters S3 state.

Data: None.

Example:

{ "event": "SUSPEND",
     "timestamp": { "seconds": 1344456160, "microseconds": 309119 } }

SUSPEND_DISK
------------

Emitted when the guest makes a request to enter S4 state.

Data: None.

Example:

{ "event": "SUSPEND_DISK",
     "timestamp": { "seconds": 1344456160, "microseconds": 309119 } }

Note: QEMU shuts down when entering S4 state.

VNC_CONNECTED
-------------

Emitted when a VNC client establishes a connection.

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

Example:

{ "event": "VNC_CONNECTED",
    "data": {
        "server": { "auth": "sasl", "family": "ipv4",
                    "service": "5901", "host": "0.0.0.0" },
        "client": { "family": "ipv4", "service": "58425",
                    "host": "127.0.0.1" } },
    "timestamp": { "seconds": 1262976601, "microseconds": 975795 } }


Note: This event is emitted before any authentication takes place, thus
the authentication ID is not provided.

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

VNC_INITIALIZED
---------------

Emitted after authentication takes place (if any) and the VNC session is
made active.

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_INITIALIZED",
    "data": {
        "server": { "auth": "sasl", "family": "ipv4",
                    "service": "5901", "host": "0.0.0.0"},
        "client": { "family": "ipv4", "service": "46089",
                    "host": "127.0.0.1", "sasl_username": "luiz" } },
        "timestamp": { "seconds": 1263475302, "microseconds": 150772 } }

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

WAKEUP
------

Emitted when the guest has woken up from S3 and is running.

Data: None.

Example:

{ "event": "WAKEUP",
     "timestamp": { "seconds": 1344522075, "microseconds": 745528 } }

WATCHDOG
--------

Emitted when the watchdog device's timer is expired.

Data:

- "action": Action that has been taken, it's one of the following (json-string):
            "reset", "shutdown", "poweroff", "pause", "debug", or "none"

Example:

{ "event": "WATCHDOG",
     "data": { "action": "reset" },
     "timestamp": { "seconds": 1267061043, "microseconds": 959568 } }

Note: If action is "reset", "shutdown", or "pause" the WATCHDOG event is
followed respectively by the RESET, SHUTDOWN, or STOP events.

Note: this event is rate-limited.
