]> git.proxmox.com Git - qemu.git/blob - QMP/qmp-events.txt
Merge remote-tracking branch 'afaerber-or/qom-next-2' into staging
[qemu.git] / QMP / qmp-events.txt
1 QEMU Monitor Protocol Events
2 ============================
3
4 BLOCK_IO_ERROR
5 --------------
6
7 Emitted when a disk I/O error occurs.
8
9 Data:
10
11 - "device": device name (json-string)
12 - "operation": I/O operation (json-string, "read" or "write")
13 - "action": action that has been taken, it's one of the following (json-string):
14 "ignore": error has been ignored
15 "report": error has been reported to the device
16 "stop": error caused VM to be stopped
17
18 Example:
19
20 { "event": "BLOCK_IO_ERROR",
21 "data": { "device": "ide0-hd1",
22 "operation": "write",
23 "action": "stop" },
24 "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }
25
26 Note: If action is "stop", a STOP event will eventually follow the
27 BLOCK_IO_ERROR event.
28
29 DEVICE_TRAY_MOVED
30 -----------------
31
32 It's emitted whenever the tray of a removable device is moved by the guest
33 or by HMP/QMP commands.
34
35 Data:
36
37 - "device": device name (json-string)
38 - "tray-open": true if the tray has been opened or false if it has been closed
39 (json-bool)
40
41 { "event": "DEVICE_TRAY_MOVED",
42 "data": { "device": "ide1-cd0",
43 "tray-open": true
44 },
45 "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }
46
47 RESET
48 -----
49
50 Emitted when the Virtual Machine is reseted.
51
52 Data: None.
53
54 Example:
55
56 { "event": "RESET",
57 "timestamp": { "seconds": 1267041653, "microseconds": 9518 } }
58
59 RESUME
60 ------
61
62 Emitted when the Virtual Machine resumes execution.
63
64 Data: None.
65
66 Example:
67
68 { "event": "RESUME",
69 "timestamp": { "seconds": 1271770767, "microseconds": 582542 } }
70
71 RTC_CHANGE
72 ----------
73
74 Emitted when the guest changes the RTC time.
75
76 Data:
77
78 - "offset": delta against the host UTC in seconds (json-number)
79
80 Example:
81
82 { "event": "RTC_CHANGE",
83 "data": { "offset": 78 },
84 "timestamp": { "seconds": 1267020223, "microseconds": 435656 } }
85
86 SHUTDOWN
87 --------
88
89 Emitted when the Virtual Machine is powered down.
90
91 Data: None.
92
93 Example:
94
95 { "event": "SHUTDOWN",
96 "timestamp": { "seconds": 1267040730, "microseconds": 682951 } }
97
98 Note: If the command-line option "-no-shutdown" has been specified, a STOP
99 event will eventually follow the SHUTDOWN event.
100
101 STOP
102 ----
103
104 Emitted when the Virtual Machine is stopped.
105
106 Data: None.
107
108 Example:
109
110 { "event": "STOP",
111 "timestamp": { "seconds": 1267041730, "microseconds": 281295 } }
112
113 VNC_CONNECTED
114 -------------
115
116 Emitted when a VNC client establishes a connection.
117
118 Data:
119
120 - "server": Server information (json-object)
121 - "host": IP address (json-string)
122 - "service": port number (json-string)
123 - "family": address family (json-string, "ipv4" or "ipv6")
124 - "auth": authentication method (json-string, optional)
125 - "client": Client information (json-object)
126 - "host": IP address (json-string)
127 - "service": port number (json-string)
128 - "family": address family (json-string, "ipv4" or "ipv6")
129
130 Example:
131
132 { "event": "VNC_CONNECTED",
133 "data": {
134 "server": { "auth": "sasl", "family": "ipv4",
135 "service": "5901", "host": "0.0.0.0" },
136 "client": { "family": "ipv4", "service": "58425",
137 "host": "127.0.0.1" } },
138 "timestamp": { "seconds": 1262976601, "microseconds": 975795 } }
139
140
141 Note: This event is emitted before any authentication takes place, thus
142 the authentication ID is not provided.
143
144 VNC_DISCONNECTED
145 ----------------
146
147 Emitted when the connection is closed.
148
149 Data:
150
151 - "server": Server information (json-object)
152 - "host": IP address (json-string)
153 - "service": port number (json-string)
154 - "family": address family (json-string, "ipv4" or "ipv6")
155 - "auth": authentication method (json-string, optional)
156 - "client": Client information (json-object)
157 - "host": IP address (json-string)
158 - "service": port number (json-string)
159 - "family": address family (json-string, "ipv4" or "ipv6")
160 - "x509_dname": TLS dname (json-string, optional)
161 - "sasl_username": SASL username (json-string, optional)
162
163 Example:
164
165 { "event": "VNC_DISCONNECTED",
166 "data": {
167 "server": { "auth": "sasl", "family": "ipv4",
168 "service": "5901", "host": "0.0.0.0" },
169 "client": { "family": "ipv4", "service": "58425",
170 "host": "127.0.0.1", "sasl_username": "luiz" } },
171 "timestamp": { "seconds": 1262976601, "microseconds": 975795 } }
172
173 VNC_INITIALIZED
174 ---------------
175
176 Emitted after authentication takes place (if any) and the VNC session is
177 made active.
178
179 Data:
180
181 - "server": Server information (json-object)
182 - "host": IP address (json-string)
183 - "service": port number (json-string)
184 - "family": address family (json-string, "ipv4" or "ipv6")
185 - "auth": authentication method (json-string, optional)
186 - "client": Client information (json-object)
187 - "host": IP address (json-string)
188 - "service": port number (json-string)
189 - "family": address family (json-string, "ipv4" or "ipv6")
190 - "x509_dname": TLS dname (json-string, optional)
191 - "sasl_username": SASL username (json-string, optional)
192
193 Example:
194
195 { "event": "VNC_INITIALIZED",
196 "data": {
197 "server": { "auth": "sasl", "family": "ipv4",
198 "service": "5901", "host": "0.0.0.0"},
199 "client": { "family": "ipv4", "service": "46089",
200 "host": "127.0.0.1", "sasl_username": "luiz" } },
201 "timestamp": { "seconds": 1263475302, "microseconds": 150772 } }
202
203 SPICE_CONNECTED, SPICE_DISCONNECTED
204 -----------------------------------
205
206 Emitted when a SPICE client connects or disconnects.
207
208 Data:
209
210 - "server": Server information (json-object)
211 - "host": IP address (json-string)
212 - "port": port number (json-string)
213 - "family": address family (json-string, "ipv4" or "ipv6")
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
219 Example:
220
221 { "timestamp": {"seconds": 1290688046, "microseconds": 388707},
222 "event": "SPICE_CONNECTED",
223 "data": {
224 "server": { "port": "5920", "family": "ipv4", "host": "127.0.0.1"},
225 "client": {"port": "52873", "family": "ipv4", "host": "127.0.0.1"}
226 }}
227
228
229 SPICE_INITIALIZED
230 -----------------
231
232 Emitted after initial handshake and authentication takes place (if any)
233 and the SPICE channel is up'n'running
234
235 Data:
236
237 - "server": Server information (json-object)
238 - "host": IP address (json-string)
239 - "port": port number (json-string)
240 - "family": address family (json-string, "ipv4" or "ipv6")
241 - "auth": authentication method (json-string, optional)
242 - "client": Client information (json-object)
243 - "host": IP address (json-string)
244 - "port": port number (json-string)
245 - "family": address family (json-string, "ipv4" or "ipv6")
246 - "connection-id": spice connection id. All channels with the same id
247 belong to the same spice session (json-int)
248 - "channel-type": channel type. "1" is the main control channel, filter for
249 this one if you want track spice sessions only (json-int)
250 - "channel-id": channel id. Usually "0", might be different needed when
251 multiple channels of the same type exist, such as multiple
252 display channels in a multihead setup (json-int)
253 - "tls": whevener the channel is encrypted (json-bool)
254
255 Example:
256
257 { "timestamp": {"seconds": 1290688046, "microseconds": 417172},
258 "event": "SPICE_INITIALIZED",
259 "data": {"server": {"auth": "spice", "port": "5921",
260 "family": "ipv4", "host": "127.0.0.1"},
261 "client": {"port": "49004", "family": "ipv4", "channel-type": 3,
262 "connection-id": 1804289383, "host": "127.0.0.1",
263 "channel-id": 0, "tls": true}
264 }}
265
266
267 WATCHDOG
268 --------
269
270 Emitted when the watchdog device's timer is expired.
271
272 Data:
273
274 - "action": Action that has been taken, it's one of the following (json-string):
275 "reset", "shutdown", "poweroff", "pause", "debug", or "none"
276
277 Example:
278
279 { "event": "WATCHDOG",
280 "data": { "action": "reset" },
281 "timestamp": { "seconds": 1267061043, "microseconds": 959568 } }
282
283 Note: If action is "reset", "shutdown", or "pause" the WATCHDOG event is
284 followed respectively by the RESET, SHUTDOWN, or STOP events.
285
286
287 BLOCK_JOB_COMPLETED
288 -------------------
289
290 Emitted when a block job has completed.
291
292 Data:
293
294 - "type": Job type ("stream" for image streaming, json-string)
295 - "device": Device name (json-string)
296 - "len": Maximum progress value (json-int)
297 - "offset": Current progress value (json-int)
298 On success this is equal to len.
299 On failure this is less than len.
300 - "speed": Rate limit, bytes per second (json-int)
301 - "error": Error message (json-string, optional)
302 Only present on failure. This field contains a human-readable
303 error message. There are no semantics other than that streaming
304 has failed and clients should not try to interpret the error
305 string.
306
307 Example:
308
309 { "event": "BLOCK_JOB_COMPLETED",
310 "data": { "type": "stream", "device": "virtio-disk0",
311 "len": 10737418240, "offset": 10737418240,
312 "speed": 0 },
313 "timestamp": { "seconds": 1267061043, "microseconds": 959568 } }
314
315
316 BLOCK_JOB_CANCELLED
317 -------------------
318
319 Emitted when a block job has been cancelled.
320
321 Data:
322
323 - "type": Job type ("stream" for image streaming, json-string)
324 - "device": Device name (json-string)
325 - "len": Maximum progress value (json-int)
326 - "offset": Current progress value (json-int)
327 On success this is equal to len.
328 On failure this is less than len.
329 - "speed": Rate limit, bytes per second (json-int)
330
331 Example:
332
333 { "event": "BLOCK_JOB_CANCELLED",
334 "data": { "type": "stream", "device": "virtio-disk0",
335 "len": 10737418240, "offset": 134217728,
336 "speed": 0 },
337 "timestamp": { "seconds": 1267061043, "microseconds": 959568 } }
338
339
340 BALLOON_CHANGE
341 ----------
342
343 Emitted when the guest changes the actual BALLOON level. This
344 value is equivalent to the 'actual' field return by the
345 'query-balloon' command
346
347 Data:
348
349 - "actual": actual level of the guest memory balloon in bytes (json-number)
350
351 Example:
352
353 { "event": "BALLOON_CHANGE",
354 "data": { "actual": 944766976 },
355 "timestamp": { "seconds": 1267020223, "microseconds": 435656 } }