event.json 13.8 KB
Newer Older
1 2 3 4 5 6
# -*- Mode: Python -*-

##
# = Other events
##

W
Wenchao Xia 已提交
7
##
8
# @SHUTDOWN:
W
Wenchao Xia 已提交
9
#
W
Wenchao Xia 已提交
10 11
# Emitted when the virtual machine has shut down, indicating that qemu is
# about to exit.
W
Wenchao Xia 已提交
12 13 14 15 16
#
# Note: If the command-line option "-no-shutdown" has been specified, qemu will
# not exit, and a STOP event will eventually follow the SHUTDOWN event
#
# Since: 0.12.0
17 18 19 20 21 22
#
# Example:
#
# <- { "event": "SHUTDOWN",
#      "timestamp": { "seconds": 1267040730, "microseconds": 682951 } }
#
W
Wenchao Xia 已提交
23 24
##
{ 'event': 'SHUTDOWN' }
W
Wenchao Xia 已提交
25 26

##
27
# @POWERDOWN:
W
Wenchao Xia 已提交
28 29 30 31 32
#
# Emitted when the virtual machine is powered down through the power control
# system, such as via ACPI.
#
# Since: 0.12.0
33 34 35 36 37 38
#
# Example:
#
# <- { "event": "POWERDOWN",
#      "timestamp": { "seconds": 1267040730, "microseconds": 682951 } }
#
W
Wenchao Xia 已提交
39 40
##
{ 'event': 'POWERDOWN' }
W
Wenchao Xia 已提交
41 42

##
43
# @RESET:
W
Wenchao Xia 已提交
44 45 46 47
#
# Emitted when the virtual machine is reset
#
# Since: 0.12.0
48 49 50 51 52 53
#
# Example:
#
# <- { "event": "RESET",
#      "timestamp": { "seconds": 1267041653, "microseconds": 9518 } }
#
W
Wenchao Xia 已提交
54 55
##
{ 'event': 'RESET' }
W
Wenchao Xia 已提交
56 57

##
58
# @STOP:
W
Wenchao Xia 已提交
59 60 61 62
#
# Emitted when the virtual machine is stopped
#
# Since: 0.12.0
63 64 65 66 67 68
#
# Example:
#
# <- { "event": "STOP",
#      "timestamp": { "seconds": 1267041730, "microseconds": 281295 } }
#
W
Wenchao Xia 已提交
69 70
##
{ 'event': 'STOP' }
W
Wenchao Xia 已提交
71 72

##
73
# @RESUME:
W
Wenchao Xia 已提交
74 75 76 77
#
# Emitted when the virtual machine resumes execution
#
# Since: 0.12.0
78 79 80 81 82 83
#
# Example:
#
# <- { "event": "RESUME",
#      "timestamp": { "seconds": 1271770767, "microseconds": 582542 } }
#
W
Wenchao Xia 已提交
84 85
##
{ 'event': 'RESUME' }
W
Wenchao Xia 已提交
86 87

##
88
# @SUSPEND:
W
Wenchao Xia 已提交
89 90 91 92 93
#
# Emitted when guest enters a hardware suspension state, for example, S3 state,
# which is sometimes called standby state
#
# Since: 1.1
94 95 96 97 98 99
#
# Example:
#
# <- { "event": "SUSPEND",
#      "timestamp": { "seconds": 1344456160, "microseconds": 309119 } }
#
W
Wenchao Xia 已提交
100 101
##
{ 'event': 'SUSPEND' }
W
Wenchao Xia 已提交
102 103

##
104
# @SUSPEND_DISK:
W
Wenchao Xia 已提交
105 106 107 108 109 110 111
#
# Emitted when guest enters a hardware suspension state with data saved on
# disk, for example, S4 state, which is sometimes called hibernate state
#
# Note: QEMU shuts down (similar to event @SHUTDOWN) when entering this state
#
# Since: 1.2
112 113 114 115 116 117
#
# Example:
#
# <-   { "event": "SUSPEND_DISK",
#        "timestamp": { "seconds": 1344456160, "microseconds": 309119 } }
#
W
Wenchao Xia 已提交
118 119
##
{ 'event': 'SUSPEND_DISK' }
W
Wenchao Xia 已提交
120 121

##
122
# @WAKEUP:
W
Wenchao Xia 已提交
123 124 125 126
#
# Emitted when the guest has woken up from suspend state and is running
#
# Since: 1.1
127 128 129 130 131 132
#
# Example:
#
# <- { "event": "WAKEUP",
#      "timestamp": { "seconds": 1344522075, "microseconds": 745528 } }
#
W
Wenchao Xia 已提交
133 134
##
{ 'event': 'WAKEUP' }
W
Wenchao Xia 已提交
135 136

