Tests: fix: list triggers: bc missing on system
[lttng-tools.git] / tests / regression / tools / trigger / test_list_triggers_cli
CommitLineData
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
20CURDIR="$(dirname "$0")"
21TESTDIR="$CURDIR/../../.."
22
23# shellcheck source=../../../utils/utils.sh
24source "$TESTDIR/utils/utils.sh"
25
831f8599 26NUM_TESTS=150
0de2479d
SM
27
28FULL_LTTNG_BIN="${TESTDIR}/../src/bin/lttng/${LTTNG_BIN}"
29
7539dcec
FD
30tmp_stdout=$(mktemp --tmpdir -t test_list_triggers_cli_stdout.XXXXXX)
31tmp_stderr=$(mktemp --tmpdir -t test_list_triggers_cli_stderr.XXXXXX)
32tmp_expected_stdout=$(mktemp --tmpdir -t test_list_triggers_cli_expected_stdout.XXXXXX)
831f8599 33tmp_expected_stdout_mi=$(mktemp --tmpdir -t test_list_triggers_cli_expected_stdout.mi.XXXXXX)
0de2479d 34uprobe_elf_binary=$(realpath "${TESTDIR}/utils/testapp/userspace-probe-elf-binary/.libs/userspace-probe-elf-binary")
8a917ae8 35uprobe_sdt_binary=$(realpath "${TESTDIR}/utils/testapp/userspace-probe-sdt-binary/.libs/userspace-probe-sdt-binary")
19904669 36register_some_triggers_bin=$(realpath "${CURDIR}/utils/register-some-triggers")
0de2479d
SM
37
38uid=$(id --user)
39gid=$(id --group)
40
41if [ "$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
49else
50 ist_root=0
8a917ae8 51 hast_sdt_binary=0
0de2479d
SM
52fi
53
be7f9dfc 54
0de2479d
SM
55test_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 136test_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 795test_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 1027test_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 1120test_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 1214test_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 &gt; 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
1530test_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
1599test_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
1818test_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
1927test_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
2555test_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
2691plan_tests $NUM_TESTS
2692
2693# shellcheck disable=SC2119
2694start_lttng_sessiond_notap
2695
0de2479d 2696test_top_level_options
8dbb86b8 2697test_event_rule_matches_tracepoint
831f8599
JR
2698skip $ist_root "non-root user: skipping kprobe tests" 13 || test_event_rule_matches_probe
2699skip $ist_root "non-root user: skipping uprobe tests" 9 || test_event_rule_matches_userspace_probe_elf
2700skip $(($ist_root && $hast_sdt_binary)) "skipping userspace probe SDT tests" 9 || test_event_rule_matches_userspace_probe_sdt
2701skip $ist_root "non-root user: skipping syscall tests" 17 || test_event_rule_matches_syscall
19904669
SM
2702test_session_consumed_size_condition
2703test_buffer_usage_conditions
2704test_session_rotation_conditions
0de2479d 2705test_snapshot_action
e45dd625 2706test_notify_action
0de2479d 2707
be7f9dfc
FD
2708stop_lttng_sessiond_notap
2709
0de2479d
SM
2710# Cleanup
2711rm -f "${tmp_stdout}"
2712rm -f "${tmp_stderr}"
2713rm -f "${tmp_expected_stdout}"
This page took 0.148834 seconds and 5 git commands to generate.