# -*- mode: python -*- # vim: filetype=python # # Copyright (C) 2011-2016 LluĂ­s Vilanova # # This work is licensed under the terms of the GNU GPL, version 2 or later. # See the COPYING file in the top-level directory. ## # = Tracing ## ## # @TraceEventState: # # State of a tracing event. # # @unavailable: The event is statically disabled. # # @disabled: The event is dynamically disabled. # # @enabled: The event is dynamically enabled. # # Since: 2.2 ## { 'enum': 'TraceEventState', 'data': ['unavailable', 'disabled', 'enabled'] } ## # @TraceEventInfo: # # Information of a tracing event. # # @name: Event name. # # @state: Tracing state. # # @vcpu: Whether this is a per-vCPU event (since 2.7). # # An event is per-vCPU if it has the "vcpu" property in the # "trace-events" files. # # Since: 2.2 ## { 'struct': 'TraceEventInfo', 'data': {'name': 'str', 'state': 'TraceEventState', 'vcpu': 'bool'} } ## # @trace-event-get-state: # # Query the state of events. # # @name: Event name pattern (case-sensitive glob). # # @vcpu: The vCPU to query (any by default; since 2.7). # # Returns: a list of @TraceEventInfo for the matching events # # An event is returned if: # # - its name matches the @name pattern, and # - if @vcpu is given, the event has the "vcpu" property. # # Therefore, if @vcpu is given, the operation will only match per-vCPU # events, returning their state on the specified vCPU. Special case: # if @name is an exact match, @vcpu is given and the event does not # have the "vcpu" property, an error is returned. # # Since: 2.2 # # Example: # # -> { "execute": "trace-event-get-state", # "arguments": { "name": "qemu_memalign" } } # <- { "return": [ { "name": "qemu_memalign", "state": "disabled", "vcpu": false } ] } ## { 'command': 'trace-event-get-state', 'data': {'name': 'str', '*vcpu': 'int'}, 'returns': ['TraceEventInfo'] } ## # @trace-event-set-state: # # Set the dynamic tracing state of events. # # @name: Event name pattern (case-sensitive glob). # # @enable: Whether to enable tracing. # # @ignore-unavailable: Do not match unavailable events with @name. # # @vcpu: The vCPU to act upon (all by default; since 2.7). # # An event's state is modified if: # # - its name matches the @name pattern, and # - if @vcpu is given, the event has the "vcpu" property. # # Therefore, if @vcpu is given, the operation will only match per-vCPU # events, setting their state on the specified vCPU. Special case: if # @name is an exact match, @vcpu is given and the event does not have # the "vcpu" property, an error is returned. # # Since: 2.2 # # Example: # # -> { "execute": "trace-event-set-state", # "arguments": { "name": "qemu_memalign", "enable": true } } # <- { "return": {} } ## { 'command': 'trace-event-set-state', 'data': {'name': 'str', 'enable': 'bool', '*ignore-unavailable': 'bool', '*vcpu': 'int'} }