##
137
# @RTC_CHANGE:
W
Wenchao Xia 已提交
138 139 140 141 142 143
#
# Emitted when the guest changes the RTC time.
#
# @offset: offset between base RTC clock (as specified by -rtc base), and
#          new RTC clock value
#
144 145
# Note: This event is rate-limited.
#
W
Wenchao Xia 已提交
146
# Since: 0.13.0
147 148 149 150 151 152 153
#
# Example:
#
# <-   { "event": "RTC_CHANGE",
#        "data": { "offset": 78 },
#        "timestamp": { "seconds": 1267020223, "microseconds": 435656 } }
#
W
Wenchao Xia 已提交
154 155 156
##
{ 'event': 'RTC_CHANGE',
  'data': { 'offset': 'int' } }
W
Wenchao Xia 已提交
157 158

##
159
# @WATCHDOG:
W
Wenchao Xia 已提交
160 161 162 163 164 165 166 167
#
# Emitted when the watchdog device's timer is expired
#
# @action: action that has been taken
#
# Note: If action is "reset", "shutdown", or "pause" the WATCHDOG event is
# followed respectively by the RESET, SHUTDOWN, or STOP events
#
168 169
# Note: This event is rate-limited.
#
W
Wenchao Xia 已提交
170
# Since: 0.13.0
171 172 173 174 175 176 177
#
# Example:
#
# <- { "event": "WATCHDOG",
#      "data": { "action": "reset" },
#      "timestamp": { "seconds": 1267061043, "microseconds": 959568 } }
#
W
Wenchao Xia 已提交
178 179 180
##
{ 'event': 'WATCHDOG',
  'data': { 'action': 'WatchdogExpirationAction' } }
W
Wenchao Xia 已提交
181 182

##
183
# @DEVICE_DELETED:
W
Wenchao Xia 已提交
184 185 186 187 188 189 190 191 192 193
#
# Emitted whenever the device removal completion is acknowledged by the guest.
# At this point, it's safe to reuse the specified device ID. Device removal can
# be initiated by the guest or by HMP/QMP commands.
#
# @device: #optional, device name
#
# @path: device path
#
# Since: 1.5
194 195 196 197 198 199 200 201
#
# Example:
#
# <- { "event": "DEVICE_DELETED",
#      "data": { "device": "virtio-net-pci-0",
#                "path": "/machine/peripheral/virtio-net-pci-0" },
#      "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }
#
W
Wenchao Xia 已提交
202 203 204
##
{ 'event': 'DEVICE_DELETED',
  'data': { '*device': 'str', 'path': 'str' } }
205 206

##
207
# @NIC_RX_FILTER_CHANGED:
208 209 210 211 212 213 214 215 216
#
# Emitted once until the 'query-rx-filter' command is executed, the first event
# will always be emitted
#
# @name: #optional, net client name
#
# @path: device path
#
# Since: 1.6
217 218 219 220 221 222 223 224 225
#
# Example:
#
# <- { "event": "NIC_RX_FILTER_CHANGED",
#      "data": { "name": "vnet0",
#                "path": "/machine/peripheral/vnet0/virtio-backend" },
#      "timestamp": { "seconds": 1368697518, "microseconds": 326866 } }
#    }
#
226 227 228
##
{ 'event': 'NIC_RX_FILTER_CHANGED',
  'data': { '*name': 'str', 'path': 'str' } }
W
Wenchao Xia 已提交
229 230

##
231
# @VNC_CONNECTED:
W
Wenchao Xia 已提交
232 233 234 235 236 237 238 239 240 241 242
#
# Emitted when a VNC client establishes a connection
#
# @server: server information
#
# @client: client information
#
# Note: This event is emitted before any authentication takes place, thus
# the authentication ID is not provided
#
# Since: 0.13.0
243 244 245 246 247 248 249 250 251 252 253
#
# Example:
#
# <- { "event": "VNC_CONNECTED",
#      "data": {
#            "server": { "auth": "sasl", "family": "ipv4",
#                        "service": "5901", "host": "0.0.0.0" },
#            "client": { "family": "ipv4", "service": "58425",
#                        "host": "127.0.0.1" } },
#      "timestamp": { "seconds": 1262976601, "microseconds": 975795 } }
#
W
Wenchao Xia 已提交
254 255 256 257 258 259
##
{ 'event': 'VNC_CONNECTED',
  'data': { 'server': 'VncServerInfo',
            'client': 'VncBasicInfo' } }

