lttng: list: replace domain headers with the official names
[lttng-tools.git] / src / common / config / session.xsd
CommitLineData
ebfa5166 1<?xml version="1.0" encoding="UTF-8"?>
89aac4d5 2<!--
ab5be9fa 3Copyright (C) 2014 Jérémie Galarneau <jeremie.galarneau@efficios.com>
89aac4d5 4
ab5be9fa 5SPDX-License-Identifier: MIT
89aac4d5 6
89aac4d5 7-->
629bf5b0 8<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
259c2674 9elementFormDefault="qualified" version="2.11">
629bf5b0
JG
10
11<xs:simpleType name="name_type">
12 <xs:restriction base="xs:string">
13 <xs:maxLength value="255"/>
14 </xs:restriction>
15</xs:simpleType>
16
17<xs:simpleType name="uint64_type">
18 <xs:restriction base="xs:integer">
19 <xs:minInclusive value="0"/>
20 <xs:maxInclusive value="18446744073709551615"/>
21 </xs:restriction>
22</xs:simpleType>
23
24<xs:simpleType name="uint32_type">
25 <xs:restriction base="xs:integer">
26 <xs:minInclusive value="0"/>
27 <xs:maxInclusive value="4294967295"/>
28 </xs:restriction>
29</xs:simpleType>
30
491d1539
MD
31<!--
32Maps to the range allowed for blocking timeout: -1 (block forever),
330 (do not block), positive integer value (blocking time in usec) limited
34by its signed 32-bit representation when converted to msec.
35-->
36<xs:simpleType name="blocking_timeout_type">
37 <xs:restriction base="xs:integer">
38 <xs:minInclusive value="-1" />
39 <xs:maxInclusive value="2147483648000" />
40 </xs:restriction>
41</xs:simpleType>
42
629bf5b0
JG
43<xs:simpleType name="channel_overwrite_mode_type">
44 <xs:restriction base="xs:string">
45 <xs:enumeration value="DISCARD"/>
46 <xs:enumeration value="OVERWRITE"/>
47 </xs:restriction>
48</xs:simpleType>
49
50<!-- Maps to the lttng_event_output enum -->
51<xs:simpleType name="event_output_type">
52 <xs:restriction base="xs:string">
53 <xs:enumeration value="SPLICE"/>
54 <xs:enumeration value="MMAP"/>
55 </xs:restriction>
56</xs:simpleType>
57
58<!-- Maps to the lttng_loglevel_type enum -->
59<xs:simpleType name="loglevel_type">
60 <xs:restriction base="xs:string">
61 <xs:enumeration value="ALL"/>
62 <xs:enumeration value="RANGE"/>
63 <xs:enumeration value="SINGLE"/>
64 </xs:restriction>
65</xs:simpleType>
66
67<!-- Maps to the lttng_event_type enum -->
68<xs:simpleType name="event_type_type">
69 <xs:restriction base="xs:string">
70 <xs:enumeration value="ALL"/>
71 <xs:enumeration value="TRACEPOINT"/>
72 <xs:enumeration value="PROBE"/>
c1e83fb4 73 <xs:enumeration value="USERSPACE_PROBE"/>
629bf5b0
JG
74 <xs:enumeration value="FUNCTION"/>
75 <xs:enumeration value="FUNCTION_ENTRY"/>
76 <xs:enumeration value="NOOP"/>
77 <xs:enumeration value="SYSCALL"/>
78 <xs:enumeration value="KPROBE"/>
79 <xs:enumeration value="KRETPROBE"/>
80 </xs:restriction>
81</xs:simpleType>
82
83<xs:complexType name="event_probe_attributes_type">
84 <xs:all>
85 <xs:element name="symbol_name" type="name_type" minOccurs="0"/>
86 <xs:element name="address" type="uint64_type" minOccurs="0"/>
87 <xs:element name="offset" type="uint64_type" minOccurs="0"/>
88 </xs:all>
89</xs:complexType>
90
c1e83fb4
FD
91<xs:simpleType name="userspace_probe_lookup_method">
92 <xs:restriction base="xs:string">
93 <xs:enumeration value="DEFAULT"/>
94 <xs:enumeration value="ELF"/>
95 <xs:enumeration value="SDT"/>
96 </xs:restriction>
97</xs:simpleType>
98
99<xs:complexType name="event_userspace_probe_function_attributes_type">
100 <xs:all>
101 <xs:element name="lookup_method" type="userspace_probe_lookup_method"/>
102 <xs:element name="binary_path" type="xs:string"/>
103 <xs:element name="function_name" type="xs:string"/>
104 </xs:all>
105</xs:complexType>
106
107<xs:complexType name="event_userspace_probe_tracepoint_attributes_type">
108 <xs:all>
109 <xs:element name="lookup_method" type="userspace_probe_lookup_method"/>
110 <xs:element name="binary_path" type="xs:string"/>
111 <xs:element name="probe_name" type="xs:string"/>
112 <xs:element name="provider_name" type="xs:string"/>
113 </xs:all>
114</xs:complexType>
115
629bf5b0
JG
116<xs:complexType name="event_ftrace_attributes_type">
117 <xs:all>
118 <xs:element name="symbol_name" type="name_type"/>
119 </xs:all>
120</xs:complexType>
121
122<xs:complexType name="event_attributes_type">
123 <xs:choice>
124 <xs:element name="probe_attributes" type="event_probe_attributes_type"/>
125 <xs:element name="function_attributes" type="event_ftrace_attributes_type"/>
c1e83fb4
FD
126 <xs:element name="userspace_probe_function_attributes" type="event_userspace_probe_function_attributes_type"/>
127 <xs:element name="userspace_probe_tracepoint_attributes" type="event_userspace_probe_tracepoint_attributes_type"/>
629bf5b0
JG
128 </xs:choice>
129</xs:complexType>
130
131<xs:complexType name="event_exclusion_list_type">
132 <xs:sequence>
133 <xs:element name="exclusion" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
134 </xs:sequence>
135</xs:complexType>
136
137<xs:complexType name="event_type">
138 <xs:all>
139 <xs:element name="name" type="name_type" minOccurs="0"/>
140 <xs:element name="enabled" type="xs:boolean" default="true" minOccurs="0"/>
141 <xs:element name="type" type="event_type_type" default="TRACEPOINT" minOccurs="0"/>
142 <xs:element name="loglevel_type" type="loglevel_type" default="ALL" minOccurs="0"/>
143 <xs:element name="loglevel" type="xs:int" default="-1" minOccurs="0"/>
144 <xs:element name="filter" type="xs:string" minOccurs="0"/>
145 <xs:element name="exclusions" type="event_exclusion_list_type" minOccurs="0"/>
146 <xs:element name="attributes" type="event_attributes_type" minOccurs="0"/>
147 </xs:all>
148</xs:complexType>
149
150<xs:complexType name="event_list_type">
151 <xs:sequence>
152 <xs:element name="event" type="event_type" minOccurs="0" maxOccurs="unbounded"/>
153 </xs:sequence>
154</xs:complexType>
155
156<xs:complexType name="event_perf_context_type">
157 <xs:all>
158 <xs:element name="type" type="uint32_type"/>
159 <xs:element name="config" type="uint64_type"/>
160 <xs:element name="name" type="name_type"/>
161 </xs:all>
162</xs:complexType>
163
045fc617
JG
164<xs:complexType name="event_app_context_type">
165 <xs:all>
166 <xs:element name="provider_name" type="xs:string"/>
167 <xs:element name="ctx_name" type="xs:string"/>
168 </xs:all>
169</xs:complexType>
170
629bf5b0
JG
171<!-- Maps to the lttng_event_context_type enum -->
172<xs:simpleType name="event_context_type_type">
173 <xs:restriction base="xs:string">
174 <xs:enumeration value="PID"/>
175 <xs:enumeration value="PROCNAME"/>
176 <xs:enumeration value="PRIO"/>
177 <xs:enumeration value="NICE"/>
178 <xs:enumeration value="VPID"/>
179 <xs:enumeration value="TID"/>
180 <xs:enumeration value="VTID"/>
181 <xs:enumeration value="PPID"/>
182 <xs:enumeration value="VPPID"/>
183 <xs:enumeration value="PTHREAD_ID"/>
184 <xs:enumeration value="HOSTNAME"/>
185 <xs:enumeration value="IP"/>
045fc617 186 <xs:enumeration value="APP"/>
c460810b
FD
187 <xs:enumeration value="INTERRUPTIBLE" />
188 <xs:enumeration value="PREEMPTIBLE" />
189 <xs:enumeration value="NEED_RESCHEDULE" />
190 <xs:enumeration value="MIGRATABLE" />
16c4c991
FD
191 <xs:enumeration value="CALLSTACK_USER" />
192 <xs:enumeration value="CALLSTACK_KERNEL" />
629bf5b0
JG
193 </xs:restriction>
194</xs:simpleType>
195
196<xs:complexType name="event_context_type">
197 <xs:choice>
198 <xs:element name="type" type="event_context_type_type"/>
199 <xs:element name="perf" type="event_perf_context_type"/>
045fc617 200 <xs:element name="app" type="event_app_context_type"/>
629bf5b0
JG
201 </xs:choice>
202</xs:complexType>
203
204<xs:complexType name="event_context_list_type">
205 <xs:sequence>
206 <xs:element name="context" type="event_context_type" minOccurs="0" maxOccurs="unbounded"/>
207 </xs:sequence>
208</xs:complexType>
209
210<!-- Maps to struct lttng_channel -->
211<xs:complexType name="channel_type">
212 <xs:all>
213 <xs:element name="name" type="name_type"/>
214 <xs:element name="enabled" type="xs:boolean" default="true" minOccurs="0"/>
215 <xs:element name="overwrite_mode" type="channel_overwrite_mode_type" default="DISCARD" minOccurs="0"/>
216 <xs:element name="subbuffer_size" type="uint64_type" minOccurs="0"/> <!-- bytes -->
217 <xs:element name="subbuffer_count" type="uint64_type" default="4" minOccurs="0"/>
218 <xs:element name="switch_timer_interval" type="uint32_type" default="0" minOccurs="0"/> <!-- usec -->
219 <xs:element name="read_timer_interval" type="uint32_type"/> <!-- usec -->
491d1539 220 <xs:element name="blocking_timeout" type="blocking_timeout_type" default="0" minOccurs="0" /> <!-- usec -->
629bf5b0
JG
221 <xs:element name="output_type" type="event_output_type"/>
222 <xs:element name="tracefile_size" type="uint64_type" default="0" minOccurs="0"/> <!-- bytes -->
223 <xs:element name="tracefile_count" type="uint64_type" default="0" minOccurs="0"/>
224 <xs:element name="live_timer_interval" type="uint32_type" default="0" minOccurs="0"/> <!-- usec -->
225 <xs:element name="events" type="event_list_type" minOccurs="0"/>
226 <xs:element name="contexts" type="event_context_list_type" minOccurs="0"/>
4fc2b126 227 <xs:element name="monitor_timer_interval" type="uint64_type" default="0" minOccurs="0"/> <!-- usec -->
629bf5b0
JG
228 </xs:all>
229</xs:complexType>
230
231<!-- Maps to the lttng_domain_type enum -->
232<xs:simpleType name="domain_type_type">
233 <xs:restriction base="xs:string">
234 <xs:enumeration value="KERNEL"/>
235 <xs:enumeration value="UST"/>
236 <xs:enumeration value="JUL"/>
ff00898c 237 <xs:enumeration value="LOG4J"/>
0e115563 238 <xs:enumeration value="PYTHON"/>
629bf5b0
JG
239 </xs:restriction>
240</xs:simpleType>
241
242<!-- Maps to the lttng_buffer_type enum -->
243<xs:simpleType name="domain_buffer_type">
244 <xs:restriction base="xs:string">
245 <xs:enumeration value="PER_PID"/>
246 <xs:enumeration value="PER_UID"/>
247 <xs:enumeration value="GLOBAL"/>
248 </xs:restriction>
249</xs:simpleType>
250
251<xs:complexType name="channel_list_type">
252 <xs:sequence>
847a5916 253 <xs:element name="channel" type="channel_type" minOccurs="0" maxOccurs="unbounded" />
629bf5b0
JG
254 </xs:sequence>
255</xs:complexType>
256
847a5916 257<xs:complexType name="pid_target_type">
55c9e7ca 258 <xs:choice minOccurs="0">
847a5916 259 <xs:element name="pid" type="xs:integer" />
55c9e7ca
JR
260 <xs:element name="id" type="xs:integer" />
261 </xs:choice>
847a5916
JR
262</xs:complexType>
263
264<!-- Maps to a list of pid_targets-->
55c9e7ca 265<xs:complexType name="pid_targets_type">
847a5916 266 <xs:sequence>
55c9e7ca
JR
267 <xs:choice minOccurs="0" maxOccurs="unbounded" >
268 <xs:element name="pid_target" type="pid_target_type" />
847a5916
JR
269 </xs:choice>
270 </xs:sequence>
271</xs:complexType>
272
273<!-- Maps to a pid_tracker-->
274<xs:complexType name="pid_tracker_type">
275 <xs:all>
55c9e7ca
JR
276 <xs:element name="targets" type="pid_targets_type" />
277 </xs:all>
278</xs:complexType>
279
280<xs:complexType name="vpid_target_type">
281 <xs:all>
282 <xs:element name="id" type="xs:integer" />
283 </xs:all>
284</xs:complexType>
285
286<!-- Maps to a list of vpid_targets-->
287<xs:complexType name="vpid_targets_type">
288 <xs:sequence>
289 <xs:element name="vpid_target" type="vpid_target_type" minOccurs="0" maxOccurs="unbounded" />
290 </xs:sequence>
291</xs:complexType>
292
293<!-- Maps to a pid_tracker-->
294<xs:complexType name="vpid_tracker_type">
295 <xs:all>
296 <xs:element name="targets" type="vpid_targets_type" />
297 </xs:all>
298</xs:complexType>
299
300<xs:complexType name="uid_target_type">
301 <xs:choice>
302 <xs:element name="id" type="xs:integer" />
303 <xs:element name="name" type="xs:string" />
304 </xs:choice>
305</xs:complexType>
306
307<!-- Maps to a list of uid_targets-->
308<xs:complexType name="uid_targets_type">
309 <xs:sequence>
310 <xs:element name="uid_target" type="uid_target_type" minOccurs="0" maxOccurs="unbounded" />
311 </xs:sequence>
312</xs:complexType>
313
314<!-- Maps to a uid_tracker-->
315<xs:complexType name="uid_tracker_type">
316 <xs:all>
317 <xs:element name="targets" type="uid_targets_type" />
318 </xs:all>
319</xs:complexType>
320
321<xs:complexType name="vuid_target_type">
322 <xs:choice>
323 <xs:element name="id" type="xs:integer" />
324 <xs:element name="name" type="xs:string" />
325 </xs:choice>
326</xs:complexType>
327
328<!-- Maps to a list of vuid_targets-->
329<xs:complexType name="vuid_targets_type">
330 <xs:sequence>
331 <xs:element name="vuid_target" type="vuid_target_type" minOccurs="0" maxOccurs="unbounded" />
332 </xs:sequence>
333</xs:complexType>
334
335<!-- Maps to a uid_tracker-->
336<xs:complexType name="vuid_tracker_type">
337 <xs:all>
338 <xs:element name="targets" type="vuid_targets_type" />
339 </xs:all>
340</xs:complexType>
341
342<xs:complexType name="gid_target_type">
343 <xs:choice>
344 <xs:element name="id" type="xs:integer" />
345 <xs:element name="name" type="xs:string" />
346 </xs:choice>
347</xs:complexType>
348
349<!-- Maps to a list of gid_targets-->
350<xs:complexType name="gid_targets_type">
351 <xs:sequence>
352 <xs:element name="gid_target" type="gid_target_type" minOccurs="0" maxOccurs="unbounded" />
353 </xs:sequence>
354</xs:complexType>
355
356<!-- Maps to a gid_tracker-->
357<xs:complexType name="gid_tracker_type">
358 <xs:all>
359 <xs:element name="targets" type="gid_targets_type" />
360 </xs:all>
361</xs:complexType>
362
363<xs:complexType name="vgid_target_type">
364 <xs:choice>
365 <xs:element name="id" type="xs:integer" />
366 <xs:element name="name" type="xs:string" />
367 </xs:choice>
368</xs:complexType>
369
370<!-- Maps to a list of vgid_targets-->
371<xs:complexType name="vgid_targets_type">
372 <xs:sequence>
373 <xs:element name="vgid_target" type="vgid_target_type" minOccurs="0" maxOccurs="unbounded" />
374 </xs:sequence>
375</xs:complexType>
376
377<!-- Maps to a gid_tracker-->
378<xs:complexType name="vgid_tracker_type">
379 <xs:all>
380 <xs:element name="targets" type="vgid_targets_type" />
847a5916
JR
381 </xs:all>
382</xs:complexType>
383
384<!-- Maps to a list of trackers-->
385<xs:complexType name="trackers_type">
55c9e7ca
JR
386 <xs:sequence>
387 <xs:choice minOccurs="0" maxOccurs="unbounded" >
388 <xs:element name="pid_tracker" type="pid_tracker_type" maxOccurs="1" />
389 <xs:element name="vpid_tracker" type="vpid_tracker_type" maxOccurs="1" />
390 <xs:element name="uid_tracker" type="uid_tracker_type" maxOccurs="1" />
391 <xs:element name="vuid_tracker" type="vuid_tracker_type" maxOccurs="1" />
392 <xs:element name="gid_tracker" type="gid_tracker_type" maxOccurs="1" />
393 <xs:element name="vgid_tracker" type="vgid_tracker_type" maxOccurs="1" />
394 </xs:choice>
847a5916
JR
395 </xs:sequence>
396</xs:complexType>
397
398<!-- Maps to struct lttng_domain, contains channels and pid_tracker -->
629bf5b0
JG
399<xs:complexType name="domain_type">
400 <xs:all>
401 <xs:element name="type" type="domain_type_type"/>
402 <xs:element name="buffer_type" type="domain_buffer_type"/>
403 <xs:element name="channels" type="channel_list_type" minOccurs="0"/>
847a5916 404 <xs:element name="trackers" type="trackers_type" minOccurs="0"/>
629bf5b0
JG
405 </xs:all>
406</xs:complexType>
407
ce6176f2
JG
408<xs:complexType name="periodic_rotation_schedule_type">
409 <xs:all>
410 <xs:element name="time_us" type="uint64_type" minOccurs="0" />
411 </xs:all>
412</xs:complexType>
413
414<xs:complexType name="size_threshold_rotation_schedule_type">
415 <xs:all>
416 <xs:element name="bytes" type="uint64_type" minOccurs="0" />
417 </xs:all>
418</xs:complexType>
419
420<xs:complexType name="rotation_schedule_type">
421 <xs:sequence>
422 <xs:choice maxOccurs="unbounded">
423 <xs:element name="periodic" type="periodic_rotation_schedule_type" maxOccurs="unbounded" />
424 <xs:element name="size_threshold" type="size_threshold_rotation_schedule_type" maxOccurs="unbounded" />
425 </xs:choice>
426 </xs:sequence>
427</xs:complexType>
428
629bf5b0 429<xs:complexType name="session_attributes_type">
259c2674
JD
430 <xs:all>
431 <xs:element name="snapshot_mode" type="xs:boolean" minOccurs="0"/>
432 <xs:element name="live_timer_interval" type="uint32_type" minOccurs="0"/> <!-- usec -->
ce6176f2 433 <xs:element name="rotation_schedules" type="rotation_schedule_type" minOccurs="0" />
259c2674 434 </xs:all>
629bf5b0
JG
435</xs:complexType>
436
437<xs:complexType name="domain_list_type">
438 <xs:sequence>
439 <xs:element name="domain" type="domain_type" minOccurs="0" maxOccurs="unbounded"/>
440 </xs:sequence>
441</xs:complexType>
442
443<xs:complexType name="net_output_type">
444 <xs:all>
445 <xs:element name="control_uri" type="xs:string"/>
446 <xs:element name="data_uri" type="xs:string"/>
447 </xs:all>
448</xs:complexType>
449
450<xs:complexType name="destination_type">
451 <xs:choice>
452 <xs:element name="path" type="xs:string"/>
453 <xs:element name="net_output" type="net_output_type"/>
454 </xs:choice>
455</xs:complexType>
456
457<xs:complexType name="consumer_output_type">
458 <xs:all>
459 <xs:element name="enabled" type="xs:boolean" default="true"/>
460 <xs:element name="destination" type="destination_type"/>
461 </xs:all>
462</xs:complexType>
463
464<xs:complexType name="snapshot_output_type">
465 <xs:all>
466 <xs:element name="name" type="name_type"/>
467 <xs:element name="max_size" type="uint64_type"/>
468 <xs:element name="consumer_output" type="consumer_output_type"/>
469 </xs:all>
470</xs:complexType>
471
472<xs:complexType name="snapshot_output_list_type">
473 <xs:sequence>
474 <xs:element name="output" type="snapshot_output_type" minOccurs="0" maxOccurs="unbounded"/>
475 </xs:sequence>
476</xs:complexType>
477
478<xs:complexType name="session_output_type">
479 <xs:choice>
480 <xs:element name="snapshot_outputs" type="snapshot_output_list_type"/>
481 <xs:element name="consumer_output" type="consumer_output_type"/>
482 </xs:choice>
483</xs:complexType>
484
485<xs:complexType name="session_type">
486 <xs:all>
487 <xs:element name="name" type="name_type"/>
9e7c9f56 488 <xs:element name="shared_memory_path" type="xs:string" minOccurs="0"/>
629bf5b0
JG
489 <xs:element name="domains" type="domain_list_type" minOccurs="0"/>
490 <xs:element name="started" type="xs:boolean" default="0" minOccurs="0"/>
491 <xs:element name="attributes" type="session_attributes_type" minOccurs="0"/>
492 <xs:element name="output" type="session_output_type" minOccurs="0"/>
493 </xs:all>
494</xs:complexType>
495
496<xs:element name="sessions">
497 <xs:complexType>
498 <xs:sequence>
499 <xs:element name="session" type="session_type" maxOccurs="unbounded"/>
500 </xs:sequence>
501 </xs:complexType>
502</xs:element>
503
504</xs:schema>
This page took 0.059397 seconds and 4 git commands to generate.