1 QEMU Machine Protocol Events
2 ============================
7 Emitted when guest executes ACPI _OST method.
9 - data: ACPIOSTInfo type as described in qapi-schema.json
11 { "event": "ACPI_DEVICE_OST",
12 "data": { "device": "d1", "slot": "0", "slot-type": "DIMM", "source": 1, "status": 0 } }
17 Emitted when the guest changes the actual BALLOON level. This
18 value is equivalent to the 'actual' field return by the
19 'query-balloon' command
23 - "actual": actual level of the guest memory balloon in bytes (json-number)
27 { "event": "BALLOON_CHANGE",
28 "data": { "actual": 944766976 },
29 "timestamp": { "seconds": 1267020223, "microseconds": 435656 } }
31 Note: this event is rate-limited.
36 Emitted when the guest has finished one memory dump.
40 - "result": DumpQueryResult type described in qapi-schema.json
41 - "error": Error message when dump failed. This is only a
42 human-readable string provided when dump failed. It should not be
43 parsed in any way (json-string, optional)
47 { "event": "DUMP_COMPLETED",
48 "data": {"result": {"total": 1090650112, "status": "completed",
49 "completed": 1090650112} } }
54 Emitted when guest OS panic is detected.
58 - "action": Action that has been taken (json-string, currently always "pause").
62 { "event": "GUEST_PANICKED",
63 "data": { "action": "pause" } }
67 Emitted when memory hot unplug error occurs.
71 - "device": device name (json-string)
72 - "msg": Informative message (e.g., reason for the error) (json-string)
76 { "event": "MEM_UNPLUG_ERROR"
77 "data": { "device": "dimm1",
78 "msg": "acpi: device unplug for unsupported device"
80 "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }
85 Emitted by the Quorum block driver if it fails to establish a quorum.
89 - "reference": device name if defined else node name.
90 - "sector-num": Number of the first sector of the failed read operation.
91 - "sectors-count": Failed read operation sector count.
95 { "event": "QUORUM_FAILURE",
96 "data": { "reference": "usr1", "sector-num": 345435, "sectors-count": 5 },
97 "timestamp": { "seconds": 1344522075, "microseconds": 745528 } }
99 Note: this event is rate-limited.
104 Emitted to report a corruption of a Quorum file.
108 - "type": Quorum operation type
109 - "error": Error message (json-string, optional)
110 Only present on failure. This field contains a human-readable
111 error message. There are no semantics other than that the
112 block layer reported an error and clients should not try to
113 interpret the error string.
114 - "node-name": The graph node name of the block driver state.
115 - "sector-num": Number of the first sector of the failed read operation.
116 - "sectors-count": Failed read operation sector count.
121 { "event": "QUORUM_REPORT_BAD",
122 "data": { "node-name": "node0", "sector-num": 345435, "sectors-count": 5,
124 "timestamp": { "seconds": 1344522075, "microseconds": 745528 } }
127 { "event": "QUORUM_REPORT_BAD",
128 "data": { "node-name": "node0", "sector-num": 0, "sectors-count": 2097120,
129 "type": "flush", "error": "Broken pipe" },
130 "timestamp": { "seconds": 1456406829, "microseconds": 291763 } }
132 Note: this event is rate-limited.
137 Emitted when a SPICE client connects.
141 - "server": Server information (json-object)
142 - "host": IP address (json-string)
143 - "port": port number (json-string)
144 - "family": address family (json-string, "ipv4" or "ipv6")
145 - "client": Client information (json-object)
146 - "host": IP address (json-string)
147 - "port": port number (json-string)
148 - "family": address family (json-string, "ipv4" or "ipv6")
152 { "timestamp": {"seconds": 1290688046, "microseconds": 388707},
153 "event": "SPICE_CONNECTED",
155 "server": { "port": "5920", "family": "ipv4", "host": "127.0.0.1"},
156 "client": {"port": "52873", "family": "ipv4", "host": "127.0.0.1"}
162 Emitted when a SPICE client disconnects.
166 - "server": Server information (json-object)
167 - "host": IP address (json-string)
168 - "port": port number (json-string)
169 - "family": address family (json-string, "ipv4" or "ipv6")
170 - "client": Client information (json-object)
171 - "host": IP address (json-string)
172 - "port": port number (json-string)
173 - "family": address family (json-string, "ipv4" or "ipv6")
177 { "timestamp": {"seconds": 1290688046, "microseconds": 388707},
178 "event": "SPICE_DISCONNECTED",
180 "server": { "port": "5920", "family": "ipv4", "host": "127.0.0.1"},
181 "client": {"port": "52873", "family": "ipv4", "host": "127.0.0.1"}
187 Emitted after initial handshake and authentication takes place (if any)
188 and the SPICE channel is up and running
192 - "server": Server information (json-object)
193 - "host": IP address (json-string)
194 - "port": port number (json-string)
195 - "family": address family (json-string, "ipv4" or "ipv6")
196 - "auth": authentication method (json-string, optional)
197 - "client": Client information (json-object)
198 - "host": IP address (json-string)
199 - "port": port number (json-string)
200 - "family": address family (json-string, "ipv4" or "ipv6")
201 - "connection-id": spice connection id. All channels with the same id
202 belong to the same spice session (json-int)
203 - "channel-type": channel type. "1" is the main control channel, filter for
204 this one if you want track spice sessions only (json-int)
205 - "channel-id": channel id. Usually "0", might be different needed when
206 multiple channels of the same type exist, such as multiple
207 display channels in a multihead setup (json-int)
208 - "tls": whevener the channel is encrypted (json-bool)
212 { "timestamp": {"seconds": 1290688046, "microseconds": 417172},
213 "event": "SPICE_INITIALIZED",
214 "data": {"server": {"auth": "spice", "port": "5921",
215 "family": "ipv4", "host": "127.0.0.1"},
216 "client": {"port": "49004", "family": "ipv4", "channel-type": 3,
217 "connection-id": 1804289383, "host": "127.0.0.1",
218 "channel-id": 0, "tls": true}
221 SPICE_MIGRATE_COMPLETED
222 -----------------------
224 Emitted when SPICE migration has completed
230 { "timestamp": {"seconds": 1290688046, "microseconds": 417172},
231 "event": "SPICE_MIGRATE_COMPLETED" }
236 Emitted when a migration event happens
240 - "status": migration status
241 See MigrationStatus in ~/qapi-schema.json for possible values
245 {"timestamp": {"seconds": 1432121972, "microseconds": 744001},
246 "event": "MIGRATION", "data": {"status": "completed"}}
251 Emitted from the source side of a migration at the start of each pass
252 (when it syncs the dirty bitmap)
256 - "pass": An incrementing count (starting at 1 on the first pass)
259 {"timestamp": {"seconds": 1449669631, "microseconds": 239225},
260 "event": "MIGRATION_PASS", "data": {"pass": 2}}
265 Emitted when the guest opens or closes a virtio-serial port.
269 - "id": device identifier of the virtio-serial port (json-string)
270 - "open": true if the guest has opened the virtio-serial port (json-bool)
274 { "event": "VSERPORT_CHANGE",
275 "data": { "id": "channel0", "open": true },
276 "timestamp": { "seconds": 1401385907, "microseconds": 422329 } }
278 Note: this event is rate-limited separately for each "id".