##
260
# @VNC_INITIALIZED:
W
Wenchao Xia 已提交
261 262 263 264 265 266 267 268 269
#
# Emitted after authentication takes place (if any) and the VNC session is
# made active
#
# @server: server information
#
# @client: client information
#
# Since: 0.13.0
270 271 272 273 274 275 276 277 278 279 280
#
# Example:
#
# <-  { "event": "VNC_INITIALIZED",
#       "data": {
#            "server": { "auth": "sasl", "family": "ipv4",
#                        "service": "5901", "host": "0.0.0.0"},
#            "client": { "family": "ipv4", "service": "46089",
#                        "host": "127.0.0.1", "sasl_username": "luiz" } },
#       "timestamp": { "seconds": 1263475302, "microseconds": 150772 } }
#
W
Wenchao Xia 已提交
281 282 283 284 285 286
##
{ 'event': 'VNC_INITIALIZED',
  'data': { 'server': 'VncServerInfo',
            'client': 'VncClientInfo' } }

##
287
# @VNC_DISCONNECTED:
W
Wenchao Xia 已提交
288 289 290 291 292 293 294 295
#
# Emitted when the connection is closed
#
# @server: server information
#
# @client: client information
#
# Since: 0.13.0
296 297 298 299 300 301 302 303 304 305 306
#
# Example:
#
# <- { "event": "VNC_DISCONNECTED",
#      "data": {
#            "server": { "auth": "sasl", "family": "ipv4",
#                        "service": "5901", "host": "0.0.0.0" },
#            "client": { "family": "ipv4", "service": "58425",
#                        "host": "127.0.0.1", "sasl_username": "luiz" } },
#      "timestamp": { "seconds": 1262976601, "microseconds": 975795 } }
#
W
Wenchao Xia 已提交
307 308 309 310
##
{ 'event': 'VNC_DISCONNECTED',
  'data': { 'server': 'VncServerInfo',
            'client': 'VncClientInfo' } }
W
Wenchao Xia 已提交
311 312

##
313
# @SPICE_CONNECTED:
W
Wenchao Xia 已提交
314 315 316 317 318 319 320 321
#
# Emitted when a SPICE client establishes a connection
#
# @server: server information
#
# @client: client information
#
# Since: 0.14.0
322 323 324 325 326 327 328 329 330 331
#
# Example:
#
# <- { "timestamp": {"seconds": 1290688046, "microseconds": 388707},
#      "event": "SPICE_CONNECTED",
#      "data": {
#        "server": { "port": "5920", "family": "ipv4", "host": "127.0.0.1"},
#        "client": {"port": "52873", "family": "ipv4", "host": "127.0.0.1"}
#    }}
#
W
Wenchao Xia 已提交
332 333 334 335 336 337
##
{ 'event': 'SPICE_CONNECTED',
  'data': { 'server': 'SpiceBasicInfo',
            'client': 'SpiceBasicInfo' } }

##
338
# @SPICE_INITIALIZED:
W
Wenchao Xia 已提交
339 340 341 342 343 344 345 346 347
#
# Emitted after initial handshake and authentication takes place (if any)
# and the SPICE channel is up and running
#
# @server: server information
#
# @client: client information
#
# Since: 0.14.0
348 349 350 351 352 353 354 355 356 357 358 359
#
# Example:
#
# <- { "timestamp": {"seconds": 1290688046, "microseconds": 417172},
#      "event": "SPICE_INITIALIZED",
#      "data": {"server": {"auth": "spice", "port": "5921",
#                          "family": "ipv4", "host": "127.0.0.1"},
#               "client": {"port": "49004", "family": "ipv4", "channel-type": 3,
#                          "connection-id": 1804289383, "host": "127.0.0.1",
#                          "channel-id": 0, "tls": true}
#    }}
#
W
Wenchao Xia 已提交
360 361 362 363 364 365
##
{ 'event': 'SPICE_INITIALIZED',
  'data': { 'server': 'SpiceServerInfo',
            'client': 'SpiceChannel' } }

