Commit | Line | Data |
---|---|---|
0de2479d SM |
1 | #!/bin/bash |
2 | # | |
3 | # Copyright (C) - 2020 EfficiOS, inc | |
4 | # | |
5 | # This library is free software; you can redistribute it and/or modify it under | |
6 | # the terms of the GNU Lesser General Public License as published by the Free | |
7 | # Software Foundation; version 2.1 of the License. | |
8 | # | |
9 | # This library is distributed in the hope that it will be useful, but WITHOUT | |
10 | # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS | |
11 | # FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more | |
12 | # details. | |
13 | # | |
14 | # You should have received a copy of the GNU Lesser General Public License | |
15 | # along with this library; if not, write to the Free Software Foundation, Inc., | |
16 | # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | |
17 | ||
18 | # Test the `lttng list-trigger` command line interface. | |
19 | ||
20 | CURDIR="$(dirname "$0")" | |
21 | TESTDIR="$CURDIR/../../.." | |
22 | ||
23 | # shellcheck source=../../../utils/utils.sh | |
24 | source "$TESTDIR/utils/utils.sh" | |
25 | ||
831f8599 | 26 | NUM_TESTS=150 |
0de2479d SM |
27 | |
28 | FULL_LTTNG_BIN="${TESTDIR}/../src/bin/lttng/${LTTNG_BIN}" | |
29 | ||
7539dcec FD |
30 | tmp_stdout=$(mktemp --tmpdir -t test_list_triggers_cli_stdout.XXXXXX) |
31 | tmp_stderr=$(mktemp --tmpdir -t test_list_triggers_cli_stderr.XXXXXX) | |
32 | tmp_expected_stdout=$(mktemp --tmpdir -t test_list_triggers_cli_expected_stdout.XXXXXX) | |
831f8599 | 33 | tmp_expected_stdout_mi=$(mktemp --tmpdir -t test_list_triggers_cli_expected_stdout.mi.XXXXXX) |
0de2479d | 34 | uprobe_elf_binary=$(realpath "${TESTDIR}/utils/testapp/userspace-probe-elf-binary/.libs/userspace-probe-elf-binary") |
8a917ae8 | 35 | uprobe_sdt_binary=$(realpath "${TESTDIR}/utils/testapp/userspace-probe-sdt-binary/.libs/userspace-probe-sdt-binary") |
19904669 | 36 | register_some_triggers_bin=$(realpath "${CURDIR}/utils/register-some-triggers") |
0de2479d SM |
37 | |
38 | uid=$(id --user) | |
39 | gid=$(id --group) | |
40 | ||
41 | if [ "$uid" == "0" ]; then | |
42 | ist_root=1 | |
8a917ae8 FD |
43 | ls "$uprobe_sdt_binary" >/dev/null 2>&1 |
44 | if test $? == 0; then | |
45 | hast_sdt_binary=1 | |
46 | else | |
47 | hast_sdt_binary=0 | |
48 | fi | |
0de2479d SM |
49 | else |
50 | ist_root=0 | |
8a917ae8 | 51 | hast_sdt_binary=0 |
0de2479d SM |
52 | fi |
53 | ||
be7f9dfc | 54 | |
0de2479d SM |
55 | test_top_level_options () |
56 | { | |
be7f9dfc | 57 | diag "Listing top level options" |
0de2479d | 58 | |
45ce77e1 | 59 | lttng_add_trigger_ok "hello" --condition event-rule-matches --type=user --name=test-name --action notify |
0de2479d SM |
60 | |
61 | cat > "${tmp_expected_stdout}" <<- EOF | |
1d4b59f2 | 62 | - name: hello |
481c5310 | 63 | owner uid: ${uid} |
e1e94513 | 64 | condition: event rule matches |
45ce77e1 | 65 | rule: test-name (type: user tracepoint) |
8ce7c93a | 66 | errors: none |
0de2479d SM |
67 | actions: |
68 | notify | |
709fb83f JG |
69 | errors: none |
70 | errors: none | |
0de2479d SM |
71 | EOF |
72 | ||
831f8599 JR |
73 | cat > "${tmp_expected_stdout_mi}" <<- EOF |
74 | <?xml version="1.0" encoding="UTF-8"?> | |
03f930ba | 75 | <command xmlns="https://lttng.org/xml/ns/lttng-mi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://lttng.org/xml/ns/lttng-mi https://lttng.org/xml/schemas/lttng-mi/${MI_XSD_MAJOR_VERSION}/lttng-mi-${MI_XSD_MAJOR_VERSION}.${MI_XSD_MINOR_VERSION}.xsd" schemaVersion="${MI_XSD_MAJOR_VERSION}.${MI_XSD_MINOR_VERSION}"> |
831f8599 JR |
76 | <name>list-trigger</name> |
77 | <output> | |
78 | <triggers> | |
79 | <trigger> | |
80 | <name>hello</name> | |
81 | <owner_uid>${uid}</owner_uid> | |
82 | <condition> | |
83 | <condition_event_rule_matches> | |
84 | <event_rule> | |
85 | <event_rule_user_tracepoint> | |
86 | <name_pattern>test-name</name_pattern> | |
87 | </event_rule_user_tracepoint> | |
88 | </event_rule> | |
89 | <capture_descriptors/> | |
90 | </condition_event_rule_matches> | |
91 | <error_query_results> | |
92 | <error_query_result> | |
93 | <name>discarded tracer messages</name> | |
94 | <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description> | |
95 | <error_query_result_counter> | |
96 | <value>0</value> | |
97 | </error_query_result_counter> | |
98 | </error_query_result> | |
99 | </error_query_results> | |
100 | </condition> | |
101 | <action> | |
102 | <action_list> | |
103 | <action> | |
104 | <action_notify> | |
105 | <rate_policy> | |
106 | <rate_policy_every_n> | |
107 | <interval>1</interval> | |
108 | </rate_policy_every_n> | |
109 | </rate_policy> | |
110 | </action_notify> | |
111 | <error_query_results> | |
112 | <error_query_result> | |
113 | <name>total execution failures</name> | |
114 | <description>Aggregated count of errors encountered when executing the action</description> | |
115 | <error_query_result_counter> | |
116 | <value>0</value> | |
117 | </error_query_result_counter> | |
118 | </error_query_result> | |
119 | </error_query_results> | |
120 | </action> | |
121 | </action_list> | |
122 | </action> | |
123 | <error_query_results/> | |
124 | </trigger> | |
125 | </triggers> | |
126 | </output> | |
127 | </command> | |
128 | EOF | |
129 | ||
be7f9dfc | 130 | list_triggers_matches_ok "top level options" "${tmp_expected_stdout}" |
831f8599 | 131 | list_triggers_matches_mi_ok "MI top level options" "${tmp_expected_stdout_mi}" |
0de2479d | 132 | |
be7f9dfc | 133 | lttng_remove_trigger_ok "hello" |
0de2479d SM |
134 | } |
135 | ||
8dbb86b8 | 136 | test_event_rule_matches_tracepoint () |
0de2479d | 137 | { |
040a195f | 138 | diag "Listing event-rule-matches tracepoint" |
0de2479d | 139 | |
45ce77e1 JR |
140 | lttng_add_trigger_ok "C" --condition event-rule-matches --type=user --action notify |
141 | lttng_add_trigger_ok "A" --condition event-rule-matches --name=aaa --type=user --filter 'p == 2' --action notify | |
142 | lttng_add_trigger_ok "D" --condition event-rule-matches --name='hello*' --type=user -x hello2 --exclude-name hello3 -x hello4 --action notify | |
143 | lttng_add_trigger_ok "B" --condition event-rule-matches --type=user --name=gerboise --log-level INFO.. --action notify | |
144 | lttng_add_trigger_ok "E" --condition event-rule-matches --type=user --name=lemming --log-level WARNING --action notify | |
145 | lttng_add_trigger_ok "J" --condition event-rule-matches --type=user --name=lemming --log-level .. --action notify | |
146 | lttng_add_trigger_ok "F" --condition event-rule-matches --type=user --name=capture-payload-field --capture a --action notify | |
147 | lttng_add_trigger_ok "G" --condition event-rule-matches --type=user --name=capture-array --capture 'a[2]' --capture '$ctx.tourlou[18]' --action notify | |
148 | lttng_add_trigger_ok "H" --condition event-rule-matches --type=user --name=capture-chan-ctx --capture '$ctx.vpid' --action notify | |
149 | lttng_add_trigger_ok "I" --condition event-rule-matches --type=user --name=capture-app-ctx --capture '$app.iga:active_clients' --action notify | |
0de2479d SM |
150 | |
151 | cat > "${tmp_expected_stdout}" <<- EOF | |
1d4b59f2 | 152 | - name: A |
481c5310 | 153 | owner uid: ${uid} |
e1e94513 | 154 | condition: event rule matches |
45ce77e1 | 155 | rule: aaa (type: user tracepoint, filter: p == 2) |
8ce7c93a | 156 | errors: none |
0de2479d SM |
157 | actions: |
158 | notify | |
709fb83f JG |
159 | errors: none |
160 | errors: none | |
1d4b59f2 | 161 | - name: B |
481c5310 | 162 | owner uid: ${uid} |
e1e94513 | 163 | condition: event rule matches |
45ce77e1 | 164 | rule: gerboise (type: user tracepoint, log level at least INFO) |
8ce7c93a | 165 | errors: none |
0de2479d SM |
166 | actions: |
167 | notify | |
709fb83f JG |
168 | errors: none |
169 | errors: none | |
1d4b59f2 | 170 | - name: C |
481c5310 | 171 | owner uid: ${uid} |
e1e94513 | 172 | condition: event rule matches |
45ce77e1 | 173 | rule: * (type: user tracepoint) |
8ce7c93a | 174 | errors: none |
0de2479d SM |
175 | actions: |
176 | notify | |
709fb83f JG |
177 | errors: none |
178 | errors: none | |
1d4b59f2 | 179 | - name: D |
481c5310 | 180 | owner uid: ${uid} |
e1e94513 | 181 | condition: event rule matches |
45ce77e1 | 182 | rule: hello* (type: user tracepoint, exclusions: hello2,hello3,hello4) |
8ce7c93a | 183 | errors: none |
0de2479d SM |
184 | actions: |
185 | notify | |
709fb83f JG |
186 | errors: none |
187 | errors: none | |
1d4b59f2 | 188 | - name: E |
481c5310 | 189 | owner uid: ${uid} |
e1e94513 | 190 | condition: event rule matches |
45ce77e1 | 191 | rule: lemming (type: user tracepoint, log level is WARNING) |
8ce7c93a | 192 | errors: none |
0de2479d SM |
193 | actions: |
194 | notify | |
709fb83f JG |
195 | errors: none |
196 | errors: none | |
1d4b59f2 | 197 | - name: F |
481c5310 | 198 | owner uid: ${uid} |
e1e94513 | 199 | condition: event rule matches |
45ce77e1 | 200 | rule: capture-payload-field (type: user tracepoint) |
b203b4b0 SM |
201 | captures: |
202 | - a | |
8ce7c93a | 203 | errors: none |
b203b4b0 SM |
204 | actions: |
205 | notify | |
709fb83f JG |
206 | errors: none |
207 | errors: none | |
1d4b59f2 | 208 | - name: G |
481c5310 | 209 | owner uid: ${uid} |
e1e94513 | 210 | condition: event rule matches |
45ce77e1 | 211 | rule: capture-array (type: user tracepoint) |
b203b4b0 SM |
212 | captures: |
213 | - a[2] | |
214 | - \$ctx.tourlou[18] | |
8ce7c93a | 215 | errors: none |
b203b4b0 SM |
216 | actions: |
217 | notify | |
709fb83f JG |
218 | errors: none |
219 | errors: none | |
1d4b59f2 | 220 | - name: H |
481c5310 | 221 | owner uid: ${uid} |
e1e94513 | 222 | condition: event rule matches |
45ce77e1 | 223 | rule: capture-chan-ctx (type: user tracepoint) |
b203b4b0 SM |
224 | captures: |
225 | - \$ctx.vpid | |
8ce7c93a | 226 | errors: none |
b203b4b0 SM |
227 | actions: |
228 | notify | |
709fb83f JG |
229 | errors: none |
230 | errors: none | |
1d4b59f2 | 231 | - name: I |
481c5310 | 232 | owner uid: ${uid} |
e1e94513 | 233 | condition: event rule matches |
45ce77e1 | 234 | rule: capture-app-ctx (type: user tracepoint) |
b203b4b0 SM |
235 | captures: |
236 | - \$app.iga:active_clients | |
8ce7c93a | 237 | errors: none |
b203b4b0 SM |
238 | actions: |
239 | notify | |
709fb83f JG |
240 | errors: none |
241 | errors: none | |
949f049b | 242 | - name: J |
481c5310 | 243 | owner uid: ${uid} |
e1e94513 | 244 | condition: event rule matches |
45ce77e1 | 245 | rule: lemming (type: user tracepoint) |
8ce7c93a | 246 | errors: none |
949f049b SM |
247 | actions: |
248 | notify | |
249 | errors: none | |
250 | errors: none | |
0de2479d SM |
251 | EOF |
252 | ||
831f8599 JR |
253 | cat > "${tmp_expected_stdout_mi}" <<- EOF |
254 | <?xml version="1.0" encoding="UTF-8"?> | |
03f930ba | 255 | <command xmlns="https://lttng.org/xml/ns/lttng-mi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://lttng.org/xml/ns/lttng-mi https://lttng.org/xml/schemas/lttng-mi/${MI_XSD_MAJOR_VERSION}/lttng-mi-${MI_XSD_MAJOR_VERSION}.${MI_XSD_MINOR_VERSION}.xsd" schemaVersion="${MI_XSD_MAJOR_VERSION}.${MI_XSD_MINOR_VERSION}"> |
831f8599 JR |
256 | <name>list-trigger</name> |
257 | <output> | |
258 | <triggers> | |
259 | <trigger> | |
260 | <name>A</name> | |
261 | <owner_uid>${uid}</owner_uid> | |
262 | <condition> | |
263 | <condition_event_rule_matches> | |
264 | <event_rule> | |
265 | <event_rule_user_tracepoint> | |
266 | <name_pattern>aaa</name_pattern> | |
267 | <filter_expression>p == 2</filter_expression> | |
268 | </event_rule_user_tracepoint> | |
269 | </event_rule> | |
270 | <capture_descriptors/> | |
271 | </condition_event_rule_matches> | |
272 | <error_query_results> | |
273 | <error_query_result> | |
274 | <name>discarded tracer messages</name> | |
275 | <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description> | |
276 | <error_query_result_counter> | |
277 | <value>0</value> | |
278 | </error_query_result_counter> | |
279 | </error_query_result> | |
280 | </error_query_results> | |
281 | </condition> | |
282 | <action> | |
283 | <action_list> | |
284 | <action> | |
285 | <action_notify> | |
286 | <rate_policy> | |
287 | <rate_policy_every_n> | |
288 | <interval>1</interval> | |
289 | </rate_policy_every_n> | |
290 | </rate_policy> | |
291 | </action_notify> | |
292 | <error_query_results> | |
293 | <error_query_result> | |
294 | <name>total execution failures</name> | |
295 | <description>Aggregated count of errors encountered when executing the action</description> | |
296 | <error_query_result_counter> | |
297 | <value>0</value> | |
298 | </error_query_result_counter> | |
299 | </error_query_result> | |
300 | </error_query_results> | |
301 | </action> | |
302 | </action_list> | |
303 | </action> | |
304 | <error_query_results/> | |
305 | </trigger> | |
306 | <trigger> | |
307 | <name>B</name> | |
308 | <owner_uid>${uid}</owner_uid> | |
309 | <condition> | |
310 | <condition_event_rule_matches> | |
311 | <event_rule> | |
312 | <event_rule_user_tracepoint> | |
313 | <name_pattern>gerboise</name_pattern> | |
314 | <log_level_rule> | |
315 | <log_level_rule_at_least_as_severe_as> | |
316 | <level>6</level> | |
317 | </log_level_rule_at_least_as_severe_as> | |
318 | </log_level_rule> | |
319 | </event_rule_user_tracepoint> | |
320 | </event_rule> | |
321 | <capture_descriptors/> | |
322 | </condition_event_rule_matches> | |
323 | <error_query_results> | |
324 | <error_query_result> | |
325 | <name>discarded tracer messages</name> | |
326 | <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description> | |
327 | <error_query_result_counter> | |
328 | <value>0</value> | |
329 | </error_query_result_counter> | |
330 | </error_query_result> | |
331 | </error_query_results> | |
332 | </condition> | |
333 | <action> | |
334 | <action_list> | |
335 | <action> | |
336 | <action_notify> | |
337 | <rate_policy> | |
338 | <rate_policy_every_n> | |
339 | <interval>1</interval> | |
340 | </rate_policy_every_n> | |
341 | </rate_policy> | |
342 | </action_notify> | |
343 | <error_query_results> | |
344 | <error_query_result> | |
345 | <name>total execution failures</name> | |
346 | <description>Aggregated count of errors encountered when executing the action</description> | |
347 | <error_query_result_counter> | |
348 | <value>0</value> | |
349 | </error_query_result_counter> | |
350 | </error_query_result> | |
351 | </error_query_results> | |
352 | </action> | |
353 | </action_list> | |
354 | </action> | |
355 | <error_query_results/> | |
356 | </trigger> | |
357 | <trigger> | |
358 | <name>C</name> | |
359 | <owner_uid>${uid}</owner_uid> | |
360 | <condition> | |
361 | <condition_event_rule_matches> | |
362 | <event_rule> | |
363 | <event_rule_user_tracepoint> | |
364 | <name_pattern>*</name_pattern> | |
365 | </event_rule_user_tracepoint> | |
366 | </event_rule> | |
367 | <capture_descriptors/> | |
368 | </condition_event_rule_matches> | |
369 | <error_query_results> | |
370 | <error_query_result> | |
371 | <name>discarded tracer messages</name> | |
372 | <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description> | |
373 | <error_query_result_counter> | |
374 | <value>0</value> | |
375 | </error_query_result_counter> | |
376 | </error_query_result> | |
377 | </error_query_results> | |
378 | </condition> | |
379 | <action> | |
380 | <action_list> | |
381 | <action> | |
382 | <action_notify> | |
383 | <rate_policy> | |
384 | <rate_policy_every_n> | |
385 | <interval>1</interval> | |
386 | </rate_policy_every_n> | |
387 | </rate_policy> | |
388 | </action_notify> | |
389 | <error_query_results> | |
390 | <error_query_result> | |
391 | <name>total execution failures</name> | |
392 | <description>Aggregated count of errors encountered when executing the action</description> | |
393 | <error_query_result_counter> | |
394 | <value>0</value> | |
395 | </error_query_result_counter> | |
396 | </error_query_result> | |
397 | </error_query_results> | |
398 | </action> | |
399 | </action_list> | |
400 | </action> | |
401 | <error_query_results/> | |
402 | </trigger> | |
403 | <trigger> | |
404 | <name>D</name> | |
405 | <owner_uid>${uid}</owner_uid> | |
406 | <condition> | |
407 | <condition_event_rule_matches> | |
408 | <event_rule> | |
409 | <event_rule_user_tracepoint> | |
410 | <name_pattern>hello*</name_pattern> | |
411 | <name_pattern_exclusions> | |
412 | <name_pattern_exclusion>hello2</name_pattern_exclusion> | |
413 | <name_pattern_exclusion>hello3</name_pattern_exclusion> | |
414 | <name_pattern_exclusion>hello4</name_pattern_exclusion> | |
415 | </name_pattern_exclusions> | |
416 | </event_rule_user_tracepoint> | |
417 | </event_rule> | |
418 | <capture_descriptors/> | |
419 | </condition_event_rule_matches> | |
420 | <error_query_results> | |
421 | <error_query_result> | |
422 | <name>discarded tracer messages</name> | |
423 | <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description> | |
424 | <error_query_result_counter> | |
425 | <value>0</value> | |
426 | </error_query_result_counter> | |
427 | </error_query_result> | |
428 | </error_query_results> | |
429 | </condition> | |
430 | <action> | |
431 | <action_list> | |
432 | <action> | |
433 | <action_notify> | |
434 | <rate_policy> | |
435 | <rate_policy_every_n> | |
436 | <interval>1</interval> | |
437 | </rate_policy_every_n> | |
438 | </rate_policy> | |
439 | </action_notify> | |
440 | <error_query_results> | |
441 | <error_query_result> | |
442 | <name>total execution failures</name> | |
443 | <description>Aggregated count of errors encountered when executing the action</description> | |
444 | <error_query_result_counter> | |
445 | <value>0</value> | |
446 | </error_query_result_counter> | |
447 | </error_query_result> | |
448 | </error_query_results> | |
449 | </action> | |
450 | </action_list> | |
451 | </action> | |
452 | <error_query_results/> | |
453 | </trigger> | |
454 | <trigger> | |
455 | <name>E</name> | |
456 | <owner_uid>${uid}</owner_uid> | |
457 | <condition> | |
458 | <condition_event_rule_matches> | |
459 | <event_rule> | |
460 | <event_rule_user_tracepoint> | |
461 | <name_pattern>lemming</name_pattern> | |
462 | <log_level_rule> | |
463 | <log_level_rule_exactly> | |
464 | <level>4</level> | |
465 | </log_level_rule_exactly> | |
466 | </log_level_rule> | |
467 | </event_rule_user_tracepoint> | |
468 | </event_rule> | |
469 | <capture_descriptors/> | |
470 | </condition_event_rule_matches> | |
471 | <error_query_results> | |
472 | <error_query_result> | |
473 | <name>discarded tracer messages</name> | |
474 | <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description> | |
475 | <error_query_result_counter> | |
476 | <value>0</value> | |
477 | </error_query_result_counter> | |
478 | </error_query_result> | |
479 | </error_query_results> | |
480 | </condition> | |
481 | <action> | |
482 | <action_list> | |
483 | <action> | |
484 | <action_notify> | |
485 | <rate_policy> | |
486 | <rate_policy_every_n> | |
487 | <interval>1</interval> | |
488 | </rate_policy_every_n> | |
489 | </rate_policy> | |
490 | </action_notify> | |
491 | <error_query_results> | |
492 | <error_query_result> | |
493 | <name>total execution failures</name> | |
494 | <description>Aggregated count of errors encountered when executing the action</description> | |
495 | <error_query_result_counter> | |
496 | <value>0</value> | |
497 | </error_query_result_counter> | |
498 | </error_query_result> | |
499 | </error_query_results> | |
500 | </action> | |
501 | </action_list> | |
502 | </action> | |
503 | <error_query_results/> | |
504 | </trigger> | |
505 | <trigger> | |
506 | <name>F</name> | |
507 | <owner_uid>${uid}</owner_uid> | |
508 | <condition> | |
509 | <condition_event_rule_matches> | |
510 | <event_rule> | |
511 | <event_rule_user_tracepoint> | |
512 | <name_pattern>capture-payload-field</name_pattern> | |
513 | </event_rule_user_tracepoint> | |
514 | </event_rule> | |
515 | <capture_descriptors> | |
516 | <event_expr> | |
517 | <event_expr_payload_field> | |
518 | <name>a</name> | |
519 | </event_expr_payload_field> | |
520 | </event_expr> | |
521 | </capture_descriptors> | |
522 | </condition_event_rule_matches> | |
523 | <error_query_results> | |
524 | <error_query_result> | |
525 | <name>discarded tracer messages</name> | |
526 | <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description> | |
527 | <error_query_result_counter> | |
528 | <value>0</value> | |
529 | </error_query_result_counter> | |
530 | </error_query_result> | |
531 | </error_query_results> | |
532 | </condition> | |
533 | <action> | |
534 | <action_list> | |
535 | <action> | |
536 | <action_notify> | |
537 | <rate_policy> | |
538 | <rate_policy_every_n> | |
539 | <interval>1</interval> | |
540 | </rate_policy_every_n> | |
541 | </rate_policy> | |
542 | </action_notify> | |
543 | <error_query_results> | |
544 | <error_query_result> | |
545 | <name>total execution failures</name> | |
546 | <description>Aggregated count of errors encountered when executing the action</description> | |
547 | <error_query_result_counter> | |
548 | <value>0</value> | |
549 | </error_query_result_counter> | |
550 | </error_query_result> | |
551 | </error_query_results> | |
552 | </action> | |
553 | </action_list> | |
554 | </action> | |
555 | <error_query_results/> | |
556 | </trigger> | |
557 | <trigger> | |
558 | <name>G</name> | |
559 | <owner_uid>${uid}</owner_uid> | |
560 | <condition> | |
561 | <condition_event_rule_matches> | |
562 | <event_rule> | |
563 | <event_rule_user_tracepoint> | |
564 | <name_pattern>capture-array</name_pattern> | |
565 | </event_rule_user_tracepoint> | |
566 | </event_rule> | |
567 | <capture_descriptors> | |
568 | <event_expr> | |
569 | <event_expr_array_field_element> | |
570 | <index>2</index> | |
571 | <event_expr> | |
572 | <event_expr_payload_field> | |
573 | <name>a</name> | |
574 | </event_expr_payload_field> | |
575 | </event_expr> | |
576 | </event_expr_array_field_element> | |
577 | </event_expr> | |
578 | <event_expr> | |
579 | <event_expr_array_field_element> | |
580 | <index>18</index> | |
581 | <event_expr> | |
582 | <event_expr_channel_context_field> | |
583 | <name>tourlou</name> | |
584 | </event_expr_channel_context_field> | |
585 | </event_expr> | |
586 | </event_expr_array_field_element> | |
587 | </event_expr> | |
588 | </capture_descriptors> | |
589 | </condition_event_rule_matches> | |
590 | <error_query_results> | |
591 | <error_query_result> | |
592 | <name>discarded tracer messages</name> | |
593 | <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description> | |
594 | <error_query_result_counter> | |
595 | <value>0</value> | |
596 | </error_query_result_counter> | |
597 | </error_query_result> | |
598 | </error_query_results> | |
599 | </condition> | |
600 | <action> | |
601 | <action_list> | |
602 | <action> | |
603 | <action_notify> | |
604 | <rate_policy> | |
605 | <rate_policy_every_n> | |
606 | <interval>1</interval> | |
607 | </rate_policy_every_n> | |
608 | </rate_policy> | |
609 | </action_notify> | |
610 | <error_query_results> | |
611 | <error_query_result> | |
612 | <name>total execution failures</name> | |
613 | <description>Aggregated count of errors encountered when executing the action</description> | |
614 | <error_query_result_counter> | |
615 | <value>0</value> | |
616 | </error_query_result_counter> | |
617 | </error_query_result> | |
618 | </error_query_results> | |
619 | </action> | |
620 | </action_list> | |
621 | </action> | |
622 | <error_query_results/> | |
623 | </trigger> | |
624 | <trigger> | |
625 | <name>H</name> | |
626 | <owner_uid>${uid}</owner_uid> | |
627 | <condition> | |
628 | <condition_event_rule_matches> | |
629 | <event_rule> | |
630 | <event_rule_user_tracepoint> | |
631 | <name_pattern>capture-chan-ctx</name_pattern> | |
632 | </event_rule_user_tracepoint> | |
633 | </event_rule> | |
634 | <capture_descriptors> | |
635 | <event_expr> | |
636 | <event_expr_channel_context_field> | |
637 | <name>vpid</name> | |
638 | </event_expr_channel_context_field> | |
639 | </event_expr> | |
640 | </capture_descriptors> | |
641 | </condition_event_rule_matches> | |
642 | <error_query_results> | |
643 | <error_query_result> | |
644 | <name>discarded tracer messages</name> | |
645 | <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description> | |
646 | <error_query_result_counter> | |
647 | <value>0</value> | |
648 | </error_query_result_counter> | |
649 | </error_query_result> | |
650 | </error_query_results> | |
651 | </condition> | |
652 | <action> | |
653 | <action_list> | |
654 | <action> | |
655 | <action_notify> | |
656 | <rate_policy> | |
657 | <rate_policy_every_n> | |
658 | <interval>1</interval> | |
659 | </rate_policy_every_n> | |
660 | </rate_policy> | |
661 | </action_notify> | |
662 | <error_query_results> | |
663 | <error_query_result> | |
664 | <name>total execution failures</name> | |
665 | <description>Aggregated count of errors encountered when executing the action</description> | |
666 | <error_query_result_counter> | |
667 | <value>0</value> | |
668 | </error_query_result_counter> | |
669 | </error_query_result> | |
670 | </error_query_results> | |
671 | </action> | |
672 | </action_list> | |
673 | </action> | |
674 | <error_query_results/> | |
675 | </trigger> | |
676 | <trigger> | |
677 | <name>I</name> | |
678 | <owner_uid>${uid}</owner_uid> | |
679 | <condition> | |
680 | <condition_event_rule_matches> | |
681 | <event_rule> | |
682 | <event_rule_user_tracepoint> | |
683 | <name_pattern>capture-app-ctx</name_pattern> | |
684 | </event_rule_user_tracepoint> | |
685 | </event_rule> | |
686 | <capture_descriptors> | |
687 | <event_expr> | |
688 | <event_expr_app_specific_context_field> | |
689 | <provider_name>iga</provider_name> | |
690 | <type_name>active_clients</type_name> | |
691 | </event_expr_app_specific_context_field> | |
692 | </event_expr> | |
693 | </capture_descriptors> | |
694 | </condition_event_rule_matches> | |
695 | <error_query_results> | |
696 | <error_query_result> | |
697 | <name>discarded tracer messages</name> | |
698 | <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description> | |
699 | <error_query_result_counter> | |
700 | <value>0</value> | |
701 | </error_query_result_counter> | |
702 | </error_query_result> | |
703 | </error_query_results> | |
704 | </condition> | |
705 | <action> | |
706 | <action_list> | |
707 | <action> | |
708 | <action_notify> | |
709 | <rate_policy> | |
710 | <rate_policy_every_n> | |
711 | <interval>1</interval> | |
712 | </rate_policy_every_n> | |
713 | </rate_policy> | |
714 | </action_notify> | |
715 | <error_query_results> | |
716 | <error_query_result> | |
717 | <name>total execution failures</name> | |
718 | <description>Aggregated count of errors encountered when executing the action</description> | |
719 | <error_query_result_counter> | |
720 | <value>0</value> | |
721 | </error_query_result_counter> | |
722 | </error_query_result> | |
723 | </error_query_results> | |
724 | </action> | |
725 | </action_list> | |
726 | </action> | |
727 | <error_query_results/> | |
728 | </trigger> | |
729 | <trigger> | |
730 | <name>J</name> | |
731 | <owner_uid>${uid}</owner_uid> | |
732 | <condition> | |
733 | <condition_event_rule_matches> | |
734 | <event_rule> | |
735 | <event_rule_user_tracepoint> | |
736 | <name_pattern>lemming</name_pattern> | |
737 | </event_rule_user_tracepoint> | |
738 | </event_rule> | |
739 | <capture_descriptors/> | |
740 | </condition_event_rule_matches> | |
741 | <error_query_results> | |
742 | <error_query_result> | |
743 | <name>discarded tracer messages</name> | |
744 | <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description> | |
745 | <error_query_result_counter> | |
746 | <value>0</value> | |
747 | </error_query_result_counter> | |
748 | </error_query_result> | |
749 | </error_query_results> | |
750 | </condition> | |
751 | <action> | |
752 | <action_list> | |
753 | <action> | |
754 | <action_notify> | |
755 | <rate_policy> | |
756 | <rate_policy_every_n> | |
757 | <interval>1</interval> | |
758 | </rate_policy_every_n> | |
759 | </rate_policy> | |
760 | </action_notify> | |
761 | <error_query_results> | |
762 | <error_query_result> | |
763 | <name>total execution failures</name> | |
764 | <description>Aggregated count of errors encountered when executing the action</description> | |
765 | <error_query_result_counter> | |
766 | <value>0</value> | |
767 | </error_query_result_counter> | |
768 | </error_query_result> | |
769 | </error_query_results> | |
770 | </action> | |
771 | </action_list> | |
772 | </action> | |
773 | <error_query_results/> | |
774 | </trigger> | |
775 | </triggers> | |
776 | </output> | |
777 | </command> | |
778 | EOF | |
779 | ||
665db063 | 780 | list_triggers_matches_ok "event-rule-matches, tracepoint event rule" "${tmp_expected_stdout}" |
831f8599 | 781 | list_triggers_matches_mi_ok "MI event-rule-matches, tracepoint event rule" "${tmp_expected_stdout_mi}" |
be7f9dfc FD |
782 | |
783 | lttng_remove_trigger_ok "A" | |
784 | lttng_remove_trigger_ok "B" | |
785 | lttng_remove_trigger_ok "C" | |
786 | lttng_remove_trigger_ok "D" | |
787 | lttng_remove_trigger_ok "E" | |
788 | lttng_remove_trigger_ok "F" | |
789 | lttng_remove_trigger_ok "G" | |
790 | lttng_remove_trigger_ok "H" | |
791 | lttng_remove_trigger_ok "I" | |
949f049b | 792 | lttng_remove_trigger_ok "J" |
0de2479d SM |
793 | } |
794 | ||
8dbb86b8 | 795 | test_event_rule_matches_probe () |
0de2479d SM |
796 | { |
797 | local channel_enable_addr | |
798 | local channel_disable_addr | |
799 | ||
040a195f | 800 | diag "Listing event-rule-matches kernel probe" |
0de2479d SM |
801 | |
802 | channel_enable_addr=$(grep ' t lttng_channel_enable\s\[lttng_tracer\]$' /proc/kallsyms | cut -f 1 -d ' ') | |
803 | channel_disable_addr=$(grep ' t lttng_channel_disable\s\[lttng_tracer\]$' /proc/kallsyms | cut -f 1 -d ' ') | |
804 | ||
805 | # We need to find a valid offset. | |
806 | base_symbol="" | |
807 | offset=0 | |
808 | if [[ 0x$channel_enable_addr -lt 0x$channel_disable_addr ]]; then | |
809 | base_symbol="lttng_channel_enable" | |
810 | offset=$(( 0x$channel_disable_addr - 0x$channel_enable_addr )) | |
811 | else | |
812 | base_symbol="lttng_channel_disable" | |
813 | offset=$(( 0x$channel_enable_addr - 0x$channel_disable_addr )) | |
814 | fi | |
815 | ||
816 | offset_hex="0x$(printf '%x' $offset)" | |
df954242 | 817 | channel_enable_addr_decimal=$(printf '%u' 0x"${channel_enable_addr}") |
0de2479d | 818 | |
45ce77e1 JR |
819 | lttng_add_trigger_ok "T0" --condition event-rule-matches --type=kprobe --location=lttng_channel_enable --event-name=my_channel_enable --action notify |
820 | lttng_add_trigger_ok "T1" --condition event-rule-matches --type=kprobe --location="${base_symbol}+${offset_hex}" --event-name=my_channel_enable --action notify | |
821 | lttng_add_trigger_ok "T2" --condition event-rule-matches --type=kprobe --location="0x${channel_enable_addr}" --event-name=my_channel_enable --action notify | |
0de2479d SM |
822 | |
823 | cat > "${tmp_expected_stdout}" <<- EOF | |
1d4b59f2 | 824 | - name: T0 |
481c5310 | 825 | owner uid: ${uid} |
e1e94513 | 826 | condition: event rule matches |
d84633c4 | 827 | rule: my_channel_enable (type: kernel:kprobe, location: lttng_channel_enable) |
8ce7c93a | 828 | errors: none |
0de2479d SM |
829 | actions: |
830 | notify | |
709fb83f JG |
831 | errors: none |
832 | errors: none | |
1d4b59f2 | 833 | - name: T1 |
481c5310 | 834 | owner uid: ${uid} |
e1e94513 | 835 | condition: event rule matches |
d84633c4 | 836 | rule: my_channel_enable (type: kernel:kprobe, location: ${base_symbol}+${offset_hex}) |
8ce7c93a | 837 | errors: none |
0de2479d SM |
838 | actions: |
839 | notify | |
709fb83f JG |
840 | errors: none |
841 | errors: none | |
1d4b59f2 | 842 | - name: T2 |
481c5310 | 843 | owner uid: ${uid} |
e1e94513 | 844 | condition: event rule matches |
d84633c4 | 845 | rule: my_channel_enable (type: kernel:kprobe, location: 0x${channel_enable_addr}) |
8ce7c93a | 846 | errors: none |
0de2479d SM |
847 | actions: |
848 | notify | |
709fb83f JG |
849 | errors: none |
850 | errors: none | |
0de2479d SM |
851 | EOF |
852 | ||
831f8599 JR |
853 | cat > "${tmp_expected_stdout_mi}" <<- EOF |
854 | <?xml version="1.0" encoding="UTF-8"?> | |
03f930ba | 855 | <command xmlns="https://lttng.org/xml/ns/lttng-mi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://lttng.org/xml/ns/lttng-mi https://lttng.org/xml/schemas/lttng-mi/${MI_XSD_MAJOR_VERSION}/lttng-mi-${MI_XSD_MAJOR_VERSION}.${MI_XSD_MINOR_VERSION}.xsd" schemaVersion="${MI_XSD_MAJOR_VERSION}.${MI_XSD_MINOR_VERSION}"> |
831f8599 JR |
856 | <name>list-trigger</name> |
857 | <output> | |
858 | <triggers> | |
859 | <trigger> | |
860 | <name>T0</name> | |
861 | <owner_uid>${uid}</owner_uid> | |
862 | <condition> | |
863 | <condition_event_rule_matches> | |
864 | <event_rule> | |
865 | <event_rule_kernel_kprobe> | |
866 | <event_name>my_channel_enable</event_name> | |
867 | <kernel_probe_location> | |
868 | <kernel_probe_location_symbol_offset> | |
869 | <name>lttng_channel_enable</name> | |
870 | <offset>0</offset> | |
871 | </kernel_probe_location_symbol_offset> | |
872 | </kernel_probe_location> | |
873 | </event_rule_kernel_kprobe> | |
874 | </event_rule> | |
875 | <capture_descriptors/> | |
876 | </condition_event_rule_matches> | |
877 | <error_query_results> | |
878 | <error_query_result> | |
879 | <name>discarded tracer messages</name> | |
880 | <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description> | |
881 | <error_query_result_counter> | |
882 | <value>0</value> | |
883 | </error_query_result_counter> | |
884 | </error_query_result> | |
885 | </error_query_results> | |
886 | </condition> | |
887 | <action> | |
888 | <action_list> | |
889 | <action> | |
890 | <action_notify> | |
891 | <rate_policy> | |
892 | <rate_policy_every_n> | |
893 | <interval>1</interval> | |
894 | </rate_policy_every_n> | |
895 | </rate_policy> | |
896 | </action_notify> | |
897 | <error_query_results> | |
898 | <error_query_result> | |
899 | <name>total execution failures</name> | |
900 | <description>Aggregated count of errors encountered when executing the action</description> | |
901 | <error_query_result_counter> | |
902 | <value>0</value> | |
903 | </error_query_result_counter> | |
904 | </error_query_result> | |
905 | </error_query_results> | |
906 | </action> | |
907 | </action_list> | |
908 | </action> | |
909 | <error_query_results/> | |
910 | </trigger> | |
911 | <trigger> | |
912 | <name>T1</name> | |
913 | <owner_uid>${uid}</owner_uid> | |
914 | <condition> | |
915 | <condition_event_rule_matches> | |
916 | <event_rule> | |
917 | <event_rule_kernel_kprobe> | |
918 | <event_name>my_channel_enable</event_name> | |
919 | <kernel_probe_location> | |
920 | <kernel_probe_location_symbol_offset> | |
921 | <name>${base_symbol}</name> | |
922 | <offset>${offset}</offset> | |
923 | </kernel_probe_location_symbol_offset> | |
924 | </kernel_probe_location> | |
925 | </event_rule_kernel_kprobe> | |
926 | </event_rule> | |
927 | <capture_descriptors/> | |
928 | </condition_event_rule_matches> | |
929 | <error_query_results> | |
930 | <error_query_result> | |
931 | <name>discarded tracer messages</name> | |
932 | <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description> | |
933 | <error_query_result_counter> | |
934 | <value>0</value> | |
935 | </error_query_result_counter> | |
936 | </error_query_result> | |
937 | </error_query_results> | |
938 | </condition> | |
939 | <action> | |
940 | <action_list> | |
941 | <action> | |
942 | <action_notify> | |
943 | <rate_policy> | |
944 | <rate_policy_every_n> | |
945 | <interval>1</interval> | |
946 | </rate_policy_every_n> | |
947 | </rate_policy> | |
948 | </action_notify> | |
949 | <error_query_results> | |
950 | <error_query_result> | |
951 | <name>total execution failures</name> | |
952 | <description>Aggregated count of errors encountered when executing the action</description> | |
953 | <error_query_result_counter> | |
954 | <value>0</value> | |
955 | </error_query_result_counter> | |
956 | </error_query_result> | |
957 | </error_query_results> | |
958 | </action> | |
959 | </action_list> | |
960 | </action> | |
961 | <error_query_results/> | |
962 | </trigger> | |
963 | <trigger> | |
964 | <name>T2</name> | |
965 | <owner_uid>${uid}</owner_uid> | |
966 | <condition> | |
967 | <condition_event_rule_matches> | |
968 | <event_rule> | |
969 | <event_rule_kernel_kprobe> | |
970 | <event_name>my_channel_enable</event_name> | |
971 | <kernel_probe_location> | |
972 | <kernel_probe_location_address> | |
973 | <address>${channel_enable_addr_decimal}</address> | |
974 | </kernel_probe_location_address> | |
975 | </kernel_probe_location> | |
976 | </event_rule_kernel_kprobe> | |
977 | </event_rule> | |
978 | <capture_descriptors/> | |
979 | </condition_event_rule_matches> | |
980 | <error_query_results> | |
981 | <error_query_result> | |
982 | <name>discarded tracer messages</name> | |
983 | <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description> | |
984 | <error_query_result_counter> | |
985 | <value>0</value> | |
986 | </error_query_result_counter> | |
987 | </error_query_result> | |
988 | </error_query_results> | |
989 | </condition> | |
990 | <action> | |
991 | <action_list> | |
992 | <action> | |
993 | <action_notify> | |
994 | <rate_policy> | |
995 | <rate_policy_every_n> | |
996 | <interval>1</interval> | |
997 | </rate_policy_every_n> | |
998 | </rate_policy> | |
999 | </action_notify> | |
1000 | <error_query_results> | |
1001 | <error_query_result> | |
1002 | <name>total execution failures</name> | |
1003 | <description>Aggregated count of errors encountered when executing the action</description> | |
1004 | <error_query_result_counter> | |
1005 | <value>0</value> | |
1006 | </error_query_result_counter> | |
1007 | </error_query_result> | |
1008 | </error_query_results> | |
1009 | </action> | |
1010 | </action_list> | |
1011 | </action> | |
1012 | <error_query_results/> | |
1013 | </trigger> | |
1014 | </triggers> | |
1015 | </output> | |
1016 | </command> | |
1017 | EOF | |
1018 | ||
665db063 | 1019 | list_triggers_matches_ok "event-rule-matches, probe event rule" "${tmp_expected_stdout}" |
831f8599 | 1020 | list_triggers_matches_mi_ok "MI event-rule-matches, probe event rule" "${tmp_expected_stdout_mi}" |
0de2479d | 1021 | |
be7f9dfc FD |
1022 | lttng_remove_trigger_ok "T0" |
1023 | lttng_remove_trigger_ok "T1" | |
1024 | lttng_remove_trigger_ok "T2" | |
0de2479d SM |
1025 | } |
1026 | ||
8dbb86b8 | 1027 | test_event_rule_matches_userspace_probe_elf () |
0de2479d | 1028 | { |
be7f9dfc FD |
1029 | local elf_function_name="test_function" |
1030 | ||
040a195f | 1031 | diag "Listing event-rule-matches userspace-probe elf" |
0de2479d | 1032 | |
45ce77e1 | 1033 | lttng_add_trigger_ok "T0" --condition event-rule-matches --type=kernel:uprobe --location=${uprobe_elf_binary}:test_function --event-name=ma-probe-elf --action notify |
0de2479d SM |
1034 | |
1035 | cat > "${tmp_expected_stdout}" <<- EOF | |
1d4b59f2 | 1036 | - name: T0 |
481c5310 | 1037 | owner uid: ${uid} |
e1e94513 | 1038 | condition: event rule matches |
e60e9a9a | 1039 | rule: ma-probe-elf (type: kernel:uprobe, location type: ELF, location: ${uprobe_elf_binary}:${elf_function_name}) |
8ce7c93a | 1040 | errors: none |
0de2479d SM |
1041 | actions: |
1042 | notify | |
709fb83f JG |
1043 | errors: none |
1044 | errors: none | |
0de2479d SM |
1045 | EOF |
1046 | ||
831f8599 JR |
1047 | cat > "${tmp_expected_stdout_mi}" <<- EOF |
1048 | <?xml version="1.0" encoding="UTF-8"?> | |
03f930ba | 1049 | <command xmlns="https://lttng.org/xml/ns/lttng-mi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://lttng.org/xml/ns/lttng-mi https://lttng.org/xml/schemas/lttng-mi/${MI_XSD_MAJOR_VERSION}/lttng-mi-${MI_XSD_MAJOR_VERSION}.${MI_XSD_MINOR_VERSION}.xsd" schemaVersion="${MI_XSD_MAJOR_VERSION}.${MI_XSD_MINOR_VERSION}"> |
831f8599 JR |
1050 | <name>list-trigger</name> |
1051 | <output> | |
1052 | <triggers> | |
1053 | <trigger> | |
1054 | <name>T0</name> | |
1055 | <owner_uid>${uid}</owner_uid> | |
1056 | <condition> | |
1057 | <condition_event_rule_matches> | |
1058 | <event_rule> | |
1059 | <event_rule_kernel_uprobe> | |
1060 | <event_name>ma-probe-elf</event_name> | |
1061 | <userspace_probe_location> | |
1062 | <userspace_probe_location_function> | |
1063 | <name>${elf_function_name}</name> | |
1064 | <binary_path>${uprobe_elf_binary}</binary_path> | |
1065 | <instrumentation_type>ENTRY</instrumentation_type> | |
1066 | <userspace_probe_location_lookup_method> | |
1067 | <userspace_probe_location_lookup_method_function_elf/> | |
1068 | </userspace_probe_location_lookup_method> | |
1069 | </userspace_probe_location_function> | |
1070 | </userspace_probe_location> | |
1071 | </event_rule_kernel_uprobe> | |
1072 | </event_rule> | |
1073 | <capture_descriptors/> | |
1074 | </condition_event_rule_matches> | |
1075 | <error_query_results> | |
1076 | <error_query_result> | |
1077 | <name>discarded tracer messages</name> | |
1078 | <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description> | |
1079 | <error_query_result_counter> | |
1080 | <value>0</value> | |
1081 | </error_query_result_counter> | |
1082 | </error_query_result> | |
1083 | </error_query_results> | |
1084 | </condition> | |
1085 | <action> | |
1086 | <action_list> | |
1087 | <action> | |
1088 | <action_notify> | |
1089 | <rate_policy> | |
1090 | <rate_policy_every_n> | |
1091 | <interval>1</interval> | |
1092 | </rate_policy_every_n> | |
1093 | </rate_policy> | |
1094 | </action_notify> | |
1095 | <error_query_results> | |
1096 | <error_query_result> | |
1097 | <name>total execution failures</name> | |
1098 | <description>Aggregated count of errors encountered when executing the action</description> | |
1099 | <error_query_result_counter> | |
1100 | <value>0</value> | |
1101 | </error_query_result_counter> | |
1102 | </error_query_result> | |
1103 | </error_query_results> | |
1104 | </action> | |
1105 | </action_list> | |
1106 | </action> | |
1107 | <error_query_results/> | |
1108 | </trigger> | |
1109 | </triggers> | |
1110 | </output> | |
1111 | </command> | |
1112 | EOF | |
1113 | ||
665db063 | 1114 | list_triggers_matches_ok "event-rule-matches, userspace-probe event rule" "${tmp_expected_stdout}" |
831f8599 | 1115 | list_triggers_matches_mi_ok "MI event-rule-matches, userspace-probe event rule" "${tmp_expected_stdout_mi}" |
0de2479d | 1116 | |
be7f9dfc | 1117 | lttng_remove_trigger_ok "T0" |
0de2479d SM |
1118 | } |
1119 | ||
8dbb86b8 | 1120 | test_event_rule_matches_userspace_probe_sdt () |
8a917ae8 | 1121 | { |
8a917ae8 FD |
1122 | local sdt_provider_name="foobar" |
1123 | local sdt_probe_name="tp1" | |
1124 | ||
040a195f | 1125 | diag "Listing event-rule-matches userspace-probe sdt" |
8a917ae8 | 1126 | |
45ce77e1 | 1127 | lttng_add_trigger_ok "T0" --condition event-rule-matches --type=kernel:uprobe --location=sdt:${uprobe_sdt_binary}:${sdt_provider_name}:${sdt_probe_name} --event-name=ma-probe-sdt --action notify |
8a917ae8 FD |
1128 | |
1129 | cat > "${tmp_expected_stdout}" <<- EOF | |
040a195f FD |
1130 | - name: T0 |
1131 | owner uid: 0 | |
e1e94513 | 1132 | condition: event rule matches |
e60e9a9a | 1133 | rule: ma-probe-sdt (type: kernel:uprobe, location type: SDT, location: ${uprobe_sdt_binary}:${sdt_provider_name}:${sdt_probe_name}) |
8ce7c93a | 1134 | errors: none |
8a917ae8 FD |
1135 | actions: |
1136 | notify | |
1137 | errors: none | |
1138 | errors: none | |
1139 | EOF | |
1140 | ||
831f8599 JR |
1141 | cat > "${tmp_expected_stdout_mi}" <<- EOF |
1142 | <?xml version="1.0" encoding="UTF-8"?> | |
03f930ba | 1143 | <command xmlns="https://lttng.org/xml/ns/lttng-mi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://lttng.org/xml/ns/lttng-mi https://lttng.org/xml/schemas/lttng-mi/${MI_XSD_MAJOR_VERSION}/lttng-mi-${MI_XSD_MAJOR_VERSION}.${MI_XSD_MINOR_VERSION}.xsd" schemaVersion="${MI_XSD_MAJOR_VERSION}.${MI_XSD_MINOR_VERSION}"> |
831f8599 JR |
1144 | <name>list-trigger</name> |
1145 | <output> | |
1146 | <triggers> | |
1147 | <trigger> | |
1148 | <name>T0</name> | |
1149 | <owner_uid>${uid}</owner_uid> | |
1150 | <condition> | |
1151 | <condition_event_rule_matches> | |
1152 | <event_rule> | |
1153 | <event_rule_kernel_uprobe> | |
1154 | <event_name>ma-probe-sdt</event_name> | |
1155 | <userspace_probe_location> | |
1156 | <userspace_probe_location_tracepoint> | |
1157 | <probe_name>${sdt_probe_name}</probe_name> | |
1158 | <provider_name>${sdt_provider_name}</provider_name> | |
1159 | <binary_path>${uprobe_sdt_binary}</binary_path> | |
1160 | <userspace_probe_location_lookup_method> | |
1161 | <userspace_probe_location_lookup_method_tracepoint_sdt/> | |
1162 | </userspace_probe_location_lookup_method> | |
1163 | </userspace_probe_location_tracepoint> | |
1164 | </userspace_probe_location> | |
1165 | </event_rule_kernel_uprobe> | |
1166 | </event_rule> | |
1167 | <capture_descriptors/> | |
1168 | </condition_event_rule_matches> | |
1169 | <error_query_results> | |
1170 | <error_query_result> | |
1171 | <name>discarded tracer messages</name> | |
1172 | <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description> | |
1173 | <error_query_result_counter> | |
1174 | <value>0</value> | |
1175 | </error_query_result_counter> | |
1176 | </error_query_result> | |
1177 | </error_query_results> | |
1178 | </condition> | |
1179 | <action> | |
1180 | <action_list> | |
1181 | <action> | |
1182 | <action_notify> | |
1183 | <rate_policy> | |
1184 | <rate_policy_every_n> | |
1185 | <interval>1</interval> | |
1186 | </rate_policy_every_n> | |
1187 | </rate_policy> | |
1188 | </action_notify> | |
1189 | <error_query_results> | |
1190 | <error_query_result> | |
1191 | <name>total execution failures</name> | |
1192 | <description>Aggregated count of errors encountered when executing the action</description> | |
1193 | <error_query_result_counter> | |
1194 | <value>0</value> | |
1195 | </error_query_result_counter> | |
1196 | </error_query_result> | |
1197 | </error_query_results> | |
1198 | </action> | |
1199 | </action_list> | |
1200 | </action> | |
1201 | <error_query_results/> | |
1202 | </trigger> | |
1203 | </triggers> | |
1204 | </output> | |
1205 | </command> | |
1206 | EOF | |
1207 | ||
040a195f | 1208 | list_triggers_matches_ok "event-rule-matches, userspace-probe event rule SDT" "${tmp_expected_stdout}" |
831f8599 | 1209 | list_triggers_matches_mi_ok "MI event-rule-matches, userspace-probe event rule SDT" "${tmp_expected_stdout_mi}" |
8a917ae8 FD |
1210 | |
1211 | lttng_remove_trigger_ok "T0" | |
1212 | } | |
1213 | ||
8dbb86b8 | 1214 | test_event_rule_matches_syscall () |
0de2479d | 1215 | { |
040a195f | 1216 | diag "Listing event-rule-matches syscall" |
0de2479d | 1217 | |
45ce77e1 JR |
1218 | lttng_add_trigger_ok "T0" --condition event-rule-matches --type=syscall --name=open --action notify |
1219 | lttng_add_trigger_ok "T1" --condition event-rule-matches --type=syscall:entry --name=open --action notify | |
1220 | lttng_add_trigger_ok "T2" --condition event-rule-matches --type=syscall:exit --name=open --action notify | |
1221 | lttng_add_trigger_ok "T3" --condition event-rule-matches --type=syscall:entry+exit --name=open --action notify | |
1222 | lttng_add_trigger_ok "T4" --condition event-rule-matches --type=syscall --name=ptrace --filter 'a > 2' --action notify | |
0de2479d SM |
1223 | |
1224 | cat > "${tmp_expected_stdout}" <<- EOF | |
1d4b59f2 | 1225 | - name: T0 |
481c5310 | 1226 | owner uid: ${uid} |
e1e94513 | 1227 | condition: event rule matches |
213efb0c | 1228 | rule: open (type: kernel:syscall:entry+exit) |
8ce7c93a | 1229 | errors: none |
0de2479d SM |
1230 | actions: |
1231 | notify | |
709fb83f JG |
1232 | errors: none |
1233 | errors: none | |
1d4b59f2 | 1234 | - name: T1 |
481c5310 | 1235 | owner uid: ${uid} |
e1e94513 | 1236 | condition: event rule matches |
213efb0c | 1237 | rule: open (type: kernel:syscall:entry) |
8ce7c93a | 1238 | errors: none |
57739a6b JR |
1239 | actions: |
1240 | notify | |
1241 | errors: none | |
1242 | errors: none | |
1243 | - name: T2 | |
1244 | owner uid: ${uid} | |
e1e94513 | 1245 | condition: event rule matches |
213efb0c | 1246 | rule: open (type: kernel:syscall:exit) |
8ce7c93a | 1247 | errors: none |
57739a6b JR |
1248 | actions: |
1249 | notify | |
1250 | errors: none | |
1251 | errors: none | |
1252 | - name: T3 | |
1253 | owner uid: ${uid} | |
e1e94513 | 1254 | condition: event rule matches |
213efb0c | 1255 | rule: open (type: kernel:syscall:entry+exit) |
8ce7c93a | 1256 | errors: none |
57739a6b JR |
1257 | actions: |
1258 | notify | |
1259 | errors: none | |
1260 | errors: none | |
1261 | - name: T4 | |
1262 | owner uid: ${uid} | |
e1e94513 | 1263 | condition: event rule matches |
213efb0c | 1264 | rule: ptrace (type: kernel:syscall:entry+exit, filter: a > 2) |
8ce7c93a | 1265 | errors: none |
0de2479d SM |
1266 | actions: |
1267 | notify | |
709fb83f JG |
1268 | errors: none |
1269 | errors: none | |
0de2479d SM |
1270 | EOF |
1271 | ||
831f8599 JR |
1272 | cat > "${tmp_expected_stdout_mi}" <<- EOF |
1273 | <?xml version="1.0" encoding="UTF-8"?> | |
03f930ba | 1274 | <command xmlns="https://lttng.org/xml/ns/lttng-mi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://lttng.org/xml/ns/lttng-mi https://lttng.org/xml/schemas/lttng-mi/${MI_XSD_MAJOR_VERSION}/lttng-mi-${MI_XSD_MAJOR_VERSION}.${MI_XSD_MINOR_VERSION}.xsd" schemaVersion="${MI_XSD_MAJOR_VERSION}.${MI_XSD_MINOR_VERSION}"> |
831f8599 JR |
1275 | <name>list-trigger</name> |
1276 | <output> | |
1277 | <triggers> | |
1278 | <trigger> | |
1279 | <name>T0</name> | |
1280 | <owner_uid>${uid}</owner_uid> | |
1281 | <condition> | |
1282 | <condition_event_rule_matches> | |
1283 | <event_rule> | |
1284 | <event_rule_kernel_syscall> | |
1285 | <emission_site>entry+exit</emission_site> | |
1286 | <name_pattern>open</name_pattern> | |
1287 | </event_rule_kernel_syscall> | |
1288 | </event_rule> | |
1289 | <capture_descriptors/> | |
1290 | </condition_event_rule_matches> | |
1291 | <error_query_results> | |
1292 | <error_query_result> | |
1293 | <name>discarded tracer messages</name> | |
1294 | <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description> | |
1295 | <error_query_result_counter> | |
1296 | <value>0</value> | |
1297 | </error_query_result_counter> | |
1298 | </error_query_result> | |
1299 | </error_query_results> | |
1300 | </condition> | |
1301 | <action> | |
1302 | <action_list> | |
1303 | <action> | |
1304 | <action_notify> | |
1305 | <rate_policy> | |
1306 | <rate_policy_every_n> | |
1307 | <interval>1</interval> | |
1308 | </rate_policy_every_n> | |
1309 | </rate_policy> | |
1310 | </action_notify> | |
1311 | <error_query_results> | |
1312 | <error_query_result> | |
1313 | <name>total execution failures</name> | |
1314 | <description>Aggregated count of errors encountered when executing the action</description> | |
1315 | <error_query_result_counter> | |
1316 | <value>0</value> | |
1317 | </error_query_result_counter> | |
1318 | </error_query_result> | |
1319 | </error_query_results> | |
1320 | </action> | |
1321 | </action_list> | |
1322 | </action> | |
1323 | <error_query_results/> | |
1324 | </trigger> | |
1325 | <trigger> | |
1326 | <name>T1</name> | |
1327 | <owner_uid>${uid}</owner_uid> | |
1328 | <condition> | |
1329 | <condition_event_rule_matches> | |
1330 | <event_rule> | |
1331 | <event_rule_kernel_syscall> | |
1332 | <emission_site>entry</emission_site> | |
1333 | <name_pattern>open</name_pattern> | |
1334 | </event_rule_kernel_syscall> | |
1335 | </event_rule> | |
1336 | <capture_descriptors/> | |
1337 | </condition_event_rule_matches> | |
1338 | <error_query_results> | |
1339 | <error_query_result> | |
1340 | <name>discarded tracer messages</name> | |
1341 | <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description> | |
1342 | <error_query_result_counter> | |
1343 | <value>0</value> | |
1344 | </error_query_result_counter> | |
1345 | </error_query_result> | |
1346 | </error_query_results> | |
1347 | </condition> | |
1348 | <action> | |
1349 | <action_list> | |
1350 | <action> | |
1351 | <action_notify> | |
1352 | <rate_policy> | |
1353 | <rate_policy_every_n> | |
1354 | <interval>1</interval> | |
1355 | </rate_policy_every_n> | |
1356 | </rate_policy> | |
1357 | </action_notify> | |
1358 | <error_query_results> | |
1359 | <error_query_result> | |
1360 | <name>total execution failures</name> | |
1361 | <description>Aggregated count of errors encountered when executing the action</description> | |
1362 | <error_query_result_counter> | |
1363 | <value>0</value> | |
1364 | </error_query_result_counter> | |
1365 | </error_query_result> | |
1366 | </error_query_results> | |
1367 | </action> | |
1368 | </action_list> | |
1369 | </action> | |
1370 | <error_query_results/> | |
1371 | </trigger> | |
1372 | <trigger> | |
1373 | <name>T2</name> | |
1374 | <owner_uid>${uid}</owner_uid> | |
1375 | <condition> | |
1376 | <condition_event_rule_matches> | |
1377 | <event_rule> | |
1378 | <event_rule_kernel_syscall> | |
1379 | <emission_site>exit</emission_site> | |
1380 | <name_pattern>open</name_pattern> | |
1381 | </event_rule_kernel_syscall> | |
1382 | </event_rule> | |
1383 | <capture_descriptors/> | |
1384 | </condition_event_rule_matches> | |
1385 | <error_query_results> | |
1386 | <error_query_result> | |
1387 | <name>discarded tracer messages</name> | |
1388 | <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description> | |
1389 | <error_query_result_counter> | |
1390 | <value>0</value> | |
1391 | </error_query_result_counter> | |
1392 | </error_query_result> | |
1393 | </error_query_results> | |
1394 | </condition> | |
1395 | <action> | |
1396 | <action_list> | |
1397 | <action> | |
1398 | <action_notify> | |
1399 | <rate_policy> | |
1400 | <rate_policy_every_n> | |
1401 | <interval>1</interval> | |
1402 | </rate_policy_every_n> | |
1403 | </rate_policy> | |
1404 | </action_notify> | |
1405 | <error_query_results> | |
1406 | <error_query_result> | |
1407 | <name>total execution failures</name> | |
1408 | <description>Aggregated count of errors encountered when executing the action</description> | |
1409 | <error_query_result_counter> | |
1410 | <value>0</value> | |
1411 | </error_query_result_counter> | |
1412 | </error_query_result> | |
1413 | </error_query_results> | |
1414 | </action> | |
1415 | </action_list> | |
1416 | </action> | |
1417 | <error_query_results/> | |
1418 | </trigger> | |
1419 | <trigger> | |
1420 | <name>T3</name> | |
1421 | <owner_uid>${uid}</owner_uid> | |
1422 | <condition> | |
1423 | <condition_event_rule_matches> | |
1424 | <event_rule> | |
1425 | <event_rule_kernel_syscall> | |
1426 | <emission_site>entry+exit</emission_site> | |
1427 | <name_pattern>open</name_pattern> | |
1428 | </event_rule_kernel_syscall> | |
1429 | </event_rule> | |
1430 | <capture_descriptors/> | |
1431 | </condition_event_rule_matches> | |
1432 | <error_query_results> | |
1433 | <error_query_result> | |
1434 | <name>discarded tracer messages</name> | |
1435 | <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description> | |
1436 | <error_query_result_counter> | |
1437 | <value>0</value> | |
1438 | </error_query_result_counter> | |
1439 | </error_query_result> | |
1440 | </error_query_results> | |
1441 | </condition> | |
1442 | <action> | |
1443 | <action_list> | |
1444 | <action> | |
1445 | <action_notify> | |
1446 | <rate_policy> | |
1447 | <rate_policy_every_n> | |
1448 | <interval>1</interval> | |
1449 | </rate_policy_every_n> | |
1450 | </rate_policy> | |
1451 | </action_notify> | |
1452 | <error_query_results> | |
1453 | <error_query_result> | |
1454 | <name>total execution failures</name> | |
1455 | <description>Aggregated count of errors encountered when executing the action</description> | |
1456 | <error_query_result_counter> | |
1457 | <value>0</value> | |
1458 | </error_query_result_counter> | |
1459 | </error_query_result> | |
1460 | </error_query_results> | |
1461 | </action> | |
1462 | </action_list> | |
1463 | </action> | |
1464 | <error_query_results/> | |
1465 | </trigger> | |
1466 | <trigger> | |
1467 | <name>T4</name> | |
1468 | <owner_uid>${uid}</owner_uid> | |
1469 | <condition> | |
1470 | <condition_event_rule_matches> | |
1471 | <event_rule> | |
1472 | <event_rule_kernel_syscall> | |
1473 | <emission_site>entry+exit</emission_site> | |
1474 | <name_pattern>ptrace</name_pattern> | |
1475 | <filter_expression>a > 2</filter_expression> | |
1476 | </event_rule_kernel_syscall> | |
1477 | </event_rule> | |
1478 | <capture_descriptors/> | |
1479 | </condition_event_rule_matches> | |
1480 | <error_query_results> | |
1481 | <error_query_result> | |
1482 | <name>discarded tracer messages</name> | |
1483 | <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description> | |
1484 | <error_query_result_counter> | |
1485 | <value>0</value> | |
1486 | </error_query_result_counter> | |
1487 | </error_query_result> | |
1488 | </error_query_results> | |
1489 | </condition> | |
1490 | <action> | |
1491 | <action_list> | |
1492 | <action> | |
1493 | <action_notify> | |
1494 | <rate_policy> | |
1495 | <rate_policy_every_n> | |
1496 | <interval>1</interval> | |
1497 | </rate_policy_every_n> | |
1498 | </rate_policy> | |
1499 | </action_notify> | |
1500 | <error_query_results> | |
1501 | <error_query_result> | |
1502 | <name>total execution failures</name> | |
1503 | <description>Aggregated count of errors encountered when executing the action</description> | |
1504 | <error_query_result_counter> | |
1505 | <value>0</value> | |
1506 | </error_query_result_counter> | |
1507 | </error_query_result> | |
1508 | </error_query_results> | |
1509 | </action> | |
1510 | </action_list> | |
1511 | </action> | |
1512 | <error_query_results/> | |
1513 | </trigger> | |
1514 | </triggers> | |
1515 | </output> | |
1516 | </command> | |
1517 | EOF | |
1518 | ||
1519 | ||
665db063 | 1520 | list_triggers_matches_ok "event-rule-matches, syscall event rule" "${tmp_expected_stdout}" |
831f8599 | 1521 | list_triggers_matches_mi_ok "MI event-rule-matches, syscall event rule" "${tmp_expected_stdout_mi}" |
0de2479d | 1522 | |
be7f9dfc FD |
1523 | lttng_remove_trigger_ok "T0" |
1524 | lttng_remove_trigger_ok "T1" | |
57739a6b JR |
1525 | lttng_remove_trigger_ok "T2" |
1526 | lttng_remove_trigger_ok "T3" | |
1527 | lttng_remove_trigger_ok "T4" | |
0de2479d SM |
1528 | } |
1529 | ||
19904669 SM |
1530 | test_session_consumed_size_condition () |
1531 | { | |
1532 | ${register_some_triggers_bin} test_session_consumed_size_condition | |
1533 | ||
1534 | cat > "${tmp_expected_stdout}" <<- EOF | |
1535 | - name: trigger-with-session-consumed-size-condition | |
1536 | owner uid: ${uid} | |
1537 | condition: session consumed size | |
1538 | session name: the-session-name | |
1539 | threshold: 1234 bytes | |
8ce7c93a | 1540 | errors: none |
19904669 SM |
1541 | actions: |
1542 | notify | |
1543 | errors: none | |
1544 | errors: none | |
1545 | EOF | |
1546 | ||
831f8599 JR |
1547 | cat > "${tmp_expected_stdout_mi}" <<- EOF |
1548 | <?xml version="1.0" encoding="UTF-8"?> | |
03f930ba | 1549 | <command xmlns="https://lttng.org/xml/ns/lttng-mi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://lttng.org/xml/ns/lttng-mi https://lttng.org/xml/schemas/lttng-mi/${MI_XSD_MAJOR_VERSION}/lttng-mi-${MI_XSD_MAJOR_VERSION}.${MI_XSD_MINOR_VERSION}.xsd" schemaVersion="${MI_XSD_MAJOR_VERSION}.${MI_XSD_MINOR_VERSION}"> |
831f8599 JR |
1550 | <name>list-trigger</name> |
1551 | <output> | |
1552 | <triggers> | |
1553 | <trigger> | |
1554 | <name>trigger-with-session-consumed-size-condition</name> | |
1555 | <owner_uid>${uid}</owner_uid> | |
1556 | <condition> | |
1557 | <condition_session_consumed_size> | |
1558 | <session_name>the-session-name</session_name> | |
1559 | <threshold_bytes>1234</threshold_bytes> | |
1560 | </condition_session_consumed_size> | |
1561 | <error_query_results/> | |
1562 | </condition> | |
1563 | <action> | |
1564 | <action_list> | |
1565 | <action> | |
1566 | <action_notify> | |
1567 | <rate_policy> | |
1568 | <rate_policy_every_n> | |
1569 | <interval>1</interval> | |
1570 | </rate_policy_every_n> | |
1571 | </rate_policy> | |
1572 | </action_notify> | |
1573 | <error_query_results> | |
1574 | <error_query_result> | |
1575 | <name>total execution failures</name> | |
1576 | <description>Aggregated count of errors encountered when executing the action</description> | |
1577 | <error_query_result_counter> | |
1578 | <value>0</value> | |
1579 | </error_query_result_counter> | |
1580 | </error_query_result> | |
1581 | </error_query_results> | |
1582 | </action> | |
1583 | </action_list> | |
1584 | </action> | |
1585 | <error_query_results/> | |
1586 | </trigger> | |
1587 | </triggers> | |
1588 | </output> | |
1589 | </command> | |
1590 | EOF | |
1591 | ||
1592 | ||
19904669 | 1593 | list_triggers_matches_ok "session consumed size condition" "${tmp_expected_stdout}" |
831f8599 | 1594 | list_triggers_matches_mi_ok "MI session consumed size condition" "${tmp_expected_stdout_mi}" |
19904669 SM |
1595 | |
1596 | lttng_remove_trigger_ok "trigger-with-session-consumed-size-condition" | |
1597 | } | |
1598 | ||
1599 | test_buffer_usage_conditions () | |
1600 | { | |
1601 | ${register_some_triggers_bin} test_buffer_usage_conditions | |
1602 | ||
1603 | cat > "${tmp_expected_stdout}" <<- EOF | |
1604 | - name: trigger-with-buffer-usage-high-bytes-condition | |
1605 | owner uid: ${uid} | |
1606 | condition: buffer usage high | |
1607 | session name: the-session-name | |
1608 | channel name: the-channel-name | |
1609 | domain: ust | |
1610 | threshold (bytes): 1234 | |
8ce7c93a | 1611 | errors: none |
19904669 SM |
1612 | actions: |
1613 | notify | |
1614 | errors: none | |
1615 | errors: none | |
1616 | - name: trigger-with-buffer-usage-high-ratio-condition | |
1617 | owner uid: ${uid} | |
1618 | condition: buffer usage high | |
1619 | session name: the-session-name | |
1620 | channel name: the-channel-name | |
1621 | domain: ust | |
1622 | threshold (ratio): 0.25 | |
8ce7c93a | 1623 | errors: none |
19904669 SM |
1624 | actions: |
1625 | notify | |
1626 | errors: none | |
1627 | errors: none | |
1628 | - name: trigger-with-buffer-usage-low-bytes-condition | |
1629 | owner uid: ${uid} | |
1630 | condition: buffer usage low | |
1631 | session name: the-session-name | |
1632 | channel name: the-channel-name | |
1633 | domain: ust | |
1634 | threshold (bytes): 2345 | |
8ce7c93a | 1635 | errors: none |
19904669 SM |
1636 | actions: |
1637 | notify | |
1638 | errors: none | |
1639 | errors: none | |
1640 | - name: trigger-with-buffer-usage-low-ratio-condition | |
1641 | owner uid: ${uid} | |
1642 | condition: buffer usage low | |
1643 | session name: the-session-name | |
1644 | channel name: the-channel-name | |
1645 | domain: ust | |
1646 | threshold (ratio): 0.40 | |
8ce7c93a | 1647 | errors: none |
19904669 SM |
1648 | actions: |
1649 | notify | |
1650 | errors: none | |
1651 | errors: none | |
1652 | EOF | |
1653 | ||
831f8599 JR |
1654 | cat > "${tmp_expected_stdout_mi}" <<- EOF |
1655 | <?xml version="1.0" encoding="UTF-8"?> | |
03f930ba | 1656 | <command xmlns="https://lttng.org/xml/ns/lttng-mi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://lttng.org/xml/ns/lttng-mi https://lttng.org/xml/schemas/lttng-mi/${MI_XSD_MAJOR_VERSION}/lttng-mi-${MI_XSD_MAJOR_VERSION}.${MI_XSD_MINOR_VERSION}.xsd" schemaVersion="${MI_XSD_MAJOR_VERSION}.${MI_XSD_MINOR_VERSION}"> |
831f8599 JR |
1657 | <name>list-trigger</name> |
1658 | <output> | |
1659 | <triggers> | |
1660 | <trigger> | |
1661 | <name>trigger-with-buffer-usage-high-bytes-condition</name> | |
1662 | <owner_uid>${uid}</owner_uid> | |
1663 | <condition> | |
1664 | <condition_buffer_usage_high> | |
1665 | <session_name>the-session-name</session_name> | |
1666 | <channel_name>the-channel-name</channel_name> | |
1667 | <domain>UST</domain> | |
1668 | <threshold_bytes>1234</threshold_bytes> | |
1669 | </condition_buffer_usage_high> | |
1670 | <error_query_results/> | |
1671 | </condition> | |
1672 | <action> | |
1673 | <action_list> | |
1674 | <action> | |
1675 | <action_notify> | |
1676 | <rate_policy> | |
1677 | <rate_policy_every_n> | |
1678 | <interval>1</interval> | |
1679 | </rate_policy_every_n> | |
1680 | </rate_policy> | |
1681 | </action_notify> | |
1682 | <error_query_results> | |
1683 | <error_query_result> | |
1684 | <name>total execution failures</name> | |
1685 | <description>Aggregated count of errors encountered when executing the action</description> | |
1686 | <error_query_result_counter> | |
1687 | <value>0</value> | |
1688 | </error_query_result_counter> | |
1689 | </error_query_result> | |
1690 | </error_query_results> | |
1691 | </action> | |
1692 | </action_list> | |
1693 | </action> | |
1694 | <error_query_results/> | |
1695 | </trigger> | |
1696 | <trigger> | |
1697 | <name>trigger-with-buffer-usage-high-ratio-condition</name> | |
1698 | <owner_uid>${uid}</owner_uid> | |
1699 | <condition> | |
1700 | <condition_buffer_usage_high> | |
1701 | <session_name>the-session-name</session_name> | |
1702 | <channel_name>the-channel-name</channel_name> | |
1703 | <domain>UST</domain> | |
1704 | <threshold_ratio>0.250000</threshold_ratio> | |
1705 | </condition_buffer_usage_high> | |
1706 | <error_query_results/> | |
1707 | </condition> | |
1708 | <action> | |
1709 | <action_list> | |
1710 | <action> | |
1711 | <action_notify> | |
1712 | <rate_policy> | |
1713 | <rate_policy_every_n> | |
1714 | <interval>1</interval> | |
1715 | </rate_policy_every_n> | |
1716 | </rate_policy> | |
1717 | </action_notify> | |
1718 | <error_query_results> | |
1719 | <error_query_result> | |
1720 | <name>total execution failures</name> | |
1721 | <description>Aggregated count of errors encountered when executing the action</description> | |
1722 | <error_query_result_counter> | |
1723 | <value>0</value> | |
1724 | </error_query_result_counter> | |
1725 | </error_query_result> | |
1726 | </error_query_results> | |
1727 | </action> | |
1728 | </action_list> | |
1729 | </action> | |
1730 | <error_query_results/> | |
1731 | </trigger> | |
1732 | <trigger> | |
1733 | <name>trigger-with-buffer-usage-low-bytes-condition</name> | |
1734 | <owner_uid>${uid}</owner_uid> | |
1735 | <condition> | |
1736 | <condition_buffer_usage_low> | |
1737 | <session_name>the-session-name</session_name> | |
1738 | <channel_name>the-channel-name</channel_name> | |
1739 | <domain>UST</domain> | |
1740 | <threshold_bytes>2345</threshold_bytes> | |
1741 | </condition_buffer_usage_low> | |
1742 | <error_query_results/> | |
1743 | </condition> | |
1744 | <action> | |
1745 | <action_list> | |
1746 | <action> | |
1747 | <action_notify> | |
1748 | <rate_policy> | |
1749 | <rate_policy_every_n> | |
1750 | <interval>1</interval> | |
1751 | </rate_policy_every_n> | |
1752 | </rate_policy> | |
1753 | </action_notify> | |
1754 | <error_query_results> | |
1755 | <error_query_result> | |
1756 | <name>total execution failures</name> | |
1757 | <description>Aggregated count of errors encountered when executing the action</description> | |
1758 | <error_query_result_counter> | |
1759 | <value>0</value> | |
1760 | </error_query_result_counter> | |
1761 | </error_query_result> | |
1762 | </error_query_results> | |
1763 | </action> | |
1764 | </action_list> | |
1765 | </action> | |
1766 | <error_query_results/> | |
1767 | </trigger> | |
1768 | <trigger> | |
1769 | <name>trigger-with-buffer-usage-low-ratio-condition</name> | |
1770 | <owner_uid>${uid}</owner_uid> | |
1771 | <condition> | |
1772 | <condition_buffer_usage_low> | |
1773 | <session_name>the-session-name</session_name> | |
1774 | <channel_name>the-channel-name</channel_name> | |
1775 | <domain>UST</domain> | |
1776 | <threshold_ratio>0.400000</threshold_ratio> | |
1777 | </condition_buffer_usage_low> | |
1778 | <error_query_results/> | |
1779 | </condition> | |
1780 | <action> | |
1781 | <action_list> | |
1782 | <action> | |
1783 | <action_notify> | |
1784 | <rate_policy> | |
1785 | <rate_policy_every_n> | |
1786 | <interval>1</interval> | |
1787 | </rate_policy_every_n> | |
1788 | </rate_policy> | |
1789 | </action_notify> | |
1790 | <error_query_results> | |
1791 | <error_query_result> | |
1792 | <name>total execution failures</name> | |
1793 | <description>Aggregated count of errors encountered when executing the action</description> | |
1794 | <error_query_result_counter> | |
1795 | <value>0</value> | |
1796 | </error_query_result_counter> | |
1797 | </error_query_result> | |
1798 | </error_query_results> | |
1799 | </action> | |
1800 | </action_list> | |
1801 | </action> | |
1802 | <error_query_results/> | |
1803 | </trigger> | |
1804 | </triggers> | |
1805 | </output> | |
1806 | </command> | |
1807 | EOF | |
1808 | ||
19904669 | 1809 | list_triggers_matches_ok "buffer usage condition" "${tmp_expected_stdout}" |
831f8599 | 1810 | list_triggers_matches_mi_ok "MI buffer usage condition" "${tmp_expected_stdout_mi}" |
19904669 SM |
1811 | |
1812 | lttng_remove_trigger_ok "trigger-with-buffer-usage-high-bytes-condition" | |
1813 | lttng_remove_trigger_ok "trigger-with-buffer-usage-high-ratio-condition" | |
1814 | lttng_remove_trigger_ok "trigger-with-buffer-usage-low-bytes-condition" | |
1815 | lttng_remove_trigger_ok "trigger-with-buffer-usage-low-ratio-condition" | |
1816 | } | |
1817 | ||
1818 | test_session_rotation_conditions () | |
1819 | { | |
1820 | ${register_some_triggers_bin} test_session_rotation_conditions | |
1821 | ||
1822 | cat > "${tmp_expected_stdout}" <<- EOF | |
1823 | - name: trigger-with-session-rotation-completed-condition | |
1824 | owner uid: ${uid} | |
1825 | condition: session rotation completed | |
1826 | session name: the-session-name | |
8ce7c93a | 1827 | errors: none |
19904669 SM |
1828 | actions: |
1829 | notify | |
1830 | errors: none | |
1831 | errors: none | |
1832 | - name: trigger-with-session-rotation-ongoing-condition | |
1833 | owner uid: ${uid} | |
1834 | condition: session rotation ongoing | |
1835 | session name: the-session-name | |
8ce7c93a | 1836 | errors: none |
19904669 SM |
1837 | actions: |
1838 | notify | |
1839 | errors: none | |
1840 | errors: none | |
1841 | EOF | |
1842 | ||
831f8599 JR |
1843 | cat > "${tmp_expected_stdout_mi}" <<- EOF |
1844 | <?xml version="1.0" encoding="UTF-8"?> | |
03f930ba | 1845 | <command xmlns="https://lttng.org/xml/ns/lttng-mi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://lttng.org/xml/ns/lttng-mi https://lttng.org/xml/schemas/lttng-mi/${MI_XSD_MAJOR_VERSION}/lttng-mi-${MI_XSD_MAJOR_VERSION}.${MI_XSD_MINOR_VERSION}.xsd" schemaVersion="${MI_XSD_MAJOR_VERSION}.${MI_XSD_MINOR_VERSION}"> |
831f8599 JR |
1846 | <name>list-trigger</name> |
1847 | <output> | |
1848 | <triggers> | |
1849 | <trigger> | |
1850 | <name>trigger-with-session-rotation-completed-condition</name> | |
1851 | <owner_uid>${uid}</owner_uid> | |
1852 | <condition> | |
1853 | <condition_session_rotation_completed> | |
1854 | <session_name>the-session-name</session_name> | |
1855 | </condition_session_rotation_completed> | |
1856 | <error_query_results/> | |
1857 | </condition> | |
1858 | <action> | |
1859 | <action_list> | |
1860 | <action> | |
1861 | <action_notify> | |
1862 | <rate_policy> | |
1863 | <rate_policy_every_n> | |
1864 | <interval>1</interval> | |
1865 | </rate_policy_every_n> | |
1866 | </rate_policy> | |
1867 | </action_notify> | |
1868 | <error_query_results> | |
1869 | <error_query_result> | |
1870 | <name>total execution failures</name> | |
1871 | <description>Aggregated count of errors encountered when executing the action</description> | |
1872 | <error_query_result_counter> | |
1873 | <value>0</value> | |
1874 | </error_query_result_counter> | |
1875 | </error_query_result> | |
1876 | </error_query_results> | |
1877 | </action> | |
1878 | </action_list> | |
1879 | </action> | |
1880 | <error_query_results/> | |
1881 | </trigger> | |
1882 | <trigger> | |
1883 | <name>trigger-with-session-rotation-ongoing-condition</name> | |
1884 | <owner_uid>${uid}</owner_uid> | |
1885 | <condition> | |
1886 | <condition_session_rotation_ongoing> | |
1887 | <session_name>the-session-name</session_name> | |
1888 | </condition_session_rotation_ongoing> | |
1889 | <error_query_results/> | |
1890 | </condition> | |
1891 | <action> | |
1892 | <action_list> | |
1893 | <action> | |
1894 | <action_notify> | |
1895 | <rate_policy> | |
1896 | <rate_policy_every_n> | |
1897 | <interval>1</interval> | |
1898 | </rate_policy_every_n> | |
1899 | </rate_policy> | |
1900 | </action_notify> | |
1901 | <error_query_results> | |
1902 | <error_query_result> | |
1903 | <name>total execution failures</name> | |
1904 | <description>Aggregated count of errors encountered when executing the action</description> | |
1905 | <error_query_result_counter> | |
1906 | <value>0</value> | |
1907 | </error_query_result_counter> | |
1908 | </error_query_result> | |
1909 | </error_query_results> | |
1910 | </action> | |
1911 | </action_list> | |
1912 | </action> | |
1913 | <error_query_results/> | |
1914 | </trigger> | |
1915 | </triggers> | |
1916 | </output> | |
1917 | </command> | |
1918 | EOF | |
1919 | ||
19904669 | 1920 | list_triggers_matches_ok "session rotation conditions" "${tmp_expected_stdout}" |
831f8599 | 1921 | list_triggers_matches_mi_ok "MI session rotation conditions" "${tmp_expected_stdout_mi}" |
19904669 SM |
1922 | |
1923 | lttng_remove_trigger_ok "trigger-with-session-rotation-completed-condition" | |
1924 | lttng_remove_trigger_ok "trigger-with-session-rotation-ongoing-condition" | |
1925 | } | |
1926 | ||
0de2479d SM |
1927 | test_snapshot_action () |
1928 | { | |
be7f9dfc | 1929 | diag "Listing snapshot actions" |
0de2479d | 1930 | |
45ce77e1 JR |
1931 | lttng_add_trigger_ok "T0" --condition event-rule-matches --type=user --name=some-event --action snapshot-session ze-session |
1932 | lttng_add_trigger_ok "T1" --condition event-rule-matches --type=user --name=some-event --action snapshot-session ze-session --path /some/path | |
1933 | lttng_add_trigger_ok "T2" --condition event-rule-matches --type=user --name=some-event --action snapshot-session ze-session --url file:///some/other/path | |
1934 | lttng_add_trigger_ok "T3" --condition event-rule-matches --type=user --name=some-event --action snapshot-session ze-session --url net://1.2.3.4 | |
1935 | lttng_add_trigger_ok "T4" --condition event-rule-matches --type=user --name=some-event --action snapshot-session ze-session --url net://1.2.3.4:1234:1235 | |
1936 | lttng_add_trigger_ok "T5" --condition event-rule-matches --type=user --name=some-event --action snapshot-session ze-session --ctrl-url=tcp://1.2.3.4:1111 --data-url=tcp://1.2.3.4:1112 | |
1937 | lttng_add_trigger_ok "T6" --condition event-rule-matches --type=user --name=some-event --action snapshot-session ze-session --path /some/path --max-size=1234 | |
1938 | lttng_add_trigger_ok "T7" --condition event-rule-matches --type=user --name=some-event --action snapshot-session ze-session --path /some/path --name=meh | |
1939 | lttng_add_trigger_ok "T8" --condition event-rule-matches --type=user --name=some-event --action snapshot-session ze-session --rate-policy=every:10 | |
1940 | lttng_add_trigger_ok "T9" --condition event-rule-matches --type=user --name=some-event --action snapshot-session ze-session --rate-policy=once-after:10 | |
0de2479d SM |
1941 | |
1942 | cat > "${tmp_expected_stdout}" <<- EOF | |
1d4b59f2 | 1943 | - name: T0 |
481c5310 | 1944 | owner uid: ${uid} |
e1e94513 | 1945 | condition: event rule matches |
45ce77e1 | 1946 | rule: some-event (type: user tracepoint) |
8ce7c93a | 1947 | errors: none |
0de2479d SM |
1948 | actions: |
1949 | snapshot session \`ze-session\` | |
709fb83f JG |
1950 | errors: none |
1951 | errors: none | |
1d4b59f2 | 1952 | - name: T1 |
481c5310 | 1953 | owner uid: ${uid} |
e1e94513 | 1954 | condition: event rule matches |
45ce77e1 | 1955 | rule: some-event (type: user tracepoint) |
8ce7c93a | 1956 | errors: none |
0de2479d SM |
1957 | actions: |
1958 | snapshot session \`ze-session\`, path: /some/path | |
709fb83f JG |
1959 | errors: none |
1960 | errors: none | |
1d4b59f2 | 1961 | - name: T2 |
481c5310 | 1962 | owner uid: ${uid} |
e1e94513 | 1963 | condition: event rule matches |
45ce77e1 | 1964 | rule: some-event (type: user tracepoint) |
8ce7c93a | 1965 | errors: none |
0de2479d SM |
1966 | actions: |
1967 | snapshot session \`ze-session\`, path: /some/other/path | |
709fb83f JG |
1968 | errors: none |
1969 | errors: none | |
1d4b59f2 | 1970 | - name: T3 |
481c5310 | 1971 | owner uid: ${uid} |
e1e94513 | 1972 | condition: event rule matches |
45ce77e1 | 1973 | rule: some-event (type: user tracepoint) |
8ce7c93a | 1974 | errors: none |
0de2479d SM |
1975 | actions: |
1976 | snapshot session \`ze-session\`, url: net://1.2.3.4 | |
709fb83f JG |
1977 | errors: none |
1978 | errors: none | |
1d4b59f2 | 1979 | - name: T4 |
481c5310 | 1980 | owner uid: ${uid} |
e1e94513 | 1981 | condition: event rule matches |
45ce77e1 | 1982 | rule: some-event (type: user tracepoint) |
8ce7c93a | 1983 | errors: none |
0de2479d SM |
1984 | actions: |
1985 | snapshot session \`ze-session\`, url: net://1.2.3.4:1234:1235 | |
709fb83f JG |
1986 | errors: none |
1987 | errors: none | |
1d4b59f2 | 1988 | - name: T5 |
481c5310 | 1989 | owner uid: ${uid} |
e1e94513 | 1990 | condition: event rule matches |
45ce77e1 | 1991 | rule: some-event (type: user tracepoint) |
8ce7c93a | 1992 | errors: none |
0de2479d SM |
1993 | actions: |
1994 | snapshot session \`ze-session\`, control url: tcp://1.2.3.4:1111, data url: tcp://1.2.3.4:1112 | |
709fb83f JG |
1995 | errors: none |
1996 | errors: none | |
1d4b59f2 | 1997 | - name: T6 |
481c5310 | 1998 | owner uid: ${uid} |
e1e94513 | 1999 | condition: event rule matches |
45ce77e1 | 2000 | rule: some-event (type: user tracepoint) |
8ce7c93a | 2001 | errors: none |
0de2479d SM |
2002 | actions: |
2003 | snapshot session \`ze-session\`, path: /some/path, max size: 1234 | |
709fb83f JG |
2004 | errors: none |
2005 | errors: none | |
1d4b59f2 | 2006 | - name: T7 |
481c5310 | 2007 | owner uid: ${uid} |
e1e94513 | 2008 | condition: event rule matches |
45ce77e1 | 2009 | rule: some-event (type: user tracepoint) |
8ce7c93a | 2010 | errors: none |
0de2479d SM |
2011 | actions: |
2012 | snapshot session \`ze-session\`, path: /some/path, name: meh | |
709fb83f JG |
2013 | errors: none |
2014 | errors: none | |
1d4b59f2 | 2015 | - name: T8 |
481c5310 | 2016 | owner uid: ${uid} |
e1e94513 | 2017 | condition: event rule matches |
45ce77e1 | 2018 | rule: some-event (type: user tracepoint) |
8ce7c93a | 2019 | errors: none |
e45dd625 | 2020 | actions: |
8dcad494 | 2021 | snapshot session \`ze-session\`, rate policy: every 10 occurrences |
709fb83f JG |
2022 | errors: none |
2023 | errors: none | |
1d4b59f2 | 2024 | - name: T9 |
481c5310 | 2025 | owner uid: ${uid} |
e1e94513 | 2026 | condition: event rule matches |
45ce77e1 | 2027 | rule: some-event (type: user tracepoint) |
8ce7c93a | 2028 | errors: none |
e45dd625 | 2029 | actions: |
7f4d5b07 | 2030 | snapshot session \`ze-session\`, rate policy: once after 10 occurrences |
709fb83f JG |
2031 | errors: none |
2032 | errors: none | |
e45dd625 JR |
2033 | EOF |
2034 | ||
831f8599 JR |
2035 | cat > "${tmp_expected_stdout_mi}" <<- EOF |
2036 | <?xml version="1.0" encoding="UTF-8"?> | |
03f930ba | 2037 | <command xmlns="https://lttng.org/xml/ns/lttng-mi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://lttng.org/xml/ns/lttng-mi https://lttng.org/xml/schemas/lttng-mi/${MI_XSD_MAJOR_VERSION}/lttng-mi-${MI_XSD_MAJOR_VERSION}.${MI_XSD_MINOR_VERSION}.xsd" schemaVersion="${MI_XSD_MAJOR_VERSION}.${MI_XSD_MINOR_VERSION}"> |
831f8599 JR |
2038 | <name>list-trigger</name> |
2039 | <output> | |
2040 | <triggers> | |
2041 | <trigger> | |
2042 | <name>T0</name> | |
2043 | <owner_uid>${uid}</owner_uid> | |
2044 | <condition> | |
2045 | <condition_event_rule_matches> | |
2046 | <event_rule> | |
2047 | <event_rule_user_tracepoint> | |
2048 | <name_pattern>some-event</name_pattern> | |
2049 | </event_rule_user_tracepoint> | |
2050 | </event_rule> | |
2051 | <capture_descriptors/> | |
2052 | </condition_event_rule_matches> | |
2053 | <error_query_results> | |
2054 | <error_query_result> | |
2055 | <name>discarded tracer messages</name> | |
2056 | <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description> | |
2057 | <error_query_result_counter> | |
2058 | <value>0</value> | |
2059 | </error_query_result_counter> | |
2060 | </error_query_result> | |
2061 | </error_query_results> | |
2062 | </condition> | |
2063 | <action> | |
2064 | <action_list> | |
2065 | <action> | |
2066 | <action_snapshot_session> | |
2067 | <session_name>ze-session</session_name> | |
2068 | <rate_policy> | |
2069 | <rate_policy_every_n> | |
2070 | <interval>1</interval> | |
2071 | </rate_policy_every_n> | |
2072 | </rate_policy> | |
2073 | </action_snapshot_session> | |
2074 | <error_query_results> | |
2075 | <error_query_result> | |
2076 | <name>total execution failures</name> | |
2077 | <description>Aggregated count of errors encountered when executing the action</description> | |
2078 | <error_query_result_counter> | |
2079 | <value>0</value> | |
2080 | </error_query_result_counter> | |
2081 | </error_query_result> | |
2082 | </error_query_results> | |
2083 | </action> | |
2084 | </action_list> | |
2085 | </action> | |
2086 | <error_query_results/> | |
2087 | </trigger> | |
2088 | <trigger> | |
2089 | <name>T1</name> | |
2090 | <owner_uid>${uid}</owner_uid> | |
2091 | <condition> | |
2092 | <condition_event_rule_matches> | |
2093 | <event_rule> | |
2094 | <event_rule_user_tracepoint> | |
2095 | <name_pattern>some-event</name_pattern> | |
2096 | </event_rule_user_tracepoint> | |
2097 | </event_rule> | |
2098 | <capture_descriptors/> | |
2099 | </condition_event_rule_matches> | |
2100 | <error_query_results> | |
2101 | <error_query_result> | |
2102 | <name>discarded tracer messages</name> | |
2103 | <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description> | |
2104 | <error_query_result_counter> | |
2105 | <value>0</value> | |
2106 | </error_query_result_counter> | |
2107 | </error_query_result> | |
2108 | </error_query_results> | |
2109 | </condition> | |
2110 | <action> | |
2111 | <action_list> | |
2112 | <action> | |
2113 | <action_snapshot_session> | |
2114 | <session_name>ze-session</session_name> | |
2115 | <output> | |
2116 | <ctrl_url>/some/path</ctrl_url> | |
2117 | </output> | |
2118 | <rate_policy> | |
2119 | <rate_policy_every_n> | |
2120 | <interval>1</interval> | |
2121 | </rate_policy_every_n> | |
2122 | </rate_policy> | |
2123 | </action_snapshot_session> | |
2124 | <error_query_results> | |
2125 | <error_query_result> | |
2126 | <name>total execution failures</name> | |
2127 | <description>Aggregated count of errors encountered when executing the action</description> | |
2128 | <error_query_result_counter> | |
2129 | <value>0</value> | |
2130 | </error_query_result_counter> | |
2131 | </error_query_result> | |
2132 | </error_query_results> | |
2133 | </action> | |
2134 | </action_list> | |
2135 | </action> | |
2136 | <error_query_results/> | |
2137 | </trigger> | |
2138 | <trigger> | |
2139 | <name>T2</name> | |
2140 | <owner_uid>${uid}</owner_uid> | |
2141 | <condition> | |
2142 | <condition_event_rule_matches> | |
2143 | <event_rule> | |
2144 | <event_rule_user_tracepoint> | |
2145 | <name_pattern>some-event</name_pattern> | |
2146 | </event_rule_user_tracepoint> | |
2147 | </event_rule> | |
2148 | <capture_descriptors/> | |
2149 | </condition_event_rule_matches> | |
2150 | <error_query_results> | |
2151 | <error_query_result> | |
2152 | <name>discarded tracer messages</name> | |
2153 | <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description> | |
2154 | <error_query_result_counter> | |
2155 | <value>0</value> | |
2156 | </error_query_result_counter> | |
2157 | </error_query_result> | |
2158 | </error_query_results> | |
2159 | </condition> | |
2160 | <action> | |
2161 | <action_list> | |
2162 | <action> | |
2163 | <action_snapshot_session> | |
2164 | <session_name>ze-session</session_name> | |
2165 | <output> | |
2166 | <ctrl_url>/some/other/path</ctrl_url> | |
2167 | </output> | |
2168 | <rate_policy> | |
2169 | <rate_policy_every_n> | |
2170 | <interval>1</interval> | |
2171 | </rate_policy_every_n> | |
2172 | </rate_policy> | |
2173 | </action_snapshot_session> | |
2174 | <error_query_results> | |
2175 | <error_query_result> | |
2176 | <name>total execution failures</name> | |
2177 | <description>Aggregated count of errors encountered when executing the action</description> | |
2178 | <error_query_result_counter> | |
2179 | <value>0</value> | |
2180 | </error_query_result_counter> | |
2181 | </error_query_result> | |
2182 | </error_query_results> | |
2183 | </action> | |
2184 | </action_list> | |
2185 | </action> | |
2186 | <error_query_results/> | |
2187 | </trigger> | |
2188 | <trigger> | |
2189 | <name>T3</name> | |
2190 | <owner_uid>${uid}</owner_uid> | |
2191 | <condition> | |
2192 | <condition_event_rule_matches> | |
2193 | <event_rule> | |
2194 | <event_rule_user_tracepoint> | |
2195 | <name_pattern>some-event</name_pattern> | |
2196 | </event_rule_user_tracepoint> | |
2197 | </event_rule> | |
2198 | <capture_descriptors/> | |
2199 | </condition_event_rule_matches> | |
2200 | <error_query_results> | |
2201 | <error_query_result> | |
2202 | <name>discarded tracer messages</name> | |
2203 | <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description> | |
2204 | <error_query_result_counter> | |
2205 | <value>0</value> | |
2206 | </error_query_result_counter> | |
2207 | </error_query_result> | |
2208 | </error_query_results> | |
2209 | </condition> | |
2210 | <action> | |
2211 | <action_list> | |
2212 | <action> | |
2213 | <action_snapshot_session> | |
2214 | <session_name>ze-session</session_name> | |
2215 | <output> | |
2216 | <ctrl_url>net://1.2.3.4</ctrl_url> | |
2217 | </output> | |
2218 | <rate_policy> | |
2219 | <rate_policy_every_n> | |
2220 | <interval>1</interval> | |
2221 | </rate_policy_every_n> | |
2222 | </rate_policy> | |
2223 | </action_snapshot_session> | |
2224 | <error_query_results> | |
2225 | <error_query_result> | |
2226 | <name>total execution failures</name> | |
2227 | <description>Aggregated count of errors encountered when executing the action</description> | |
2228 | <error_query_result_counter> | |
2229 | <value>0</value> | |
2230 | </error_query_result_counter> | |
2231 | </error_query_result> | |
2232 | </error_query_results> | |
2233 | </action> | |
2234 | </action_list> | |
2235 | </action> | |
2236 | <error_query_results/> | |
2237 | </trigger> | |
2238 | <trigger> | |
2239 | <name>T4</name> | |
2240 | <owner_uid>${uid}</owner_uid> | |
2241 | <condition> | |
2242 | <condition_event_rule_matches> | |
2243 | <event_rule> | |
2244 | <event_rule_user_tracepoint> | |
2245 | <name_pattern>some-event</name_pattern> | |
2246 | </event_rule_user_tracepoint> | |
2247 | </event_rule> | |
2248 | <capture_descriptors/> | |
2249 | </condition_event_rule_matches> | |
2250 | <error_query_results> | |
2251 | <error_query_result> | |
2252 | <name>discarded tracer messages</name> | |
2253 | <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description> | |
2254 | <error_query_result_counter> | |
2255 | <value>0</value> | |
2256 | </error_query_result_counter> | |
2257 | </error_query_result> | |
2258 | </error_query_results> | |
2259 | </condition> | |
2260 | <action> | |
2261 | <action_list> | |
2262 | <action> | |
2263 | <action_snapshot_session> | |
2264 | <session_name>ze-session</session_name> | |
2265 | <output> | |
2266 | <ctrl_url>net://1.2.3.4:1234:1235</ctrl_url> | |
2267 | </output> | |
2268 | <rate_policy> | |
2269 | <rate_policy_every_n> | |
2270 | <interval>1</interval> | |
2271 | </rate_policy_every_n> | |
2272 | </rate_policy> | |
2273 | </action_snapshot_session> | |
2274 | <error_query_results> | |
2275 | <error_query_result> | |
2276 | <name>total execution failures</name> | |
2277 | <description>Aggregated count of errors encountered when executing the action</description> | |
2278 | <error_query_result_counter> | |
2279 | <value>0</value> | |
2280 | </error_query_result_counter> | |
2281 | </error_query_result> | |
2282 | </error_query_results> | |
2283 | </action> | |
2284 | </action_list> | |
2285 | </action> | |
2286 | <error_query_results/> | |
2287 | </trigger> | |
2288 | <trigger> | |
2289 | <name>T5</name> | |
2290 | <owner_uid>${uid}</owner_uid> | |
2291 | <condition> | |
2292 | <condition_event_rule_matches> | |
2293 | <event_rule> | |
2294 | <event_rule_user_tracepoint> | |
2295 | <name_pattern>some-event</name_pattern> | |
2296 | </event_rule_user_tracepoint> | |
2297 | </event_rule> | |
2298 | <capture_descriptors/> | |
2299 | </condition_event_rule_matches> | |
2300 | <error_query_results> | |
2301 | <error_query_result> | |
2302 | <name>discarded tracer messages</name> | |
2303 | <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description> | |
2304 | <error_query_result_counter> | |
2305 | <value>0</value> | |
2306 | </error_query_result_counter> | |
2307 | </error_query_result> | |
2308 | </error_query_results> | |
2309 | </condition> | |
2310 | <action> | |
2311 | <action_list> | |
2312 | <action> | |
2313 | <action_snapshot_session> | |
2314 | <session_name>ze-session</session_name> | |
2315 | <output> | |
2316 | <ctrl_url>tcp://1.2.3.4:1111</ctrl_url> | |
2317 | <data_url>tcp://1.2.3.4:1112</data_url> | |
2318 | </output> | |
2319 | <rate_policy> | |
2320 | <rate_policy_every_n> | |
2321 | <interval>1</interval> | |
2322 | </rate_policy_every_n> | |
2323 | </rate_policy> | |
2324 | </action_snapshot_session> | |
2325 | <error_query_results> | |
2326 | <error_query_result> | |
2327 | <name>total execution failures</name> | |
2328 | <description>Aggregated count of errors encountered when executing the action</description> | |
2329 | <error_query_result_counter> | |
2330 | <value>0</value> | |
2331 | </error_query_result_counter> | |
2332 | </error_query_result> | |
2333 | </error_query_results> | |
2334 | </action> | |
2335 | </action_list> | |
2336 | </action> | |
2337 | <error_query_results/> | |
2338 | </trigger> | |
2339 | <trigger> | |
2340 | <name>T6</name> | |
2341 | <owner_uid>${uid}</owner_uid> | |
2342 | <condition> | |
2343 | <condition_event_rule_matches> | |
2344 | <event_rule> | |
2345 | <event_rule_user_tracepoint> | |
2346 | <name_pattern>some-event</name_pattern> | |
2347 | </event_rule_user_tracepoint> | |
2348 | </event_rule> | |
2349 | <capture_descriptors/> | |
2350 | </condition_event_rule_matches> | |
2351 | <error_query_results> | |
2352 | <error_query_result> | |
2353 | <name>discarded tracer messages</name> | |
2354 | <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description> | |
2355 | <error_query_result_counter> | |
2356 | <value>0</value> | |
2357 | </error_query_result_counter> | |
2358 | </error_query_result> | |
2359 | </error_query_results> | |
2360 | </condition> | |
2361 | <action> | |
2362 | <action_list> | |
2363 | <action> | |
2364 | <action_snapshot_session> | |
2365 | <session_name>ze-session</session_name> | |
2366 | <output> | |
2367 | <ctrl_url>/some/path</ctrl_url> | |
2368 | <max_size>1234</max_size> | |
2369 | </output> | |
2370 | <rate_policy> | |
2371 | <rate_policy_every_n> | |
2372 | <interval>1</interval> | |
2373 | </rate_policy_every_n> | |
2374 | </rate_policy> | |
2375 | </action_snapshot_session> | |
2376 | <error_query_results> | |
2377 | <error_query_result> | |
2378 | <name>total execution failures</name> | |
2379 | <description>Aggregated count of errors encountered when executing the action</description> | |
2380 | <error_query_result_counter> | |
2381 | <value>0</value> | |
2382 | </error_query_result_counter> | |
2383 | </error_query_result> | |
2384 | </error_query_results> | |
2385 | </action> | |
2386 | </action_list> | |
2387 | </action> | |
2388 | <error_query_results/> | |
2389 | </trigger> | |
2390 | <trigger> | |
2391 | <name>T7</name> | |
2392 | <owner_uid>${uid}</owner_uid> | |
2393 | <condition> | |
2394 | <condition_event_rule_matches> | |
2395 | <event_rule> | |
2396 | <event_rule_user_tracepoint> | |
2397 | <name_pattern>some-event</name_pattern> | |
2398 | </event_rule_user_tracepoint> | |
2399 | </event_rule> | |
2400 | <capture_descriptors/> | |
2401 | </condition_event_rule_matches> | |
2402 | <error_query_results> | |
2403 | <error_query_result> | |
2404 | <name>discarded tracer messages</name> | |
2405 | <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description> | |
2406 | <error_query_result_counter> | |
2407 | <value>0</value> | |
2408 | </error_query_result_counter> | |
2409 | </error_query_result> | |
2410 | </error_query_results> | |
2411 | </condition> | |
2412 | <action> | |
2413 | <action_list> | |
2414 | <action> | |
2415 | <action_snapshot_session> | |
2416 | <session_name>ze-session</session_name> | |
2417 | <output> | |
2418 | <name>meh</name> | |
2419 | <ctrl_url>/some/path</ctrl_url> | |
2420 | </output> | |
2421 | <rate_policy> | |
2422 | <rate_policy_every_n> | |
2423 | <interval>1</interval> | |
2424 | </rate_policy_every_n> | |
2425 | </rate_policy> | |
2426 | </action_snapshot_session> | |
2427 | <error_query_results> | |
2428 | <error_query_result> | |
2429 | <name>total execution failures</name> | |
2430 | <description>Aggregated count of errors encountered when executing the action</description> | |
2431 | <error_query_result_counter> | |
2432 | <value>0</value> | |
2433 | </error_query_result_counter> | |
2434 | </error_query_result> | |
2435 | </error_query_results> | |
2436 | </action> | |
2437 | </action_list> | |
2438 | </action> | |
2439 | <error_query_results/> | |
2440 | </trigger> | |
2441 | <trigger> | |
2442 | <name>T8</name> | |
2443 | <owner_uid>${uid}</owner_uid> | |
2444 | <condition> | |
2445 | <condition_event_rule_matches> | |
2446 | <event_rule> | |
2447 | <event_rule_user_tracepoint> | |
2448 | <name_pattern>some-event</name_pattern> | |
2449 | </event_rule_user_tracepoint> | |
2450 | </event_rule> | |
2451 | <capture_descriptors/> | |
2452 | </condition_event_rule_matches> | |
2453 | <error_query_results> | |
2454 | <error_query_result> | |
2455 | <name>discarded tracer messages</name> | |
2456 | <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description> | |
2457 | <error_query_result_counter> | |
2458 | <value>0</value> | |
2459 | </error_query_result_counter> | |
2460 | </error_query_result> | |
2461 | </error_query_results> | |
2462 | </condition> | |
2463 | <action> | |
2464 | <action_list> | |
2465 | <action> | |
2466 | <action_snapshot_session> | |
2467 | <session_name>ze-session</session_name> | |
2468 | <rate_policy> | |
2469 | <rate_policy_every_n> | |
2470 | <interval>10</interval> | |
2471 | </rate_policy_every_n> | |
2472 | </rate_policy> | |
2473 | </action_snapshot_session> | |
2474 | <error_query_results> | |
2475 | <error_query_result> | |
2476 | <name>total execution failures</name> | |
2477 | <description>Aggregated count of errors encountered when executing the action</description> | |
2478 | <error_query_result_counter> | |
2479 | <value>0</value> | |
2480 | </error_query_result_counter> | |
2481 | </error_query_result> | |
2482 | </error_query_results> | |
2483 | </action> | |
2484 | </action_list> | |
2485 | </action> | |
2486 | <error_query_results/> | |
2487 | </trigger> | |
2488 | <trigger> | |
2489 | <name>T9</name> | |
2490 | <owner_uid>${uid}</owner_uid> | |
2491 | <condition> | |
2492 | <condition_event_rule_matches> | |
2493 | <event_rule> | |
2494 | <event_rule_user_tracepoint> | |
2495 | <name_pattern>some-event</name_pattern> | |
2496 | </event_rule_user_tracepoint> | |
2497 | </event_rule> | |
2498 | <capture_descriptors/> | |
2499 | </condition_event_rule_matches> | |
2500 | <error_query_results> | |
2501 | <error_query_result> | |
2502 | <name>discarded tracer messages</name> | |
2503 | <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description> | |
2504 | <error_query_result_counter> | |
2505 | <value>0</value> | |
2506 | </error_query_result_counter> | |
2507 | </error_query_result> | |
2508 | </error_query_results> | |
2509 | </condition> | |
2510 | <action> | |
2511 | <action_list> | |
2512 | <action> | |
2513 | <action_snapshot_session> | |
2514 | <session_name>ze-session</session_name> | |
2515 | <rate_policy> | |
2516 | <rate_policy_once_after_n> | |
2517 | <threshold>10</threshold> | |
2518 | </rate_policy_once_after_n> | |
2519 | </rate_policy> | |
2520 | </action_snapshot_session> | |
2521 | <error_query_results> | |
2522 | <error_query_result> | |
2523 | <name>total execution failures</name> | |
2524 | <description>Aggregated count of errors encountered when executing the action</description> | |
2525 | <error_query_result_counter> | |
2526 | <value>0</value> | |
2527 | </error_query_result_counter> | |
2528 | </error_query_result> | |
2529 | </error_query_results> | |
2530 | </action> | |
2531 | </action_list> | |
2532 | </action> | |
2533 | <error_query_results/> | |
2534 | </trigger> | |
2535 | </triggers> | |
2536 | </output> | |
2537 | </command> | |
2538 | EOF | |
2539 | ||
be7f9dfc | 2540 | list_triggers_matches_ok "snapshot action" "${tmp_expected_stdout}" |
831f8599 | 2541 | list_triggers_matches_mi_ok "MI snapshot action" "${tmp_expected_stdout_mi}" |
e45dd625 | 2542 | |
665db063 SM |
2543 | lttng_remove_trigger_ok "T0" |
2544 | lttng_remove_trigger_ok "T1" | |
2545 | lttng_remove_trigger_ok "T2" | |
2546 | lttng_remove_trigger_ok "T3" | |
2547 | lttng_remove_trigger_ok "T4" | |
2548 | lttng_remove_trigger_ok "T5" | |
2549 | lttng_remove_trigger_ok "T6" | |
2550 | lttng_remove_trigger_ok "T7" | |
2551 | lttng_remove_trigger_ok "T8" | |
2552 | lttng_remove_trigger_ok "T9" | |
e45dd625 JR |
2553 | } |
2554 | ||
2555 | test_notify_action () | |
2556 | { | |
45ce77e1 JR |
2557 | lttng_add_trigger_ok "T0" --condition event-rule-matches --type=user --name=some-event --action notify --rate-policy=once-after:5 |
2558 | lttng_add_trigger_ok "T1" --condition event-rule-matches --type=user --name=some-event --action notify --rate-policy=every:10 | |
e45dd625 JR |
2559 | |
2560 | cat > "${tmp_expected_stdout}" <<- EOF | |
1d4b59f2 | 2561 | - name: T0 |
481c5310 | 2562 | owner uid: ${uid} |
e1e94513 | 2563 | condition: event rule matches |
45ce77e1 | 2564 | rule: some-event (type: user tracepoint) |
8ce7c93a | 2565 | errors: none |
e45dd625 | 2566 | actions: |
7f4d5b07 | 2567 | notify, rate policy: once after 5 occurrences |
709fb83f JG |
2568 | errors: none |
2569 | errors: none | |
1d4b59f2 | 2570 | - name: T1 |
481c5310 | 2571 | owner uid: ${uid} |
e1e94513 | 2572 | condition: event rule matches |
45ce77e1 | 2573 | rule: some-event (type: user tracepoint) |
8ce7c93a | 2574 | errors: none |
e45dd625 | 2575 | actions: |
8dcad494 | 2576 | notify, rate policy: every 10 occurrences |
709fb83f JG |
2577 | errors: none |
2578 | errors: none | |
0de2479d SM |
2579 | EOF |
2580 | ||
831f8599 JR |
2581 | cat > "${tmp_expected_stdout_mi}" <<- EOF |
2582 | <?xml version="1.0" encoding="UTF-8"?> | |
03f930ba | 2583 | <command xmlns="https://lttng.org/xml/ns/lttng-mi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://lttng.org/xml/ns/lttng-mi https://lttng.org/xml/schemas/lttng-mi/${MI_XSD_MAJOR_VERSION}/lttng-mi-${MI_XSD_MAJOR_VERSION}.${MI_XSD_MINOR_VERSION}.xsd" schemaVersion="${MI_XSD_MAJOR_VERSION}.${MI_XSD_MINOR_VERSION}"> |
831f8599 JR |
2584 | <name>list-trigger</name> |
2585 | <output> | |
2586 | <triggers> | |
2587 | <trigger> | |
2588 | <name>T0</name> | |
2589 | <owner_uid>${uid}</owner_uid> | |
2590 | <condition> | |
2591 | <condition_event_rule_matches> | |
2592 | <event_rule> | |
2593 | <event_rule_user_tracepoint> | |
2594 | <name_pattern>some-event</name_pattern> | |
2595 | </event_rule_user_tracepoint> | |
2596 | </event_rule> | |
2597 | <capture_descriptors/> | |
2598 | </condition_event_rule_matches> | |
2599 | <error_query_results> | |
2600 | <error_query_result> | |
2601 | <name>discarded tracer messages</name> | |
2602 | <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description> | |
2603 | <error_query_result_counter> | |
2604 | <value>0</value> | |
2605 | </error_query_result_counter> | |
2606 | </error_query_result> | |
2607 | </error_query_results> | |
2608 | </condition> | |
2609 | <action> | |
2610 | <action_list> | |
2611 | <action> | |
2612 | <action_notify> | |
2613 | <rate_policy> | |
2614 | <rate_policy_once_after_n> | |
2615 | <threshold>5</threshold> | |
2616 | </rate_policy_once_after_n> | |
2617 | </rate_policy> | |
2618 | </action_notify> | |
2619 | <error_query_results> | |
2620 | <error_query_result> | |
2621 | <name>total execution failures</name> | |
2622 | <description>Aggregated count of errors encountered when executing the action</description> | |
2623 | <error_query_result_counter> | |
2624 | <value>0</value> | |
2625 | </error_query_result_counter> | |
2626 | </error_query_result> | |
2627 | </error_query_results> | |
2628 | </action> | |
2629 | </action_list> | |
2630 | </action> | |
2631 | <error_query_results/> | |
2632 | </trigger> | |
2633 | <trigger> | |
2634 | <name>T1</name> | |
2635 | <owner_uid>${uid}</owner_uid> | |
2636 | <condition> | |
2637 | <condition_event_rule_matches> | |
2638 | <event_rule> | |
2639 | <event_rule_user_tracepoint> | |
2640 | <name_pattern>some-event</name_pattern> | |
2641 | </event_rule_user_tracepoint> | |
2642 | </event_rule> | |
2643 | <capture_descriptors/> | |
2644 | </condition_event_rule_matches> | |
2645 | <error_query_results> | |
2646 | <error_query_result> | |
2647 | <name>discarded tracer messages</name> | |
2648 | <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description> | |
2649 | <error_query_result_counter> | |
2650 | <value>0</value> | |
2651 | </error_query_result_counter> | |
2652 | </error_query_result> | |
2653 | </error_query_results> | |
2654 | </condition> | |
2655 | <action> | |
2656 | <action_list> | |
2657 | <action> | |
2658 | <action_notify> | |
2659 | <rate_policy> | |
2660 | <rate_policy_every_n> | |
2661 | <interval>10</interval> | |
2662 | </rate_policy_every_n> | |
2663 | </rate_policy> | |
2664 | </action_notify> | |
2665 | <error_query_results> | |
2666 | <error_query_result> | |
2667 | <name>total execution failures</name> | |
2668 | <description>Aggregated count of errors encountered when executing the action</description> | |
2669 | <error_query_result_counter> | |
2670 | <value>0</value> | |
2671 | </error_query_result_counter> | |
2672 | </error_query_result> | |
2673 | </error_query_results> | |
2674 | </action> | |
2675 | </action_list> | |
2676 | </action> | |
2677 | <error_query_results/> | |
2678 | </trigger> | |
2679 | </triggers> | |
2680 | </output> | |
2681 | </command> | |
2682 | EOF | |
2683 | ||
19904669 | 2684 | list_triggers_matches_ok "notify action" "${tmp_expected_stdout}" |
831f8599 | 2685 | list_triggers_matches_mi_ok "MI notify action" "${tmp_expected_stdout_mi}" |
0de2479d | 2686 | |
be7f9dfc FD |
2687 | lttng_remove_trigger_ok "T0" |
2688 | lttng_remove_trigger_ok "T1" | |
0de2479d SM |
2689 | } |
2690 | ||
be7f9dfc FD |
2691 | plan_tests $NUM_TESTS |
2692 | ||
2693 | # shellcheck disable=SC2119 | |
2694 | start_lttng_sessiond_notap | |
2695 | ||
0de2479d | 2696 | test_top_level_options |
8dbb86b8 | 2697 | test_event_rule_matches_tracepoint |
831f8599 JR |
2698 | skip $ist_root "non-root user: skipping kprobe tests" 13 || test_event_rule_matches_probe |
2699 | skip $ist_root "non-root user: skipping uprobe tests" 9 || test_event_rule_matches_userspace_probe_elf | |
2700 | skip $(($ist_root && $hast_sdt_binary)) "skipping userspace probe SDT tests" 9 || test_event_rule_matches_userspace_probe_sdt | |
2701 | skip $ist_root "non-root user: skipping syscall tests" 17 || test_event_rule_matches_syscall | |
19904669 SM |
2702 | test_session_consumed_size_condition |
2703 | test_buffer_usage_conditions | |
2704 | test_session_rotation_conditions | |
0de2479d | 2705 | test_snapshot_action |
e45dd625 | 2706 | test_notify_action |
0de2479d | 2707 | |
be7f9dfc FD |
2708 | stop_lttng_sessiond_notap |
2709 | ||
0de2479d SM |
2710 | # Cleanup |
2711 | rm -f "${tmp_stdout}" | |
2712 | rm -f "${tmp_stderr}" | |
2713 | rm -f "${tmp_expected_stdout}" |