root / QMP / qmp-events.txt @ 814589c4
History | View | Annotate | Download (10.1 kB)
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 } } |