##
366
# @SPICE_DISCONNECTED:
W
Wenchao Xia 已提交
367 368 369 370 371 372 373 374
#
# Emitted when the SPICE connection is closed
#
# @server: server information
#
# @client: client information
#
# Since: 0.14.0
375 376 377 378 379 380 381 382 383 384
#
# Example:
#
# <- { "timestamp": {"seconds": 1290688046, "microseconds": 388707},
#      "event": "SPICE_DISCONNECTED",
#      "data": {
#        "server": { "port": "5920", "family": "ipv4", "host": "127.0.0.1"},
#        "client": {"port": "52873", "family": "ipv4", "host": "127.0.0.1"}
#    }}
#
W
Wenchao Xia 已提交
385 386 387 388 389 390
##
{ 'event': 'SPICE_DISCONNECTED',
  'data': { 'server': 'SpiceBasicInfo',
            'client': 'SpiceBasicInfo' } }

##
391
# @SPICE_MIGRATE_COMPLETED:
W
Wenchao Xia 已提交
392 393 394 395
#
# Emitted when SPICE migration has completed
#
# Since: 1.3
396 397 398 399 400 401
#
# Example:
#
# <- { "timestamp": {"seconds": 1290688046, "microseconds": 417172},
#      "event": "SPICE_MIGRATE_COMPLETED" }
#
W
Wenchao Xia 已提交
402 403
##
{ 'event': 'SPICE_MIGRATE_COMPLETED' }
404

405
##
406
# @MIGRATION:
407 408 409 410 411 412
#
# Emitted when a migration event happens
#
# @status: @MigrationStatus describing the current migration status.
#
# Since: 2.4
413 414 415 416 417 418 419
#
# Example:
#
# <- {"timestamp": {"seconds": 1432121972, "microseconds": 744001},
#     "event": "MIGRATION",
#     "data": {"status": "completed"} }
#
420 421 422 423
##
{ 'event': 'MIGRATION',
  'data': {'status': 'MigrationStatus'}}

424
##
425
# @MIGRATION_PASS:
426 427 428 429 430 431 432 433 434 435 436
#
# Emitted from the source side of a migration at the start of each pass
# (when it syncs the dirty bitmap)
#
# @pass: An incrementing count (starting at 1 on the first pass)
#
# Since: 2.6
##
{ 'event': 'MIGRATION_PASS',
  'data': { 'pass': 'int' } }

437
##
438
# @ACPI_DEVICE_OST:
439 440 441 442
#
# Emitted when guest executes ACPI _OST method.
#
# @info: ACPIOSTInfo type as described in qapi-schema.json
443 444
#
# Since: 2.1
445 446 447 448 449 450 451
#
# Example:
#
# <- { "event": "ACPI_DEVICE_OST",
#      "data": { "device": "d1", "slot": "0",
#                "slot-type": "DIMM", "source": 1, "status": 0 } }
#
452 453 454
##
{ 'event': 'ACPI_DEVICE_OST',
     'data': { 'info': 'ACPIOSTInfo' } }
W
Wenchao Xia 已提交
455 456

##
457
# @BALLOON_CHANGE:
W
Wenchao Xia 已提交
458 459 460 461 462 463
#
# Emitted when the guest changes the actual BALLOON level. This value is
# equivalent to the @actual field return by the 'query-balloon' command
#
# @actual: actual level of the guest memory balloon in bytes
#
464 465
# Note: this event is rate-limited.
#
W
Wenchao Xia 已提交
466
# Since: 1.2
467 468 469 470 471 472 473
#
# Example:
#
# <- { "event": "BALLOON_CHANGE",
#      "data": { "actual": 944766976 },
#      "timestamp": { "seconds": 1267020223, "microseconds": 435656 } }
#
W
Wenchao Xia 已提交
474 475 476
##
{ 'event': 'BALLOON_CHANGE',
  'data': { 'actual': 'int' } }
W
Wenchao Xia 已提交
477 478

##
479
# @GUEST_PANICKED:
W
Wenchao Xia 已提交
480 481 482 483 484 485
#
# Emitted when guest OS panic is detected
#
# @action: action that has been taken, currently always "pause"
#
# Since: 1.5
486 487 488 489 490 491
#
# Example:
#
# <- { "event": "GUEST_PANICKED",
#      "data": { "action": "pause" } }
#
W
Wenchao Xia 已提交
492 493 494
##
{ 'event': 'GUEST_PANICKED',
  'data': { 'action': 'GuestPanicAction' } }
W
Wenchao Xia 已提交
495 496

