xref: /qemu/qapi/trace.json (revision d23055b8)
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