]> rtime.felk.cvut.cz Git - lisovros/qemu_apohw.git/blob - docs/qmp/qmp-events.txt
docs: grammar fixes to qmp-events
[lisovros/qemu_apohw.git] / docs / qmp / qmp-events.txt
1                    QEMU Machine Protocol Events
2                    ============================
3
4 ACPI_DEVICE_OST
5 ---------------
6
7 Emitted when guest executes ACPI _OST method.
8
9  - data: ACPIOSTInfo type as described in qapi-schema.json
10
11 { "event": "ACPI_DEVICE_OST",
12      "data": { "device": "d1", "slot": "0", "slot-type": "DIMM", "source": 1, "status": 0 } }
13
14 BALLOON_CHANGE
15 --------------
16
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
20
21 Data:
22
23 - "actual": actual level of the guest memory balloon in bytes (json-number)
24
25 Example:
26
27 { "event": "BALLOON_CHANGE",
28     "data": { "actual": 944766976 },
29     "timestamp": { "seconds": 1267020223, "microseconds": 435656 } }
30
31 BLOCK_IMAGE_CORRUPTED
32 ---------------------
33
34 Emitted when a disk image is being marked corrupt.
35
36 Data:
37
38 - "device": Device name (json-string)
39 - "msg":    Informative message (e.g., reason for the corruption) (json-string)
40 - "offset": If the corruption resulted from an image access, this is the access
41             offset into the image (json-int)
42 - "size":   If the corruption resulted from an image access, this is the access
43             size (json-int)
44
45 Example:
46
47 { "event": "BLOCK_IMAGE_CORRUPTED",
48     "data": { "device": "ide0-hd0",
49         "msg": "Prevented active L1 table overwrite", "offset": 196608,
50         "size": 65536 },
51     "timestamp": { "seconds": 1378126126, "microseconds": 966463 } }
52
53 BLOCK_IO_ERROR
54 --------------
55
56 Emitted when a disk I/O error occurs.
57
58 Data:
59
60 - "device": device name (json-string)
61 - "operation": I/O operation (json-string, "read" or "write")
62 - "action": action that has been taken, it's one of the following (json-string):
63     "ignore": error has been ignored
64     "report": error has been reported to the device
65     "stop": the VM is going to stop because of the error
66
67 Example:
68
69 { "event": "BLOCK_IO_ERROR",
70     "data": { "device": "ide0-hd1",
71               "operation": "write",
72               "action": "stop" },
73     "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }
74
75 Note: If action is "stop", a STOP event will eventually follow the
76 BLOCK_IO_ERROR event.
77
78 BLOCK_JOB_CANCELLED
79 -------------------
80
81 Emitted when a block job has been cancelled.
82
83 Data:
84
85 - "type":     Job type (json-string; "stream" for image streaming
86                                      "commit" for block commit)
87 - "device":   Device name (json-string)
88 - "len":      Maximum progress value (json-int)
89 - "offset":   Current progress value (json-int)
90               On success this is equal to len.
91               On failure this is less than len.
92 - "speed":    Rate limit, bytes per second (json-int)
93
94 Example:
95
96 { "event": "BLOCK_JOB_CANCELLED",
97      "data": { "type": "stream", "device": "virtio-disk0",
98                "len": 10737418240, "offset": 134217728,
99                "speed": 0 },
100      "timestamp": { "seconds": 1267061043, "microseconds": 959568 } }
101
102 BLOCK_JOB_COMPLETED
103 -------------------
104
105 Emitted when a block job has completed.
106
107 Data:
108
109 - "type":     Job type (json-string; "stream" for image streaming
110                                      "commit" for block commit)
111 - "device":   Device name (json-string)
112 - "len":      Maximum progress value (json-int)
113 - "offset":   Current progress value (json-int)
114               On success this is equal to len.
115               On failure this is less than len.
116 - "speed":    Rate limit, bytes per second (json-int)
117 - "error":    Error message (json-string, optional)
118               Only present on failure.  This field contains a human-readable
119               error message.  There are no semantics other than that streaming
120               has failed and clients should not try to interpret the error
121               string.
122
123 Example:
124
125 { "event": "BLOCK_JOB_COMPLETED",
126      "data": { "type": "stream", "device": "virtio-disk0",
127                "len": 10737418240, "offset": 10737418240,
128                "speed": 0 },
129      "timestamp": { "seconds": 1267061043, "microseconds": 959568 } }
130
131 BLOCK_JOB_ERROR
132 ---------------
133
134 Emitted when a block job encounters an error.
135
136 Data:
137
138 - "device": device name (json-string)
139 - "operation": I/O operation (json-string, "read" or "write")
140 - "action": action that has been taken, it's one of the following (json-string):
141     "ignore": error has been ignored, the job may fail later
142     "report": error will be reported and the job canceled
143     "stop": error caused job to be paused
144
145 Example:
146
147 { "event": "BLOCK_JOB_ERROR",
148     "data": { "device": "ide0-hd1",
149               "operation": "write",
150               "action": "stop" },
151     "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }
152
153 BLOCK_JOB_READY
154 ---------------
155
156 Emitted when a block job is ready to complete.
157
158 Data:
159
160 - "type":     Job type (json-string; "stream" for image streaming
161                                      "commit" for block commit)
162 - "device":   Device name (json-string)
163 - "len":      Maximum progress value (json-int)
164 - "offset":   Current progress value (json-int)
165               On success this is equal to len.
166               On failure this is less than len.
167 - "speed":    Rate limit, bytes per second (json-int)
168
169 Example:
170
171 { "event": "BLOCK_JOB_READY",
172     "data": { "device": "drive0", "type": "mirror", "speed": 0,
173               "len": 2097152, "offset": 2097152 }
174     "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }
175
176 Note: The "ready to complete" status is always reset by a BLOCK_JOB_ERROR
177 event.
178
179 DEVICE_DELETED
180 --------------
181
182 Emitted whenever the device removal completion is acknowledged
183 by the guest.
184 At this point, it's safe to reuse the specified device ID.
185 Device removal can be initiated by the guest or by HMP/QMP commands.
186
187 Data:
188
189 - "device": device name (json-string, optional)
190 - "path": device path (json-string)
191
192 { "event": "DEVICE_DELETED",
193   "data": { "device": "virtio-net-pci-0",
194             "path": "/machine/peripheral/virtio-net-pci-0" },
195   "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }
196
197 DEVICE_TRAY_MOVED
198 -----------------
199
200 It's emitted whenever the tray of a removable device is moved by the guest
201 or by HMP/QMP commands.
202
203 Data:
204
205 - "device": device name (json-string)
206 - "tray-open": true if the tray has been opened or false if it has been closed
207                (json-bool)
208
209 { "event": "DEVICE_TRAY_MOVED",
210   "data": { "device": "ide1-cd0",
211             "tray-open": true
212   },
213   "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }
214
215 GUEST_PANICKED
216 --------------
217
218 Emitted when guest OS panic is detected.
219
220 Data:
221
222 - "action": Action that has been taken (json-string, currently always "pause").
223
224 Example:
225
226 { "event": "GUEST_PANICKED",
227      "data": { "action": "pause" } }
228
229 NIC_RX_FILTER_CHANGED
230 ---------------------
231
232 The event is emitted once until the query command is executed,
233 the first event will always be emitted.
234
235 Data:
236
237 - "name": net client name (json-string)
238 - "path": device path (json-string)
239
240 { "event": "NIC_RX_FILTER_CHANGED",
241   "data": { "name": "vnet0",
242             "path": "/machine/peripheral/vnet0/virtio-backend" },
243   "timestamp": { "seconds": 1368697518, "microseconds": 326866 } }
244 }
245
246 QUORUM_FAILURE
247 --------------
248
249 Emitted by the Quorum block driver if it fails to establish a quorum.
250
251 Data:
252
253 - "reference":     device name if defined else node name.
254 - "sector-num":    Number of the first sector of the failed read operation.
255 - "sectors-count": Failed read operation sector count.
256
257 Example:
258
259 { "event": "QUORUM_FAILURE",
260      "data": { "reference": "usr1", "sector-num": 345435, "sectors-count": 5 },
261      "timestamp": { "seconds": 1344522075, "microseconds": 745528 } }
262
263 QUORUM_REPORT_BAD
264 -----------------
265
266 Emitted to report a corruption of a Quorum file.
267
268 Data:
269
270 - "error":         Error message (json-string, optional)
271                    Only present on failure.  This field contains a human-readable
272                    error message.  There are no semantics other than that the
273                    block layer reported an error and clients should not try to
274                    interpret the error string.
275 - "node-name":     The graph node name of the block driver state.
276 - "sector-num":    Number of the first sector of the failed read operation.
277 - "sectors-count": Failed read operation sector count.
278
279 Example:
280
281 { "event": "QUORUM_REPORT_BAD",
282      "data": { "node-name": "1.raw", "sector-num": 345435, "sectors-count": 5 },
283      "timestamp": { "seconds": 1344522075, "microseconds": 745528 } }
284
285 RESET
286 -----
287
288 Emitted when the Virtual Machine is reset.
289
290 Data: None.
291
292 Example:
293
294 { "event": "RESET",
295     "timestamp": { "seconds": 1267041653, "microseconds": 9518 } }
296
297 RESUME
298 ------
299
300 Emitted when the Virtual Machine resumes execution.
301
302 Data: None.
303
304 Example:
305
306 { "event": "RESUME",
307     "timestamp": { "seconds": 1271770767, "microseconds": 582542 } }
308
309 RTC_CHANGE
310 ----------
311
312 Emitted when the guest changes the RTC time.
313
314 Data:
315
316 - "offset": Offset between base RTC clock (as specified by -rtc base), and
317 new RTC clock value (json-number)
318
319 Example:
320
321 { "event": "RTC_CHANGE",
322     "data": { "offset": 78 },
323     "timestamp": { "seconds": 1267020223, "microseconds": 435656 } }
324
325 SHUTDOWN
326 --------
327
328 Emitted when the Virtual Machine is powered down.
329
330 Data: None.
331
332 Example:
333
334 { "event": "SHUTDOWN",
335     "timestamp": { "seconds": 1267040730, "microseconds": 682951 } }
336
337 Note: If the command-line option "-no-shutdown" has been specified, a STOP
338 event will eventually follow the SHUTDOWN event.
339
340 SPICE_CONNECTED, SPICE_DISCONNECTED
341 -----------------------------------
342
343 Emitted when a SPICE client connects or disconnects.
344
345 Data:
346
347 - "server": Server information (json-object)
348   - "host": IP address (json-string)
349   - "port": port number (json-string)
350   - "family": address family (json-string, "ipv4" or "ipv6")
351 - "client": Client information (json-object)
352   - "host": IP address (json-string)
353   - "port": port number (json-string)
354   - "family": address family (json-string, "ipv4" or "ipv6")
355
356 Example:
357
358 { "timestamp": {"seconds": 1290688046, "microseconds": 388707},
359   "event": "SPICE_CONNECTED",
360   "data": {
361     "server": { "port": "5920", "family": "ipv4", "host": "127.0.0.1"},
362     "client": {"port": "52873", "family": "ipv4", "host": "127.0.0.1"}
363 }}
364
365 SPICE_INITIALIZED
366 -----------------
367
368 Emitted after initial handshake and authentication takes place (if any)
369 and the SPICE channel is up and running
370
371 Data:
372
373 - "server": Server information (json-object)
374   - "host": IP address (json-string)
375   - "port": port number (json-string)
376   - "family": address family (json-string, "ipv4" or "ipv6")
377   - "auth": authentication method (json-string, optional)
378 - "client": Client information (json-object)
379   - "host": IP address (json-string)
380   - "port": port number (json-string)
381   - "family": address family (json-string, "ipv4" or "ipv6")
382   - "connection-id": spice connection id.  All channels with the same id
383                      belong to the same spice session (json-int)
384   - "channel-type": channel type.  "1" is the main control channel, filter for
385                     this one if you want track spice sessions only (json-int)
386   - "channel-id": channel id.  Usually "0", might be different needed when
387                   multiple channels of the same type exist, such as multiple
388                   display channels in a multihead setup (json-int)
389   - "tls": whevener the channel is encrypted (json-bool)
390
391 Example:
392
393 { "timestamp": {"seconds": 1290688046, "microseconds": 417172},
394   "event": "SPICE_INITIALIZED",
395   "data": {"server": {"auth": "spice", "port": "5921",
396                       "family": "ipv4", "host": "127.0.0.1"},
397            "client": {"port": "49004", "family": "ipv4", "channel-type": 3,
398                       "connection-id": 1804289383, "host": "127.0.0.1",
399                       "channel-id": 0, "tls": true}
400 }}
401
402 STOP
403 ----
404
405 Emitted when the Virtual Machine is stopped.
406
407 Data: None.
408
409 Example:
410
411 { "event": "STOP",
412     "timestamp": { "seconds": 1267041730, "microseconds": 281295 } }
413
414 SUSPEND
415 -------
416
417 Emitted when guest enters S3 state.
418
419 Data: None.
420
421 Example:
422
423 { "event": "SUSPEND",
424      "timestamp": { "seconds": 1344456160, "microseconds": 309119 } }
425
426 SUSPEND_DISK
427 ------------
428
429 Emitted when the guest makes a request to enter S4 state.
430
431 Data: None.
432
433 Example:
434
435 { "event": "SUSPEND_DISK",
436      "timestamp": { "seconds": 1344456160, "microseconds": 309119 } }
437
438 Note: QEMU shuts down when entering S4 state.
439
440 VNC_CONNECTED
441 -------------
442
443 Emitted when a VNC client establishes a connection.
444
445 Data:
446
447 - "server": Server information (json-object)
448   - "host": IP address (json-string)
449   - "service": port number (json-string)
450   - "family": address family (json-string, "ipv4" or "ipv6")
451   - "auth": authentication method (json-string, optional)
452 - "client": Client information (json-object)
453   - "host": IP address (json-string)
454   - "service": port number (json-string)
455   - "family": address family (json-string, "ipv4" or "ipv6")
456
457 Example:
458
459 { "event": "VNC_CONNECTED",
460     "data": {
461         "server": { "auth": "sasl", "family": "ipv4",
462                     "service": "5901", "host": "0.0.0.0" },
463         "client": { "family": "ipv4", "service": "58425",
464                     "host": "127.0.0.1" } },
465     "timestamp": { "seconds": 1262976601, "microseconds": 975795 } }
466
467
468 Note: This event is emitted before any authentication takes place, thus
469 the authentication ID is not provided.
470
471 VNC_DISCONNECTED
472 ----------------
473
474 Emitted when the connection is closed.
475
476 Data:
477
478 - "server": Server information (json-object)
479   - "host": IP address (json-string)
480   - "service": port number (json-string)
481   - "family": address family (json-string, "ipv4" or "ipv6")
482   - "auth": authentication method (json-string, optional)
483 - "client": Client information (json-object)
484   - "host": IP address (json-string)
485   - "service": port number (json-string)
486   - "family": address family (json-string, "ipv4" or "ipv6")
487   - "x509_dname": TLS dname (json-string, optional)
488   - "sasl_username": SASL username (json-string, optional)
489
490 Example:
491
492 { "event": "VNC_DISCONNECTED",
493     "data": {
494         "server": { "auth": "sasl", "family": "ipv4",
495                     "service": "5901", "host": "0.0.0.0" },
496         "client": { "family": "ipv4", "service": "58425",
497                     "host": "127.0.0.1", "sasl_username": "luiz" } },
498     "timestamp": { "seconds": 1262976601, "microseconds": 975795 } }
499
500 VNC_INITIALIZED
501 ---------------
502
503 Emitted after authentication takes place (if any) and the VNC session is
504 made active.
505
506 Data:
507
508 - "server": Server information (json-object)
509   - "host": IP address (json-string)
510   - "service": port number (json-string)
511   - "family": address family (json-string, "ipv4" or "ipv6")
512   - "auth": authentication method (json-string, optional)
513 - "client": Client information (json-object)
514   - "host": IP address (json-string)
515   - "service": port number (json-string)
516   - "family": address family (json-string, "ipv4" or "ipv6")
517   - "x509_dname": TLS dname (json-string, optional)
518   - "sasl_username": SASL username (json-string, optional)
519
520 Example:
521
522 { "event": "VNC_INITIALIZED",
523     "data": {
524         "server": { "auth": "sasl", "family": "ipv4",
525                     "service": "5901", "host": "0.0.0.0"},
526         "client": { "family": "ipv4", "service": "46089",
527                     "host": "127.0.0.1", "sasl_username": "luiz" } },
528         "timestamp": { "seconds": 1263475302, "microseconds": 150772 } }
529
530 WAKEUP
531 ------
532
533 Emitted when the guest has woken up from S3 and is running.
534
535 Data: None.
536
537 Example:
538
539 { "event": "WAKEUP",
540      "timestamp": { "seconds": 1344522075, "microseconds": 745528 } }
541
542 WATCHDOG
543 --------
544
545 Emitted when the watchdog device's timer is expired.
546
547 Data:
548
549 - "action": Action that has been taken, it's one of the following (json-string):
550             "reset", "shutdown", "poweroff", "pause", "debug", or "none"
551
552 Example:
553
554 { "event": "WATCHDOG",
555      "data": { "action": "reset" },
556      "timestamp": { "seconds": 1267061043, "microseconds": 959568 } }
557
558 Note: If action is "reset", "shutdown", or "pause" the WATCHDOG event is
559 followed respectively by the RESET, SHUTDOWN, or STOP events.