##
497
# @QUORUM_FAILURE:
W
Wenchao Xia 已提交
498 499 500 501 502 503 504
#
# Emitted by the Quorum block driver if it fails to establish a quorum
#
# @reference: device name if defined else node name
#
# @sector-num: number of the first sector of the failed read operation
#
505
# @sectors-count: failed read operation sector count
W
Wenchao Xia 已提交
506
#
507 508
# Note: This event is rate-limited.
#
W
Wenchao Xia 已提交
509
# Since: 2.0
510 511 512 513 514 515 516
#
# Example:
#
# <- { "event": "QUORUM_FAILURE",
#      "data": { "reference": "usr1", "sector-num": 345435, "sectors-count": 5 },
#      "timestamp": { "seconds": 1344522075, "microseconds": 745528 } }
#
W
Wenchao Xia 已提交
517 518
##
{ 'event': 'QUORUM_FAILURE',
519
  'data': { 'reference': 'str', 'sector-num': 'int', 'sectors-count': 'int' } }
W
Wenchao Xia 已提交
520 521

##
522
# @QUORUM_REPORT_BAD:
W
Wenchao Xia 已提交
523 524 525
#
# Emitted to report a corruption of a Quorum file
#
526 527
# @type: quorum operation type (Since 2.6)
#
W
Wenchao Xia 已提交
528 529 530 531 532 533 534 535 536
# @error: #optional, error message. Only present on failure. This field
#         contains a human-readable error message. There are no semantics other
#         than that the block layer reported an error and clients should not
#         try to interpret the error string.
#
# @node-name: the graph node name of the block driver state
#
# @sector-num: number of the first sector of the failed read operation
#
537
# @sectors-count: failed read operation sector count
W
Wenchao Xia 已提交
538
#
539 540
# Note: This event is rate-limited.
#
W
Wenchao Xia 已提交
541
# Since: 2.0
542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558
#
# Example:
#
# 1. Read operation
#
# { "event": "QUORUM_REPORT_BAD",
#      "data": { "node-name": "node0", "sector-num": 345435, "sectors-count": 5,
#                "type": "read" },
#      "timestamp": { "seconds": 1344522075, "microseconds": 745528 } }
#
# 2. Flush operation
#
# { "event": "QUORUM_REPORT_BAD",
#      "data": { "node-name": "node0", "sector-num": 0, "sectors-count": 2097120,
#                "type": "flush", "error": "Broken pipe" },
#      "timestamp": { "seconds": 1456406829, "microseconds": 291763 } }
#
W
Wenchao Xia 已提交
559 560
##
{ 'event': 'QUORUM_REPORT_BAD',
561
  'data': { 'type': 'QuorumOpType', '*error': 'str', 'node-name': 'str',
562
            'sector-num': 'int', 'sectors-count': 'int' } }
563 564

##
565
# @VSERPORT_CHANGE:
566 567 568 569 570 571 572 573
#
# Emitted when the guest opens or closes a virtio-serial port.
#
# @id: device identifier of the virtio-serial port
#
# @open: true if the guest has opened the virtio-serial port
#
# Since: 2.1
574 575 576 577 578 579 580
#
# Example:
#
# <- { "event": "VSERPORT_CHANGE",
#      "data": { "id": "channel0", "open": true },
#      "timestamp": { "seconds": 1401385907, "microseconds": 422329 } }
#
581 582 583
##
{ 'event': 'VSERPORT_CHANGE',
  'data': { 'id': 'str', 'open': 'bool' } }
584 585

##
586
# @MEM_UNPLUG_ERROR:
587 588 589 590 591 592 593 594
#
# Emitted when memory hot unplug error occurs.
#
# @device: device name
#
# @msg: Informative message
#
# Since: 2.4
595 596 597 598 599 600 601 602 603
#
# Example:
#
# <- { "event": "MEM_UNPLUG_ERROR"
#      "data": { "device": "dimm1",
#                "msg": "acpi: device unplug for unsupported device"
#      },
#      "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }
#
604 605 606
##
{ 'event': 'MEM_UNPLUG_ERROR',
  'data': { 'device': 'str', 'msg': 'str' } }
607 608

##
609
# @DUMP_COMPLETED:
610 611 612 613 614 615 616 617 618 619 620 621 622
#
# Emitted when background dump has completed
#
# @result: DumpQueryResult type described in qapi-schema.json.
#
# @error: #optional human-readable error string that provides
#         hint on why dump failed. Only presents on failure. The
#         user should not try to interpret the error string.
#
# Since: 2.6
##
{ 'event': 'DUMP_COMPLETED' ,
  'data': { 'result': 'DumpQueryResult', '*error': 'str' } }