11dde0f48SLluís Vilanova# -*- mode: python -*- 27e7237cdSVictor Toso# vim: filetype=python 31dde0f48SLluís Vilanova# 477e2b172SLluís Vilanova# Copyright (C) 2011-2016 Lluís Vilanova <vilanova@ac.upc.edu> 51dde0f48SLluís Vilanova# 61dde0f48SLluís Vilanova# This work is licensed under the terms of the GNU GPL, version 2 or later. 71dde0f48SLluís Vilanova# See the COPYING file in the top-level directory. 81dde0f48SLluís Vilanova 9d3a48372SMarc-André Lureau## 10f5cf31c5SMarkus Armbruster# = Tracing 11d3a48372SMarc-André Lureau## 121dde0f48SLluís Vilanova 131dde0f48SLluís Vilanova## 141dde0f48SLluís Vilanova# @TraceEventState: 151dde0f48SLluís Vilanova# 161dde0f48SLluís Vilanova# State of a tracing event. 171dde0f48SLluís Vilanova# 181dde0f48SLluís Vilanova# @unavailable: The event is statically disabled. 191dde0f48SLluís Vilanova# 201dde0f48SLluís Vilanova# @disabled: The event is dynamically disabled. 211dde0f48SLluís Vilanova# 221dde0f48SLluís Vilanova# @enabled: The event is dynamically enabled. 231dde0f48SLluís Vilanova# 245072f7b3SMarc-André Lureau# Since: 2.2 251dde0f48SLluís Vilanova## 261dde0f48SLluís Vilanova{ 'enum': 'TraceEventState', 271dde0f48SLluís Vilanova 'data': ['unavailable', 'disabled', 'enabled'] } 281dde0f48SLluís Vilanova 291dde0f48SLluís Vilanova## 301dde0f48SLluís Vilanova# @TraceEventInfo: 311dde0f48SLluís Vilanova# 321dde0f48SLluís Vilanova# Information of a tracing event. 331dde0f48SLluís Vilanova# 341dde0f48SLluís Vilanova# @name: Event name. 35a937b6aaSMarkus Armbruster# 361dde0f48SLluís Vilanova# @state: Tracing state. 37a937b6aaSMarkus Armbruster# 385072f7b3SMarc-André Lureau# Since: 2.2 391dde0f48SLluís Vilanova## 40895a2a80SEric Blake{ 'struct': 'TraceEventInfo', 417ffc4894SPhilippe Mathieu-Daudé 'data': {'name': 'str', 'state': 'TraceEventState' } } 421dde0f48SLluís Vilanova 431dde0f48SLluís Vilanova## 441dde0f48SLluís Vilanova# @trace-event-get-state: 451dde0f48SLluís Vilanova# 461dde0f48SLluís Vilanova# Query the state of events. 471dde0f48SLluís Vilanova# 481dde0f48SLluís Vilanova# @name: Event name pattern (case-sensitive glob). 49a937b6aaSMarkus Armbruster# 501dde0f48SLluís Vilanova# Returns: a list of @TraceEventInfo for the matching events 511dde0f48SLluís Vilanova# 525072f7b3SMarc-André Lureau# Since: 2.2 53a93b9ba7SMarc-André Lureau# 54*14b48aaaSJohn Snow# .. qmp-example:: 55a93b9ba7SMarc-André Lureau# 56a93b9ba7SMarc-André Lureau# -> { "execute": "trace-event-get-state", 57a93b9ba7SMarc-André Lureau# "arguments": { "name": "qemu_memalign" } } 586352c81bSVictor Toso# <- { "return": [ { "name": "qemu_memalign", "state": "disabled", "vcpu": false } ] } 591dde0f48SLluís Vilanova## 601dde0f48SLluís Vilanova{ 'command': 'trace-event-get-state', 617ffc4894SPhilippe Mathieu-Daudé 'data': {'name': 'str' }, 621dde0f48SLluís Vilanova 'returns': ['TraceEventInfo'] } 631dde0f48SLluís Vilanova 641dde0f48SLluís Vilanova## 651dde0f48SLluís Vilanova# @trace-event-set-state: 661dde0f48SLluís Vilanova# 671dde0f48SLluís Vilanova# Set the dynamic tracing state of events. 681dde0f48SLluís Vilanova# 691dde0f48SLluís Vilanova# @name: Event name pattern (case-sensitive glob). 70a937b6aaSMarkus Armbruster# 711dde0f48SLluís Vilanova# @enable: Whether to enable tracing. 72a937b6aaSMarkus Armbruster# 731d8bda12SMarkus Armbruster# @ignore-unavailable: Do not match unavailable events with @name. 74a937b6aaSMarkus Armbruster# 755072f7b3SMarc-André Lureau# Since: 2.2 768a9b273eSMarc-André Lureau# 77*14b48aaaSJohn Snow# .. qmp-example:: 788a9b273eSMarc-André Lureau# 798a9b273eSMarc-André Lureau# -> { "execute": "trace-event-set-state", 803e038d7dSGuoyi Tu# "arguments": { "name": "qemu_memalign", "enable": true } } 818a9b273eSMarc-André Lureau# <- { "return": {} } 821dde0f48SLluís Vilanova## 831dde0f48SLluís Vilanova{ 'command': 'trace-event-set-state', 847ffc4894SPhilippe Mathieu-Daudé 'data': {'name': 'str', 'enable': 'bool', '*ignore-unavailable': 'bool' } } 85