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