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 The event is emitted once until the query command is executed,
86 the first event will always be emitted.
90 - "name": net client name (json-string)
91 - "path": device path (json-string)
93 { "event": "NIC_RX_FILTER_CHANGED",
94 "data": { "name": "vnet0",
95 "path": "/machine/peripheral/vnet0/virtio-backend" },
96 "timestamp": { "seconds": 1368697518, "microseconds": 326866 } }
102 Emitted by the Quorum block driver if it fails to establish a quorum.
106 - "reference": device name if defined else node name.
107 - "sector-num": Number of the first sector of the failed read operation.
108 - "sectors-count": Failed read operation sector count.
112 { "event": "QUORUM_FAILURE",
113 "data": { "reference": "usr1", "sector-num": 345435, "sectors-count": 5 },
114 "timestamp": { "seconds": 1344522075, "microseconds": 745528 } }
116 Note: this event is rate-limited.
121 Emitted to report a corruption of a Quorum file.
125 - "type": Quorum operation type
126 - "error": Error message (json-string, optional)
127 Only present on failure. This field contains a human-readable
128 error message. There are no semantics other than that the
129 block layer reported an error and clients should not try to
130 interpret the error string.
131 - "node-name": The graph node name of the block driver state.
132 - "sector-num": Number of the first sector of the failed read operation.
133 - "sectors-count": Failed read operation sector count.
138 { "event": "QUORUM_REPORT_BAD",
139 "data": { "node-name": "node0", "sector-num": 345435, "sectors-count": 5,
141 "timestamp": { "seconds": 1344522075, "microseconds": 745528 } }
144 { "event": "QUORUM_REPORT_BAD",
145 "data": { "node-name": "node0", "sector-num": 0, "sectors-count": 2097120,
146 "type": "flush", "error": "Broken pipe" },
147 "timestamp": { "seconds": 1456406829, "microseconds": 291763 } }
149 Note: this event is rate-limited.
154 Emitted when a SPICE client connects.
158 - "server": Server information (json-object)
159 - "host": IP address (json-string)
160 - "port": port number (json-string)
161 - "family": address family (json-string, "ipv4" or "ipv6")
162 - "client": Client information (json-object)
163 - "host": IP address (json-string)
164 - "port": port number (json-string)
165 - "family": address family (json-string, "ipv4" or "ipv6")
169 { "timestamp": {"seconds": 1290688046, "microseconds": 388707},
170 "event": "SPICE_CONNECTED",
172 "server": { "port": "5920", "family": "ipv4", "host": "127.0.0.1"},
173 "client": {"port": "52873", "family": "ipv4", "host": "127.0.0.1"}
179 Emitted when a SPICE client disconnects.
183 - "server": Server information (json-object)
184 - "host": IP address (json-string)
185 - "port": port number (json-string)
186 - "family": address family (json-string, "ipv4" or "ipv6")
187 - "client": Client information (json-object)
188 - "host": IP address (json-string)
189 - "port": port number (json-string)
190 - "family": address family (json-string, "ipv4" or "ipv6")
194 { "timestamp": {"seconds": 1290688046, "microseconds": 388707},
195 "event": "SPICE_DISCONNECTED",
197 "server": { "port": "5920", "family": "ipv4", "host": "127.0.0.1"},
198 "client": {"port": "52873", "family": "ipv4", "host": "127.0.0.1"}
204 Emitted after initial handshake and authentication takes place (if any)
205 and the SPICE channel is up and running
209 - "server": Server information (json-object)
210 - "host": IP address (json-string)
211 - "port": port number (json-string)
212 - "family": address family (json-string, "ipv4" or "ipv6")
213 - "auth": authentication method (json-string, optional)
214 - "client": Client information (json-object)
215 - "host": IP address (json-string)
216 - "port": port number (json-string)
217 - "family": address family (json-string, "ipv4" or "ipv6")
218 - "connection-id": spice connection id. All channels with the same id
219 belong to the same spice session (json-int)
220 - "channel-type": channel type. "1" is the main control channel, filter for
221 this one if you want track spice sessions only (json-int)
222 - "channel-id": channel id. Usually "0", might be different needed when
223 multiple channels of the same type exist, such as multiple
224 display channels in a multihead setup (json-int)
225 - "tls": whevener the channel is encrypted (json-bool)
229 { "timestamp": {"seconds": 1290688046, "microseconds": 417172},
230 "event": "SPICE_INITIALIZED",
231 "data": {"server": {"auth": "spice", "port": "5921",
232 "family": "ipv4", "host": "127.0.0.1"},
233 "client": {"port": "49004", "family": "ipv4", "channel-type": 3,
234 "connection-id": 1804289383, "host": "127.0.0.1",
235 "channel-id": 0, "tls": true}
238 SPICE_MIGRATE_COMPLETED
239 -----------------------
241 Emitted when SPICE migration has completed
247 { "timestamp": {"seconds": 1290688046, "microseconds": 417172},
248 "event": "SPICE_MIGRATE_COMPLETED" }
253 Emitted when a migration event happens
257 - "status": migration status
258 See MigrationStatus in ~/qapi-schema.json for possible values
262 {"timestamp": {"seconds": 1432121972, "microseconds": 744001},
263 "event": "MIGRATION", "data": {"status": "completed"}}
268 Emitted from the source side of a migration at the start of each pass
269 (when it syncs the dirty bitmap)
273 - "pass": An incrementing count (starting at 1 on the first pass)
276 {"timestamp": {"seconds": 1449669631, "microseconds": 239225},
277 "event": "MIGRATION_PASS", "data": {"pass": 2}}
282 Emitted when a VNC client establishes a connection.
286 - "server": Server information (json-object)
287 - "host": IP address (json-string)
288 - "service": port number (json-string)
289 - "family": address family (json-string, "ipv4" or "ipv6")
290 - "auth": authentication method (json-string, optional)
291 - "client": Client information (json-object)
292 - "host": IP address (json-string)
293 - "service": port number (json-string)
294 - "family": address family (json-string, "ipv4" or "ipv6")
298 { "event": "VNC_CONNECTED",
300 "server": { "auth": "sasl", "family": "ipv4",
301 "service": "5901", "host": "0.0.0.0" },
302 "client": { "family": "ipv4", "service": "58425",
303 "host": "127.0.0.1" } },
304 "timestamp": { "seconds": 1262976601, "microseconds": 975795 } }
307 Note: This event is emitted before any authentication takes place, thus
308 the authentication ID is not provided.
313 Emitted when the connection is closed.
317 - "server": Server information (json-object)
318 - "host": IP address (json-string)
319 - "service": port number (json-string)
320 - "family": address family (json-string, "ipv4" or "ipv6")
321 - "auth": authentication method (json-string, optional)
322 - "client": Client information (json-object)
323 - "host": IP address (json-string)
324 - "service": port number (json-string)
325 - "family": address family (json-string, "ipv4" or "ipv6")
326 - "x509_dname": TLS dname (json-string, optional)
327 - "sasl_username": SASL username (json-string, optional)
331 { "event": "VNC_DISCONNECTED",
333 "server": { "auth": "sasl", "family": "ipv4",
334 "service": "5901", "host": "0.0.0.0" },
335 "client": { "family": "ipv4", "service": "58425",
336 "host": "127.0.0.1", "sasl_username": "luiz" } },
337 "timestamp": { "seconds": 1262976601, "microseconds": 975795 } }
342 Emitted after authentication takes place (if any) and the VNC session is
347 - "server": Server information (json-object)
348 - "host": IP address (json-string)
349 - "service": port number (json-string)
350 - "family": address family (json-string, "ipv4" or "ipv6")
351 - "auth": authentication method (json-string, optional)
352 - "client": Client information (json-object)
353 - "host": IP address (json-string)
354 - "service": port number (json-string)
355 - "family": address family (json-string, "ipv4" or "ipv6")
356 - "x509_dname": TLS dname (json-string, optional)
357 - "sasl_username": SASL username (json-string, optional)
361 { "event": "VNC_INITIALIZED",
363 "server": { "auth": "sasl", "family": "ipv4",
364 "service": "5901", "host": "0.0.0.0"},
365 "client": { "family": "ipv4", "service": "46089",
366 "host": "127.0.0.1", "sasl_username": "luiz" } },
367 "timestamp": { "seconds": 1263475302, "microseconds": 150772 } }
372 Emitted when the guest opens or closes a virtio-serial port.
376 - "id": device identifier of the virtio-serial port (json-string)
377 - "open": true if the guest has opened the virtio-serial port (json-bool)
381 { "event": "VSERPORT_CHANGE",
382 "data": { "id": "channel0", "open": true },
383 "timestamp": { "seconds": 1401385907, "microseconds": 422329 } }
385 Note: this event is rate-limited separately for each "id".