]>
Commit | Line | Data |
---|---|---|
1dde0f48 LV |
1 | # -*- mode: python -*- |
2 | # | |
77e2b172 | 3 | # Copyright (C) 2011-2016 Lluís Vilanova <vilanova@ac.upc.edu> |
1dde0f48 LV |
4 | # |
5 | # This work is licensed under the terms of the GNU GPL, version 2 or later. | |
6 | # See the COPYING file in the top-level directory. | |
7 | ||
d3a48372 MAL |
8 | ## |
9 | # = Tracing commands | |
10 | ## | |
1dde0f48 LV |
11 | |
12 | ## | |
13 | # @TraceEventState: | |
14 | # | |
15 | # State of a tracing event. | |
16 | # | |
17 | # @unavailable: The event is statically disabled. | |
18 | # | |
19 | # @disabled: The event is dynamically disabled. | |
20 | # | |
21 | # @enabled: The event is dynamically enabled. | |
22 | # | |
5072f7b3 | 23 | # Since: 2.2 |
1dde0f48 LV |
24 | ## |
25 | { 'enum': 'TraceEventState', | |
26 | 'data': ['unavailable', 'disabled', 'enabled'] } | |
27 | ||
28 | ## | |
29 | # @TraceEventInfo: | |
30 | # | |
31 | # Information of a tracing event. | |
32 | # | |
33 | # @name: Event name. | |
34 | # @state: Tracing state. | |
77e2b172 LV |
35 | # @vcpu: Whether this is a per-vCPU event (since 2.7). |
36 | # | |
37 | # An event is per-vCPU if it has the "vcpu" property in the "trace-events" | |
38 | # files. | |
1dde0f48 | 39 | # |
5072f7b3 | 40 | # Since: 2.2 |
1dde0f48 | 41 | ## |
895a2a80 | 42 | { 'struct': 'TraceEventInfo', |
77e2b172 | 43 | 'data': {'name': 'str', 'state': 'TraceEventState', 'vcpu': 'bool'} } |
1dde0f48 LV |
44 | |
45 | ## | |
46 | # @trace-event-get-state: | |
47 | # | |
48 | # Query the state of events. | |
49 | # | |
50 | # @name: Event name pattern (case-sensitive glob). | |
77e2b172 | 51 | # @vcpu: #optional The vCPU to query (any by default; since 2.7). |
1dde0f48 LV |
52 | # |
53 | # Returns: a list of @TraceEventInfo for the matching events | |
54 | # | |
77e2b172 LV |
55 | # An event is returned if: |
56 | # - its name matches the @name pattern, and | |
57 | # - if @vcpu is given, the event has the "vcpu" property. | |
58 | # | |
59 | # Therefore, if @vcpu is given, the operation will only match per-vCPU events, | |
60 | # returning their state on the specified vCPU. Special case: if @name is an | |
61 | # exact match, @vcpu is given and the event does not have the "vcpu" property, | |
62 | # an error is returned. | |
63 | # | |
5072f7b3 | 64 | # Since: 2.2 |
1dde0f48 LV |
65 | ## |
66 | { 'command': 'trace-event-get-state', | |
77e2b172 | 67 | 'data': {'name': 'str', '*vcpu': 'int'}, |
1dde0f48 LV |
68 | 'returns': ['TraceEventInfo'] } |
69 | ||
70 | ## | |
71 | # @trace-event-set-state: | |
72 | # | |
73 | # Set the dynamic tracing state of events. | |
74 | # | |
75 | # @name: Event name pattern (case-sensitive glob). | |
76 | # @enable: Whether to enable tracing. | |
77 | # @ignore-unavailable: #optional Do not match unavailable events with @name. | |
77e2b172 LV |
78 | # @vcpu: #optional The vCPU to act upon (all by default; since 2.7). |
79 | # | |
80 | # An event's state is modified if: | |
81 | # - its name matches the @name pattern, and | |
82 | # - if @vcpu is given, the event has the "vcpu" property. | |
83 | # | |
84 | # Therefore, if @vcpu is given, the operation will only match per-vCPU events, | |
85 | # setting their state on the specified vCPU. Special case: if @name is an exact | |
86 | # match, @vcpu is given and the event does not have the "vcpu" property, an | |
87 | # error is returned. | |
1dde0f48 | 88 | # |
5072f7b3 | 89 | # Since: 2.2 |
1dde0f48 LV |
90 | ## |
91 | { 'command': 'trace-event-set-state', | |
77e2b172 LV |
92 | 'data': {'name': 'str', 'enable': 'bool', '*ignore-unavailable': 'bool', |
93 | '*vcpu': 'int'} } |