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# 3877e2b172SLluís Vilanova# @vcpu: Whether this is a per-vCPU event (since 2.7). 3977e2b172SLluís Vilanova# 405485e52aSAlex Bennée# Features: 419e272073SMarkus Armbruster# 425485e52aSAlex Bennée# @deprecated: Member @vcpu is deprecated, and always ignored. 431dde0f48SLluís Vilanova# 445072f7b3SMarc-André Lureau# Since: 2.2 451dde0f48SLluís Vilanova## 46895a2a80SEric Blake{ 'struct': 'TraceEventInfo', 475485e52aSAlex Bennée 'data': {'name': 'str', 'state': 'TraceEventState', 485485e52aSAlex Bennée 'vcpu': { 'type': 'bool', 'features': ['deprecated'] } } } 491dde0f48SLluís Vilanova 501dde0f48SLluís Vilanova## 511dde0f48SLluís Vilanova# @trace-event-get-state: 521dde0f48SLluís Vilanova# 531dde0f48SLluís Vilanova# Query the state of events. 541dde0f48SLluís Vilanova# 551dde0f48SLluís Vilanova# @name: Event name pattern (case-sensitive glob). 56a937b6aaSMarkus Armbruster# 575485e52aSAlex Bennée# @vcpu: The vCPU to query (since 2.7). 585485e52aSAlex Bennée# 595485e52aSAlex Bennée# Features: 609e272073SMarkus Armbruster# 615485e52aSAlex Bennée# @deprecated: Member @vcpu is deprecated, and always ignored. 621dde0f48SLluís Vilanova# 631dde0f48SLluís Vilanova# Returns: a list of @TraceEventInfo for the matching events 641dde0f48SLluís Vilanova# 655072f7b3SMarc-André Lureau# Since: 2.2 66a93b9ba7SMarc-André Lureau# 67a93b9ba7SMarc-André Lureau# Example: 68a93b9ba7SMarc-André Lureau# 69a93b9ba7SMarc-André Lureau# -> { "execute": "trace-event-get-state", 70a93b9ba7SMarc-André Lureau# "arguments": { "name": "qemu_memalign" } } 716352c81bSVictor Toso# <- { "return": [ { "name": "qemu_memalign", "state": "disabled", "vcpu": false } ] } 721dde0f48SLluís Vilanova## 731dde0f48SLluís Vilanova{ 'command': 'trace-event-get-state', 745485e52aSAlex Bennée 'data': {'name': 'str', 755485e52aSAlex Bennée '*vcpu': {'type': 'int', 'features': ['deprecated'] } }, 761dde0f48SLluís Vilanova 'returns': ['TraceEventInfo'] } 771dde0f48SLluís Vilanova 781dde0f48SLluís Vilanova## 791dde0f48SLluís Vilanova# @trace-event-set-state: 801dde0f48SLluís Vilanova# 811dde0f48SLluís Vilanova# Set the dynamic tracing state of events. 821dde0f48SLluís Vilanova# 831dde0f48SLluís Vilanova# @name: Event name pattern (case-sensitive glob). 84a937b6aaSMarkus Armbruster# 851dde0f48SLluís Vilanova# @enable: Whether to enable tracing. 86a937b6aaSMarkus Armbruster# 871d8bda12SMarkus Armbruster# @ignore-unavailable: Do not match unavailable events with @name. 88a937b6aaSMarkus Armbruster# 891d8bda12SMarkus Armbruster# @vcpu: The vCPU to act upon (all by default; since 2.7). 9077e2b172SLluís Vilanova# 915485e52aSAlex Bennée# Features: 92c1101028SMarkus Armbruster# 93e27a9d62SMarkus Armbruster# @deprecated: Member @vcpu is deprecated, and always ignored. 941dde0f48SLluís Vilanova# 955072f7b3SMarc-André Lureau# Since: 2.2 968a9b273eSMarc-André Lureau# 978a9b273eSMarc-André Lureau# Example: 988a9b273eSMarc-André Lureau# 998a9b273eSMarc-André Lureau# -> { "execute": "trace-event-set-state", 1003e038d7dSGuoyi Tu# "arguments": { "name": "qemu_memalign", "enable": true } } 1018a9b273eSMarc-André Lureau# <- { "return": {} } 1021dde0f48SLluís Vilanova## 1031dde0f48SLluís Vilanova{ 'command': 'trace-event-set-state', 10477e2b172SLluís Vilanova 'data': {'name': 'str', 'enable': 'bool', '*ignore-unavailable': 'bool', 1055485e52aSAlex Bennée '*vcpu': {'type': 'int', 'features': ['deprecated'] } } } 106