Commit | Line | Data |
---|---|---|
629bf5b0 JG |
1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" | |
3 | elementFormDefault="qualified" version="2.5"> | |
4 | ||
5 | <xs:simpleType name="name_type"> | |
6 | <xs:restriction base="xs:string"> | |
7 | <xs:maxLength value="255"/> | |
8 | </xs:restriction> | |
9 | </xs:simpleType> | |
10 | ||
11 | <xs:simpleType name="uint64_type"> | |
12 | <xs:restriction base="xs:integer"> | |
13 | <xs:minInclusive value="0"/> | |
14 | <xs:maxInclusive value="18446744073709551615"/> | |
15 | </xs:restriction> | |
16 | </xs:simpleType> | |
17 | ||
18 | <xs:simpleType name="uint32_type"> | |
19 | <xs:restriction base="xs:integer"> | |
20 | <xs:minInclusive value="0"/> | |
21 | <xs:maxInclusive value="4294967295"/> | |
22 | </xs:restriction> | |
23 | </xs:simpleType> | |
24 | ||
25 | <xs:simpleType name="channel_overwrite_mode_type"> | |
26 | <xs:restriction base="xs:string"> | |
27 | <xs:enumeration value="DISCARD"/> | |
28 | <xs:enumeration value="OVERWRITE"/> | |
29 | </xs:restriction> | |
30 | </xs:simpleType> | |
31 | ||
32 | <!-- Maps to the lttng_event_output enum --> | |
33 | <xs:simpleType name="event_output_type"> | |
34 | <xs:restriction base="xs:string"> | |
35 | <xs:enumeration value="SPLICE"/> | |
36 | <xs:enumeration value="MMAP"/> | |
37 | </xs:restriction> | |
38 | </xs:simpleType> | |
39 | ||
40 | <!-- Maps to the lttng_loglevel_type enum --> | |
41 | <xs:simpleType name="loglevel_type"> | |
42 | <xs:restriction base="xs:string"> | |
43 | <xs:enumeration value="ALL"/> | |
44 | <xs:enumeration value="RANGE"/> | |
45 | <xs:enumeration value="SINGLE"/> | |
46 | </xs:restriction> | |
47 | </xs:simpleType> | |
48 | ||
49 | <!-- Maps to the lttng_event_type enum --> | |
50 | <xs:simpleType name="event_type_type"> | |
51 | <xs:restriction base="xs:string"> | |
52 | <xs:enumeration value="ALL"/> | |
53 | <xs:enumeration value="TRACEPOINT"/> | |
54 | <xs:enumeration value="PROBE"/> | |
55 | <xs:enumeration value="FUNCTION"/> | |
56 | <xs:enumeration value="FUNCTION_ENTRY"/> | |
57 | <xs:enumeration value="NOOP"/> | |
58 | <xs:enumeration value="SYSCALL"/> | |
59 | <xs:enumeration value="KPROBE"/> | |
60 | <xs:enumeration value="KRETPROBE"/> | |
61 | </xs:restriction> | |
62 | </xs:simpleType> | |
63 | ||
64 | <xs:complexType name="event_probe_attributes_type"> | |
65 | <xs:all> | |
66 | <xs:element name="symbol_name" type="name_type" minOccurs="0"/> | |
67 | <xs:element name="address" type="uint64_type" minOccurs="0"/> | |
68 | <xs:element name="offset" type="uint64_type" minOccurs="0"/> | |
69 | </xs:all> | |
70 | </xs:complexType> | |
71 | ||
72 | <xs:complexType name="event_ftrace_attributes_type"> | |
73 | <xs:all> | |
74 | <xs:element name="symbol_name" type="name_type"/> | |
75 | </xs:all> | |
76 | </xs:complexType> | |
77 | ||
78 | <xs:complexType name="event_attributes_type"> | |
79 | <xs:choice> | |
80 | <xs:element name="probe_attributes" type="event_probe_attributes_type"/> | |
81 | <xs:element name="function_attributes" type="event_ftrace_attributes_type"/> | |
82 | </xs:choice> | |
83 | </xs:complexType> | |
84 | ||
85 | <xs:complexType name="event_exclusion_list_type"> | |
86 | <xs:sequence> | |
87 | <xs:element name="exclusion" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> | |
88 | </xs:sequence> | |
89 | </xs:complexType> | |
90 | ||
91 | <xs:complexType name="event_type"> | |
92 | <xs:all> | |
93 | <xs:element name="name" type="name_type" minOccurs="0"/> | |
94 | <xs:element name="enabled" type="xs:boolean" default="true" minOccurs="0"/> | |
95 | <xs:element name="type" type="event_type_type" default="TRACEPOINT" minOccurs="0"/> | |
96 | <xs:element name="loglevel_type" type="loglevel_type" default="ALL" minOccurs="0"/> | |
97 | <xs:element name="loglevel" type="xs:int" default="-1" minOccurs="0"/> | |
98 | <xs:element name="filter" type="xs:string" minOccurs="0"/> | |
99 | <xs:element name="exclusions" type="event_exclusion_list_type" minOccurs="0"/> | |
100 | <xs:element name="attributes" type="event_attributes_type" minOccurs="0"/> | |
101 | </xs:all> | |
102 | </xs:complexType> | |
103 | ||
104 | <xs:complexType name="event_list_type"> | |
105 | <xs:sequence> | |
106 | <xs:element name="event" type="event_type" minOccurs="0" maxOccurs="unbounded"/> | |
107 | </xs:sequence> | |
108 | </xs:complexType> | |
109 | ||
110 | <xs:complexType name="event_perf_context_type"> | |
111 | <xs:all> | |
112 | <xs:element name="type" type="uint32_type"/> | |
113 | <xs:element name="config" type="uint64_type"/> | |
114 | <xs:element name="name" type="name_type"/> | |
115 | </xs:all> | |
116 | </xs:complexType> | |
117 | ||
118 | <!-- Maps to the lttng_event_context_type enum --> | |
119 | <xs:simpleType name="event_context_type_type"> | |
120 | <xs:restriction base="xs:string"> | |
121 | <xs:enumeration value="PID"/> | |
122 | <xs:enumeration value="PROCNAME"/> | |
123 | <xs:enumeration value="PRIO"/> | |
124 | <xs:enumeration value="NICE"/> | |
125 | <xs:enumeration value="VPID"/> | |
126 | <xs:enumeration value="TID"/> | |
127 | <xs:enumeration value="VTID"/> | |
128 | <xs:enumeration value="PPID"/> | |
129 | <xs:enumeration value="VPPID"/> | |
130 | <xs:enumeration value="PTHREAD_ID"/> | |
131 | <xs:enumeration value="HOSTNAME"/> | |
132 | <xs:enumeration value="IP"/> | |
133 | </xs:restriction> | |
134 | </xs:simpleType> | |
135 | ||
136 | <xs:complexType name="event_context_type"> | |
137 | <xs:choice> | |
138 | <xs:element name="type" type="event_context_type_type"/> | |
139 | <xs:element name="perf" type="event_perf_context_type"/> | |
140 | </xs:choice> | |
141 | </xs:complexType> | |
142 | ||
143 | <xs:complexType name="event_context_list_type"> | |
144 | <xs:sequence> | |
145 | <xs:element name="context" type="event_context_type" minOccurs="0" maxOccurs="unbounded"/> | |
146 | </xs:sequence> | |
147 | </xs:complexType> | |
148 | ||
149 | <!-- Maps to struct lttng_channel --> | |
150 | <xs:complexType name="channel_type"> | |
151 | <xs:all> | |
152 | <xs:element name="name" type="name_type"/> | |
153 | <xs:element name="enabled" type="xs:boolean" default="true" minOccurs="0"/> | |
154 | <xs:element name="overwrite_mode" type="channel_overwrite_mode_type" default="DISCARD" minOccurs="0"/> | |
155 | <xs:element name="subbuffer_size" type="uint64_type" minOccurs="0"/> <!-- bytes --> | |
156 | <xs:element name="subbuffer_count" type="uint64_type" default="4" minOccurs="0"/> | |
157 | <xs:element name="switch_timer_interval" type="uint32_type" default="0" minOccurs="0"/> <!-- usec --> | |
158 | <xs:element name="read_timer_interval" type="uint32_type"/> <!-- usec --> | |
159 | <xs:element name="output_type" type="event_output_type"/> | |
160 | <xs:element name="tracefile_size" type="uint64_type" default="0" minOccurs="0"/> <!-- bytes --> | |
161 | <xs:element name="tracefile_count" type="uint64_type" default="0" minOccurs="0"/> | |
162 | <xs:element name="live_timer_interval" type="uint32_type" default="0" minOccurs="0"/> <!-- usec --> | |
163 | <xs:element name="events" type="event_list_type" minOccurs="0"/> | |
164 | <xs:element name="contexts" type="event_context_list_type" minOccurs="0"/> | |
165 | </xs:all> | |
166 | </xs:complexType> | |
167 | ||
168 | <!-- Maps to the lttng_domain_type enum --> | |
169 | <xs:simpleType name="domain_type_type"> | |
170 | <xs:restriction base="xs:string"> | |
171 | <xs:enumeration value="KERNEL"/> | |
172 | <xs:enumeration value="UST"/> | |
173 | <xs:enumeration value="JUL"/> | |
174 | </xs:restriction> | |
175 | </xs:simpleType> | |
176 | ||
177 | <!-- Maps to the lttng_buffer_type enum --> | |
178 | <xs:simpleType name="domain_buffer_type"> | |
179 | <xs:restriction base="xs:string"> | |
180 | <xs:enumeration value="PER_PID"/> | |
181 | <xs:enumeration value="PER_UID"/> | |
182 | <xs:enumeration value="GLOBAL"/> | |
183 | </xs:restriction> | |
184 | </xs:simpleType> | |
185 | ||
186 | <xs:complexType name="channel_list_type"> | |
187 | <xs:sequence> | |
188 | <xs:element name="channel" type="channel_type" minOccurs="0" maxOccurs="unbounded"/> | |
189 | </xs:sequence> | |
190 | </xs:complexType> | |
191 | ||
192 | <!-- Maps to struct lttng_domain and contains channels --> | |
193 | <xs:complexType name="domain_type"> | |
194 | <xs:all> | |
195 | <xs:element name="type" type="domain_type_type"/> | |
196 | <xs:element name="buffer_type" type="domain_buffer_type"/> | |
197 | <xs:element name="channels" type="channel_list_type" minOccurs="0"/> | |
198 | </xs:all> | |
199 | </xs:complexType> | |
200 | ||
201 | <xs:complexType name="session_attributes_type"> | |
202 | <xs:choice> | |
203 | <xs:element name="snapshot_mode" type="xs:boolean"/> | |
204 | <xs:element name="live_timer_interval" type="uint32_type"/> <!-- usec --> | |
205 | </xs:choice> | |
206 | </xs:complexType> | |
207 | ||
208 | <xs:complexType name="domain_list_type"> | |
209 | <xs:sequence> | |
210 | <xs:element name="domain" type="domain_type" minOccurs="0" maxOccurs="unbounded"/> | |
211 | </xs:sequence> | |
212 | </xs:complexType> | |
213 | ||
214 | <xs:complexType name="net_output_type"> | |
215 | <xs:all> | |
216 | <xs:element name="control_uri" type="xs:string"/> | |
217 | <xs:element name="data_uri" type="xs:string"/> | |
218 | </xs:all> | |
219 | </xs:complexType> | |
220 | ||
221 | <xs:complexType name="destination_type"> | |
222 | <xs:choice> | |
223 | <xs:element name="path" type="xs:string"/> | |
224 | <xs:element name="net_output" type="net_output_type"/> | |
225 | </xs:choice> | |
226 | </xs:complexType> | |
227 | ||
228 | <xs:complexType name="consumer_output_type"> | |
229 | <xs:all> | |
230 | <xs:element name="enabled" type="xs:boolean" default="true"/> | |
231 | <xs:element name="destination" type="destination_type"/> | |
232 | </xs:all> | |
233 | </xs:complexType> | |
234 | ||
235 | <xs:complexType name="snapshot_output_type"> | |
236 | <xs:all> | |
237 | <xs:element name="name" type="name_type"/> | |
238 | <xs:element name="max_size" type="uint64_type"/> | |
239 | <xs:element name="consumer_output" type="consumer_output_type"/> | |
240 | </xs:all> | |
241 | </xs:complexType> | |
242 | ||
243 | <xs:complexType name="snapshot_output_list_type"> | |
244 | <xs:sequence> | |
245 | <xs:element name="output" type="snapshot_output_type" minOccurs="0" maxOccurs="unbounded"/> | |
246 | </xs:sequence> | |
247 | </xs:complexType> | |
248 | ||
249 | <xs:complexType name="session_output_type"> | |
250 | <xs:choice> | |
251 | <xs:element name="snapshot_outputs" type="snapshot_output_list_type"/> | |
252 | <xs:element name="consumer_output" type="consumer_output_type"/> | |
253 | </xs:choice> | |
254 | </xs:complexType> | |
255 | ||
256 | <xs:complexType name="session_type"> | |
257 | <xs:all> | |
258 | <xs:element name="name" type="name_type"/> | |
259 | <xs:element name="domains" type="domain_list_type" minOccurs="0"/> | |
260 | <xs:element name="started" type="xs:boolean" default="0" minOccurs="0"/> | |
261 | <xs:element name="attributes" type="session_attributes_type" minOccurs="0"/> | |
262 | <xs:element name="output" type="session_output_type" minOccurs="0"/> | |
263 | </xs:all> | |
264 | </xs:complexType> | |
265 | ||
266 | <xs:element name="sessions"> | |
267 | <xs:complexType> | |
268 | <xs:sequence> | |
269 | <xs:element name="session" type="session_type" maxOccurs="unbounded"/> | |
270 | </xs:sequence> | |
271 | </xs:complexType> | |
272 | </xs:element> | |
273 | ||
274 | </xs:schema> |